From 6e76f1a882d20cc21d1394fe0d11bb17842fe253 Mon Sep 17 00:00:00 2001 From: Daniel Schmidt Date: Wed, 7 Jun 2023 17:42:17 +0200 Subject: [PATCH] docs: add CDKTF documentation for `ec2_*` resources/datasource and update script (#31596) * chore: add PR based workflow for cdktf docs * docs: update cdktf documentation * chore: update dependencies * chore: add ignore flag * chore: pin github action versions * chore: run go mod tidy * chore: don't use version detection anymore --- .github/workflows/cdktf-documentation.yml | 53 ++++ .github/workflows/terraform_provider.yml | 9 +- .../d/ec2_client_vpn_endpoint.html.markdown | 96 +++++++ .../python/d/ec2_coip_pool.html.markdown | 69 +++++ .../python/d/ec2_coip_pools.html.markdown | 52 ++++ .../cdktf/python/d/ec2_host.html.markdown | 95 +++++++ .../python/d/ec2_instance_type.html.markdown | 108 ++++++++ .../ec2_instance_type_offering.html.markdown | 60 +++++ .../ec2_instance_type_offerings.html.markdown | 66 +++++ .../python/d/ec2_instance_types.html.markdown | 66 +++++ .../python/d/ec2_local_gateway.html.markdown | 78 ++++++ ...c2_local_gateway_route_table.html.markdown | 69 +++++ ...2_local_gateway_route_tables.html.markdown | 62 +++++ ...al_gateway_virtual_interface.html.markdown | 55 ++++ ...eway_virtual_interface_group.html.markdown | 49 ++++ ...way_virtual_interface_groups.html.markdown | 55 ++++ .../python/d/ec2_local_gateways.html.markdown | 66 +++++ .../d/ec2_managed_prefix_list.html.markdown | 89 ++++++ .../d/ec2_managed_prefix_lists.html.markdown | 74 +++++ ...c2_network_insights_analysis.html.markdown | 54 ++++ .../d/ec2_network_insights_path.html.markdown | 50 ++++ .../d/ec2_public_ipv4_pool.html.markdown | 52 ++++ .../d/ec2_public_ipv4_pools.html.markdown | 66 +++++ .../d/ec2_serial_console_access.html.markdown | 40 +++ .../python/d/ec2_spot_price.html.markdown | 62 +++++ .../d/ec2_transit_gateway.html.markdown | 89 ++++++ ...2_transit_gateway_attachment.html.markdown | 56 ++++ ..._transit_gateway_attachments.html.markdown | 62 +++++ .../ec2_transit_gateway_connect.html.markdown | 78 ++++++ ...transit_gateway_connect_peer.html.markdown | 81 ++++++ ...ateway_dx_gateway_attachment.html.markdown | 53 ++++ ...sit_gateway_multicast_domain.html.markdown | 95 +++++++ ...t_gateway_peering_attachment.html.markdown | 83 ++++++ ..._transit_gateway_route_table.html.markdown | 83 ++++++ ...way_route_table_associations.html.markdown | 49 ++++ ...way_route_table_propagations.html.markdown | 49 ++++ ...transit_gateway_route_tables.html.markdown | 56 ++++ ...ansit_gateway_vpc_attachment.html.markdown | 83 ++++++ ...nsit_gateway_vpc_attachments.html.markdown | 74 +++++ ...ansit_gateway_vpn_attachment.html.markdown | 75 ++++++ .../ec2_availability_zone_group.html.markdown | 53 ++++ .../r/ec2_capacity_reservation.html.markdown | 67 +++++ .../r/ec2_carrier_gateway.html.markdown | 50 ++++ ...lient_vpn_authorization_rule.html.markdown | 57 ++++ .../r/ec2_client_vpn_endpoint.html.markdown | 101 +++++++ ...ient_vpn_network_association.html.markdown | 53 ++++ .../r/ec2_client_vpn_route.html.markdown | 76 ++++++ .../cdktf/python/r/ec2_fleet.html.markdown | 234 ++++++++++++++++ .../cdktf/python/r/ec2_host.html.markdown | 61 +++++ .../python/r/ec2_instance_state.html.markdown | 86 ++++++ .../r/ec2_local_gateway_route.html.markdown | 45 ++++ ..._route_table_vpc_association.html.markdown | 68 +++++ .../r/ec2_managed_prefix_list.html.markdown | 84 ++++++ ...c2_managed_prefix_list_entry.html.markdown | 69 +++++ ...c2_network_insights_analysis.html.markdown | 69 +++++ .../r/ec2_network_insights_path.html.markdown | 54 ++++ .../r/ec2_serial_console_access.html.markdown | 49 ++++ .../ec2_subnet_cidr_reservation.html.markdown | 47 ++++ .../docs/cdktf/python/r/ec2_tag.html.markdown | 75 ++++++ .../r/ec2_traffic_mirror_filter.html.markdown | 57 ++++ ...2_traffic_mirror_filter_rule.html.markdown | 96 +++++++ .../ec2_traffic_mirror_session.html.markdown | 67 +++++ .../r/ec2_traffic_mirror_target.html.markdown | 64 +++++ .../r/ec2_transit_gateway.html.markdown | 74 +++++ .../ec2_transit_gateway_connect.html.markdown | 62 +++++ ...transit_gateway_connect_peer.html.markdown | 62 +++++ ...sit_gateway_multicast_domain.html.markdown | 173 ++++++++++++ ...multicast_domain_association.html.markdown | 58 ++++ ...teway_multicast_group_member.html.markdown | 38 +++ ...teway_multicast_group_source.html.markdown | 38 +++ ...t_gateway_peering_attachment.html.markdown | 92 +++++++ ..._peering_attachment_accepter.html.markdown | 52 ++++ ...transit_gateway_policy_table.html.markdown | 49 ++++ ...way_policy_table_association.html.markdown | 45 ++++ ...ateway_prefix_list_reference.html.markdown | 61 +++++ .../r/ec2_transit_gateway_route.html.markdown | 58 ++++ ..._transit_gateway_route_table.html.markdown | 46 ++++ ...eway_route_table_association.html.markdown | 45 ++++ ...eway_route_table_propagation.html.markdown | 45 ++++ ...ansit_gateway_vpc_attachment.html.markdown | 55 ++++ ...eway_vpc_attachment_accepter.html.markdown | 64 +++++ .../d/ec2_client_vpn_endpoint.html.markdown | 111 ++++++++ .../typescript/d/ec2_coip_pool.html.markdown | 69 +++++ .../typescript/d/ec2_coip_pools.html.markdown | 52 ++++ .../cdktf/typescript/d/ec2_host.html.markdown | 106 ++++++++ .../d/ec2_instance_type.html.markdown | 111 ++++++++ .../ec2_instance_type_offering.html.markdown | 68 +++++ .../ec2_instance_type_offerings.html.markdown | 75 ++++++ .../d/ec2_instance_types.html.markdown | 73 +++++ .../d/ec2_local_gateway.html.markdown | 85 ++++++ ...c2_local_gateway_route_table.html.markdown | 80 ++++++ ...2_local_gateway_route_tables.html.markdown | 69 +++++ ...al_gateway_virtual_interface.html.markdown | 55 ++++ ...eway_virtual_interface_group.html.markdown | 49 ++++ ...way_virtual_interface_groups.html.markdown | 62 +++++ .../d/ec2_local_gateways.html.markdown | 69 +++++ .../d/ec2_managed_prefix_list.html.markdown | 108 ++++++++ .../d/ec2_managed_prefix_lists.html.markdown | 89 ++++++ ...c2_network_insights_analysis.html.markdown | 54 ++++ .../d/ec2_network_insights_path.html.markdown | 50 ++++ .../d/ec2_public_ipv4_pool.html.markdown | 55 ++++ .../d/ec2_public_ipv4_pools.html.markdown | 81 ++++++ .../d/ec2_serial_console_access.html.markdown | 47 ++++ .../typescript/d/ec2_spot_price.html.markdown | 66 +++++ .../d/ec2_transit_gateway.html.markdown | 96 +++++++ ...2_transit_gateway_attachment.html.markdown | 56 ++++ ..._transit_gateway_attachments.html.markdown | 62 +++++ .../ec2_transit_gateway_connect.html.markdown | 93 +++++++ ...transit_gateway_connect_peer.html.markdown | 96 +++++++ ...ateway_dx_gateway_attachment.html.markdown | 53 ++++ ...sit_gateway_multicast_domain.html.markdown | 110 ++++++++ ...t_gateway_peering_attachment.html.markdown | 98 +++++++ ..._transit_gateway_route_table.html.markdown | 99 +++++++ ...way_route_table_associations.html.markdown | 49 ++++ ...way_route_table_propagations.html.markdown | 49 ++++ ...transit_gateway_route_tables.html.markdown | 56 ++++ ...ansit_gateway_vpc_attachment.html.markdown | 98 +++++++ ...nsit_gateway_vpc_attachments.html.markdown | 91 +++++++ ...ansit_gateway_vpn_attachment.html.markdown | 83 ++++++ .../ec2_availability_zone_group.html.markdown | 56 ++++ .../r/ec2_capacity_reservation.html.markdown | 70 +++++ .../r/ec2_carrier_gateway.html.markdown | 50 ++++ ...lient_vpn_authorization_rule.html.markdown | 57 ++++ .../r/ec2_client_vpn_endpoint.html.markdown | 101 +++++++ ...ient_vpn_network_association.html.markdown | 53 ++++ .../r/ec2_client_vpn_route.html.markdown | 76 ++++++ .../typescript/r/ec2_fleet.html.markdown | 234 ++++++++++++++++ .../cdktf/typescript/r/ec2_host.html.markdown | 64 +++++ .../r/ec2_instance_state.html.markdown | 95 +++++++ .../r/ec2_local_gateway_route.html.markdown | 45 ++++ ..._route_table_vpc_association.html.markdown | 84 ++++++ .../r/ec2_managed_prefix_list.html.markdown | 84 ++++++ ...c2_managed_prefix_list_entry.html.markdown | 69 +++++ ...c2_network_insights_analysis.html.markdown | 69 +++++ .../r/ec2_network_insights_path.html.markdown | 54 ++++ .../r/ec2_serial_console_access.html.markdown | 52 ++++ .../ec2_subnet_cidr_reservation.html.markdown | 47 ++++ .../cdktf/typescript/r/ec2_tag.html.markdown | 88 ++++++ .../r/ec2_traffic_mirror_filter.html.markdown | 60 +++++ ...2_traffic_mirror_filter_rule.html.markdown | 111 ++++++++ .../ec2_traffic_mirror_session.html.markdown | 67 +++++ .../r/ec2_traffic_mirror_target.html.markdown | 64 +++++ .../r/ec2_transit_gateway.html.markdown | 77 ++++++ .../ec2_transit_gateway_connect.html.markdown | 62 +++++ ...transit_gateway_connect_peer.html.markdown | 62 +++++ ...sit_gateway_multicast_domain.html.markdown | 253 ++++++++++++++++++ ...multicast_domain_association.html.markdown | 58 ++++ ...teway_multicast_group_member.html.markdown | 38 +++ ...teway_multicast_group_source.html.markdown | 38 +++ ...t_gateway_peering_attachment.html.markdown | 103 +++++++ ..._peering_attachment_accepter.html.markdown | 52 ++++ ...transit_gateway_policy_table.html.markdown | 49 ++++ ...way_policy_table_association.html.markdown | 45 ++++ ...ateway_prefix_list_reference.html.markdown | 61 +++++ .../r/ec2_transit_gateway_route.html.markdown | 58 ++++ ..._transit_gateway_route_table.html.markdown | 46 ++++ ...eway_route_table_association.html.markdown | 45 ++++ ...eway_route_table_propagation.html.markdown | 45 ++++ ...ansit_gateway_vpc_attachment.html.markdown | 55 ++++ ...eway_vpc_attachment_accepter.html.markdown | 64 +++++ 160 files changed, 11290 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/cdktf-documentation.yml create mode 100644 website/docs/cdktf/python/d/ec2_client_vpn_endpoint.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_coip_pool.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_coip_pools.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_host.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_instance_type.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_instance_type_offering.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_instance_type_offerings.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_instance_types.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_local_gateway.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_local_gateway_route_table.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_local_gateway_route_tables.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_local_gateway_virtual_interface.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_local_gateway_virtual_interface_group.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_local_gateway_virtual_interface_groups.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_local_gateways.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_managed_prefix_list.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_managed_prefix_lists.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_network_insights_analysis.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_network_insights_path.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_public_ipv4_pool.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_public_ipv4_pools.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_serial_console_access.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_spot_price.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_attachment.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_attachments.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_connect.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_connect_peer.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_dx_gateway_attachment.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_multicast_domain.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_peering_attachment.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_route_table.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_route_table_associations.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_route_table_propagations.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_route_tables.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_vpc_attachment.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_vpc_attachments.html.markdown create mode 100644 website/docs/cdktf/python/d/ec2_transit_gateway_vpn_attachment.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_availability_zone_group.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_capacity_reservation.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_carrier_gateway.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_client_vpn_authorization_rule.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_client_vpn_endpoint.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_client_vpn_network_association.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_client_vpn_route.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_fleet.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_host.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_instance_state.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_local_gateway_route.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_local_gateway_route_table_vpc_association.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_managed_prefix_list.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_managed_prefix_list_entry.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_network_insights_analysis.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_network_insights_path.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_serial_console_access.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_subnet_cidr_reservation.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_tag.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_traffic_mirror_filter.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_traffic_mirror_filter_rule.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_traffic_mirror_session.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_traffic_mirror_target.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_connect.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_connect_peer.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_multicast_domain.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_multicast_domain_association.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_multicast_group_member.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_multicast_group_source.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_peering_attachment.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_peering_attachment_accepter.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_policy_table.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_policy_table_association.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_prefix_list_reference.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_route.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_route_table.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_route_table_association.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_route_table_propagation.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_vpc_attachment.html.markdown create mode 100644 website/docs/cdktf/python/r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_client_vpn_endpoint.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_coip_pool.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_coip_pools.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_host.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_instance_type.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_instance_type_offering.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_instance_type_offerings.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_instance_types.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_local_gateway.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_local_gateway_route_table.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_local_gateway_route_tables.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_local_gateway_virtual_interface.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_local_gateway_virtual_interface_group.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_local_gateway_virtual_interface_groups.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_local_gateways.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_managed_prefix_list.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_managed_prefix_lists.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_network_insights_analysis.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_network_insights_path.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_public_ipv4_pool.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_public_ipv4_pools.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_serial_console_access.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_spot_price.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_attachment.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_attachments.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_connect.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_connect_peer.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_dx_gateway_attachment.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_multicast_domain.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_peering_attachment.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_route_table.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_route_table_associations.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_route_table_propagations.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_route_tables.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_vpc_attachment.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_vpc_attachments.html.markdown create mode 100644 website/docs/cdktf/typescript/d/ec2_transit_gateway_vpn_attachment.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_availability_zone_group.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_capacity_reservation.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_carrier_gateway.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_client_vpn_authorization_rule.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_client_vpn_endpoint.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_client_vpn_network_association.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_client_vpn_route.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_fleet.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_host.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_instance_state.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_local_gateway_route.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_local_gateway_route_table_vpc_association.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_managed_prefix_list.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_managed_prefix_list_entry.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_network_insights_analysis.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_network_insights_path.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_serial_console_access.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_subnet_cidr_reservation.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_tag.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_traffic_mirror_filter.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_traffic_mirror_filter_rule.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_traffic_mirror_session.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_traffic_mirror_target.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_connect.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_connect_peer.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_domain.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_domain_association.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_group_member.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_group_source.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_peering_attachment.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_peering_attachment_accepter.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_policy_table.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_policy_table_association.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_prefix_list_reference.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_route.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_route_table.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_route_table_association.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_route_table_propagation.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_vpc_attachment.html.markdown create mode 100644 website/docs/cdktf/typescript/r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown diff --git a/.github/workflows/cdktf-documentation.yml b/.github/workflows/cdktf-documentation.yml new file mode 100644 index 00000000000..6ab8ed1ef24 --- /dev/null +++ b/.github/workflows/cdktf-documentation.yml @@ -0,0 +1,53 @@ +name: CDKTF Documentation +on: + schedule: + - cron: "0 0 * * WED" + workflow_dispatch: {} + +permissions: + contents: write + pull-requests: write + +jobs: + cdktfDocs: + runs-on: ubuntu-latest + container: + image: docker.mirror.hashicorp.services/hashicorp/jsii-terraform + env: + CHECKPOINT_DISABLE: "1" + timeout-minutes: 120 + steps: + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - run: git config --global user.email "github-team-tf-cdk@hashicorp.com" + - run: git config --global user.name "team-tf-cdk" + - name: Get yarn cache directory path + id: global-cache-dir-path + run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT + - uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 + id: global-cache + with: + path: ${{ steps.global-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-integration-yarn-${{ hashFiles('**/yarn.lock') }} + - name: Setup Node.js + uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 + with: + node-version: "18.x" + - name: Install cdktf-registry-docs + run: npm install -g cdktf-registry-docs@1.11.0 + - name: Run conversion + run: | + cdktf-registry-docs convert \ + --files='*/ec2_*.html.markdown' \ + --languages='typescript,python' \ + --parallel-conversions-per-document=1 \ + --provider-from-registry="hashicorp/aws" \ + . + env: + TF_PLUGIN_CACHE_DIR: ${{ steps.global-cache-dir-path.outputs.dir }}/terraform-plugins + + - name: Create Pull Request + uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # v5.0.1 + with: + commit-message: "docs: update cdktf documentation" + title: "docs: update cdktf documentation" + body: "This PR updates the cdktf related documentation based on the current HCL-based documentation. It is automatically created by the cdktf-documentation GitHub action." diff --git a/.github/workflows/terraform_provider.yml b/.github/workflows/terraform_provider.yml index f8240ac2c8b..4810fcf507c 100644 --- a/.github/workflows/terraform_provider.yml +++ b/.github/workflows/terraform_provider.yml @@ -4,7 +4,7 @@ on: push: branches: - main - - 'release/**' + - "release/**" pull_request: paths: - .github/workflows/terraform_provider.yml @@ -265,7 +265,8 @@ jobs: -ignore-file-missing-resources aws_alb,aws_alb_listener,aws_alb_listener_certificate,aws_alb_listener_rule,aws_alb_target_group,aws_alb_target_group_attachment \ -provider-source registry.terraform.io/hashicorp/aws \ -providers-schema-json terraform-providers-schema/schema.json \ - -require-resource-subcategory + -require-resource-subcategory \ + -ignore-cdktf-missing-files markdown-lint: runs-on: ubuntu-latest @@ -273,5 +274,5 @@ jobs: - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab - uses: avto-dev/markdown-lint@04d43ee9191307b50935a753da3b775ab695eceb with: - args: '.' - ignore: './docs ./website/docs ./CHANGELOG.md ./internal/service/cloudformation/testdata/examplecompany-exampleservice-exampleresource/docs' + args: "." + ignore: "./docs ./website/docs ./CHANGELOG.md ./internal/service/cloudformation/testdata/examplecompany-exampleservice-exampleresource/docs" diff --git a/website/docs/cdktf/python/d/ec2_client_vpn_endpoint.html.markdown b/website/docs/cdktf/python/d/ec2_client_vpn_endpoint.html.markdown new file mode 100644 index 00000000000..964c619ccc9 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_client_vpn_endpoint.html.markdown @@ -0,0 +1,96 @@ +--- +subcategory: "VPN (Client)" +layout: "aws" +page_title: "AWS: aws_ec2_client_vpn_endpoint" +description: |- + Get information on an EC2 Client VPN endpoint +--- + +# Data Source: aws_ec2_client_vpn_endpoint + +Get information on an EC2 Client VPN endpoint. + +## Example Usage + +### By Filter + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_client_vpn_endpoint.DataAwsEc2ClientVpnEndpoint(self, "example", + filter=[DataAwsEc2ClientVpnEndpointFilter( + name="tag:Name", + values=["ExampleVpn"] + ) + ] + ) +``` + +### By Identifier + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_client_vpn_endpoint.DataAwsEc2ClientVpnEndpoint(self, "example", + client_vpn_endpoint_id="cvpn-endpoint-083cf50d6eb314f21" + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `client_vpn_endpoint_id` - (Optional) ID of the Client VPN endpoint. +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `tags` - (Optional) Map of tags, each pair of which must exactly match a pair on the desired endpoint. + +### filter + +This block allows for complex filters. You can use one or more `filter` blocks. + +The following arguments are required: + +* `name` - (Required) Name of the field to filter by, as defined by [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeClientVpnEndpoints.html). +* `values` - (Required) Set of values that are accepted for the given field. An endpoint will be selected if any one of the given values matches. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - The ARN of the Client VPN endpoint. +* `authentication_options` - Information about the authentication method used by the Client VPN endpoint. +* `client_cidr_block` - IPv4 address range, in CIDR notation, from which client IP addresses are assigned. +* `client_connect_options` - The options for managing connection authorization for new client connections. +* `client_login_banner_options` - Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established. +* `connection_log_options` - Information about the client connection logging options for the Client VPN endpoint. +* `description` - Brief description of the endpoint. +* `dns_name` - DNS name to be used by clients when connecting to the Client VPN endpoint. +* `dns_servers` - Information about the DNS servers to be used for DNS resolution. +* `security_group_ids` - IDs of the security groups for the target network associated with the Client VPN endpoint. +* `self_service_portal` - Whether the self-service portal for the Client VPN endpoint is enabled. +* `server_certificate_arn` - The ARN of the server certificate. +* `session_timeout_hours` - The maximum VPN session duration time in hours. +* `split_tunnel` - Whether split-tunnel is enabled in the AWS Client VPN endpoint. +* `transport_protocol` - Transport protocol used by the Client VPN endpoint. +* `vpc_id` - ID of the VPC associated with the Client VPN endpoint. +* `vpn_port` - Port number for the Client VPN endpoint. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_coip_pool.html.markdown b/website/docs/cdktf/python/d/ec2_coip_pool.html.markdown new file mode 100644 index 00000000000..7e892b484f3 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_coip_pool.html.markdown @@ -0,0 +1,69 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_coip_pool" +description: |- + Provides details about a specific EC2 Customer-Owned IP Pool +--- + +# Data Source: aws_ec2_coip_pool + +Provides details about a specific EC2 Customer-Owned IP Pool. + +This data source can prove useful when a module accepts a coip pool id as +an input variable and needs to, for example, determine the CIDR block of that +COIP Pool. + +## Example Usage + +The following example returns a specific coip pool ID + +```terraform +variable "coip_pool_id" {} + +data "aws_ec2_coip_pool" "selected" { + id = var.coip_pool_id +} +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available +COIP Pools in the current region. The given filters must match exactly one +COIP Pool whose data will be exported as attributes. + +* `local_gateway_route_table_id` - (Optional) Local Gateway Route Table Id assigned to desired COIP Pool + +* `pool_id` - (Optional) ID of the specific COIP Pool to retrieve. + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired COIP Pool. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeCoipPools.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A COIP Pool will be selected if any one of the given values matches. + +## Attributes Reference + +All of the argument attributes except `filter` blocks are also exported as +result attributes. This data source will complete the data by populating +any fields that are not included in the configuration with the data for +the selected COIP Pool. + +In addition, the following attributes are exported: + +* `arn` - ARN of the COIP pool +* `pool_cidrs` - Set of CIDR blocks in pool + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_coip_pools.html.markdown b/website/docs/cdktf/python/d/ec2_coip_pools.html.markdown new file mode 100644 index 00000000000..26216a83d79 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_coip_pools.html.markdown @@ -0,0 +1,52 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_coip_pools" +description: |- + Provides information for multiple EC2 Customer-Owned IP Pools +--- + +# Data Source: aws_ec2_coip_pools + +Provides information for multiple EC2 Customer-Owned IP Pools, such as their identifiers. + +## Example Usage + +The following shows outputting all COIP Pool Ids. + +```terraform +data "aws_ec2_coip_pools" "foo" {} + +output "foo" { + value = data.aws_ec2_coip_pools.foo.ids +} +``` + +## Argument Reference + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired aws_ec2_coip_pools. + +* `filter` - (Optional) Custom filter block as described below. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeCoipPools.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A COIP Pool will be selected if any one of the given values matches. + +## Attributes Reference + +* `id` - AWS Region. +* `pool_ids` - Set of COIP Pool Identifiers + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_host.html.markdown b/website/docs/cdktf/python/d/ec2_host.html.markdown new file mode 100644 index 00000000000..7764d71aa1f --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_host.html.markdown @@ -0,0 +1,95 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_host" +description: |- + Get information on an EC2 Host. +--- + +# Data Source: aws_ec2_host + +Use this data source to get information about an EC2 Dedicated Host. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws_ec2_host_test = aws.ec2_host.Ec2Host(self, "test", + availability_zone="us-west-2a", + instance_type="c5.18xlarge" + ) + data_aws_ec2_host_test = aws.data_aws_ec2_host.DataAwsEc2Host(self, "test_1", + host_id=cdktf.Token.as_string(aws_ec2_host_test.id) + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + data_aws_ec2_host_test.override_logical_id("test") +``` + +### Filter Example + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_host.DataAwsEc2Host(self, "test", + filter=[DataAwsEc2HostFilter( + name="instance-type", + values=["c5.18xlarge"] + ) + ] + ) +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available EC2 Hosts in the current region. +The given filters must match exactly one host whose data will be exported as attributes. + +* `filter` - (Optional) Configuration block. Detailed below. +* `host_id` - (Optional) ID of the Dedicated Host. + +### filter + +This block allows for complex filters. You can use one or more `filter` blocks. + +The following arguments are required: + +* `name` - (Required) Name of the field to filter by, as defined by [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeHosts.html). +* `values` - (Required) Set of values that are accepted for the given field. A host will be selected if any one of the given values matches. + +## Attributes Reference + +In addition to the attributes above, the following attributes are exported: + +* `id` - ID of the Dedicated Host. +* `arn` - ARN of the Dedicated Host. +* `auto_placement` - Whether auto-placement is on or off. +* `availability_zone` - Availability Zone of the Dedicated Host. +* `cores` - Number of cores on the Dedicated Host. +* `host_recovery` - Whether host recovery is enabled or disabled for the Dedicated Host. +* `instance_family` - Instance family supported by the Dedicated Host. For example, "m5". +* `instance_type` - Instance type supported by the Dedicated Host. For example, "m5.large". If the host supports multiple instance types, no instanceType is returned. +* `outpost_arn` - ARN of the AWS Outpost on which the Dedicated Host is allocated. +* `owner_id` - ID of the AWS account that owns the Dedicated Host. +* `sockets` - Number of sockets on the Dedicated Host. +* `total_vcpus` - Total number of vCPUs on the Dedicated Host. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_instance_type.html.markdown b/website/docs/cdktf/python/d/ec2_instance_type.html.markdown new file mode 100644 index 00000000000..e0d9e62703d --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_instance_type.html.markdown @@ -0,0 +1,108 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_instance_type" +description: |- + Information about single EC2 Instance Type. +--- + + +# Data Source: aws_ec2_instance_type + +Get characteristics for a single EC2 Instance Type. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_instance_type.DataAwsEc2InstanceType(self, "example", + instance_type="t2.micro" + ) +``` + +## Argument Reference + +The following argument is supported: + +* `instance_type` - (Required) Instance + +## Attribute Reference + +In addition to the argument above, the following attributes are exported: + +~> **NOTE:** Not all attributes are set for every instance type. + +* `auto_recovery_supported` - `true` if auto recovery is supported. +* `bare_metal` - `true` if it is a bare metal instance type. +* `burstable_performance_supported` - `true` if the instance type is a burstable performance instance type. +* `current_generation` - `true` if the instance type is a current generation. +* `dedicated_hosts_supported` - `true` if Dedicated Hosts are supported on the instance type. +* `default_cores` - Default number of cores for the instance type. +* `default_threads_per_core` - The default number of threads per core for the instance type. +* `default_vcpus` - Default number of vCPUs for the instance type. +* `ebs_encryption_support` - Indicates whether Amazon EBS encryption is supported. +* `ebs_nvme_support` - Whether non-volatile memory express (NVMe) is supported. +* `ebs_optimized_support` - Indicates that the instance type is Amazon EBS-optimized. +* `ebs_performance_baseline_bandwidth` - The baseline bandwidth performance for an EBS-optimized instance type, in Mbps. +* `ebs_performance_baseline_iops` - The baseline input/output storage operations per seconds for an EBS-optimized instance type. +* `ebs_performance_baseline_throughput` - The baseline throughput performance for an EBS-optimized instance type, in MBps. +* `ebs_performance_maximum_bandwidth` - The maximum bandwidth performance for an EBS-optimized instance type, in Mbps. +* `ebs_performance_maximum_iops` - The maximum input/output storage operations per second for an EBS-optimized instance type. +* `ebs_performance_maximum_throughput` - The maximum throughput performance for an EBS-optimized instance type, in MBps. +* `efa_supported` - Whether Elastic Fabric Adapter (EFA) is supported. +* `ena_support` - Whether Elastic Network Adapter (ENA) is supported. +* `encryption_in_transit_supported` - Indicates whether encryption in-transit between instances is supported. +* `fpgas` - Describes the FPGA accelerator settings for the instance type. + * `fpgas.#.count` - The count of FPGA accelerators for the instance type. + * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. + * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + * `fpgas.#.name` - The name of the FPGA accelerator. +* `free_tier_eligible` - `true` if the instance type is eligible for the free tier. +* `gpus` - Describes the GPU accelerators for the instance type. + * `gpus.#.count` - The number of GPUs for the instance type. + * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. + * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + * `gpus.#.name` - The name of the GPU accelerator. +* `hibernation_supported` - `true` if On-Demand hibernation is supported. +* `hypervisor` - Hypervisor used for the instance type. +* `inference_accelerators` Describes the Inference accelerators for the instance type. + * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. + * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + * `inference_accelerators.#.name` - The name of the Inference accelerator. +* `instance_disks` - Describes the disks for the instance type. + * `instance_disks.#.count` - The number of disks with this configuration. + * `instance_disks.#.size` - The size of the disk in GB. + * `instance_disks.#.type` - The type of disk. +* `instance_storage_supported` - `true` if instance storage is supported. +* `ipv6_supported` - `true` if IPv6 is supported. +* `maximum_ipv4_addresses_per_interface` - The maximum number of IPv4 addresses per network interface. +* `maximum_ipv6_addresses_per_interface` - The maximum number of IPv6 addresses per network interface. +* `maximum_network_interfaces` - The maximum number of network interfaces for the instance type. +* `memory_size` - Size of the instance memory, in MiB. +* `network_performance` - Describes the network performance. +* `supported_architectures` - A list of architectures supported by the instance type. +* `supported_placement_strategies` - A list of supported placement groups types. +* `supported_root_device_types` - Indicates the supported root device types. +* `supported_usages_classes` - Indicates whether the instance type is offered for spot or On-Demand. +* `supported_virtualization_types` - The supported virtualization types. +* `sustained_clock_speed` - The speed of the processor, in GHz. +* `total_fpga_memory` - Total memory of all FPGA accelerators for the instance type (in MiB). +* `total_gpu_memory` - Total size of the memory for the GPU accelerators for the instance type (in MiB). +* `total_instance_storage` - The total size of the instance disks, in GB. +* `valid_cores` - List of the valid number of cores that can be configured for the instance type. +* `valid_threads_per_core` - List of the valid number of threads per core that can be configured for the instance type. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_instance_type_offering.html.markdown b/website/docs/cdktf/python/d/ec2_instance_type_offering.html.markdown new file mode 100644 index 00000000000..95edfae440f --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_instance_type_offering.html.markdown @@ -0,0 +1,60 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_instance_type_offering" +description: |- + Information about single EC2 Instance Type Offering. +--- + +# Data Source: aws_ec2_instance_type_offering + +Information about single EC2 Instance Type Offering. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_instance_type_offering.DataAwsEc2InstanceTypeOffering(self, "example", + filter=[DataAwsEc2InstanceTypeOfferingFilter( + name="instance-type", + values=["t2.micro", "t3.micro"] + ) + ], + preferred_instance_types=["t3.micro", "t2.micro"] + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypeOfferings.html) for supported filters. Detailed below. +* `location_type` - (Optional) Location type. Defaults to `region`. Valid values: `availability-zone`, `availability-zone-id`, and `region`. +* `preferred_instance_types` - (Optional) Ordered list of preferred EC2 Instance Types. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. The `location` filter depends on the top-level `location_type` argument and if not specified, defaults to the current region. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Instance Type. +* `instance_type` - EC2 Instance Type. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_instance_type_offerings.html.markdown b/website/docs/cdktf/python/d/ec2_instance_type_offerings.html.markdown new file mode 100644 index 00000000000..02bcc7bf2bb --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_instance_type_offerings.html.markdown @@ -0,0 +1,66 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_instance_type_offerings" +description: |- + Information about EC2 Instance Type Offerings. +--- + +# Data Source: aws_ec2_instance_type_offerings + +Information about EC2 Instance Type Offerings. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_instance_type_offerings.DataAwsEc2InstanceTypeOfferings(self, "example", + filter=[DataAwsEc2InstanceTypeOfferingsFilter( + name="instance-type", + values=["t2.micro", "t3.micro"] + ), DataAwsEc2InstanceTypeOfferingsFilter( + name="location", + values=["usw2-az4"] + ) + ], + location_type="availability-zone-id" + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypeOfferings.html) for supported filters. Detailed below. +* `location_type` - (Optional) Location type. Defaults to `region`. Valid values: `availability-zone`, `availability-zone-id`, and `region`. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. The `location` filter depends on the top-level `location_type` argument and if not specified, defaults to the current region. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `instance_types` - List of EC2 Instance Types. +* `locations` - List of locations. +* `location_types` - List of location types. + +Note that the indexes of Instance Type Offering instance types, locations and location types correspond. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_instance_types.html.markdown b/website/docs/cdktf/python/d/ec2_instance_types.html.markdown new file mode 100644 index 00000000000..4fcf7bedeb8 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_instance_types.html.markdown @@ -0,0 +1,66 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_instance_types" +description: |- + Information about EC2 Instance Types. +--- + +# Data Source: aws_ec2_instance_types + +Information about EC2 Instance Types. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_instance_types.DataAwsEc2InstanceTypes(self, "test", + filter=[DataAwsEc2InstanceTypesFilter( + name="auto-recovery-supported", + values=["true"] + ), DataAwsEc2InstanceTypesFilter( + name="network-info.encryption-in-transit-supported", + values=["true"] + ), DataAwsEc2InstanceTypesFilter( + name="instance-storage-supported", + values=["true"] + ), DataAwsEc2InstanceTypesFilter( + name="instance-type", + values=["g5.2xlarge", "g5.4xlarge"] + ) + ] + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypes.html) for supported filters. Detailed below. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `instance_types` - List of EC2 Instance Types. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_local_gateway.html.markdown b/website/docs/cdktf/python/d/ec2_local_gateway.html.markdown new file mode 100644 index 00000000000..cd328f6e6c0 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_local_gateway.html.markdown @@ -0,0 +1,78 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway" +description: |- + Provides details about an EC2 Local Gateway +--- + +# Data Source: aws_ec2_local_gateway + +Provides details about an EC2 Local Gateway. + +## Example Usage + +The following example shows how one might accept a local gateway id as a variable. + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + # Terraform Variables are not always the best fit for getting inputs in the context of Terraform CDK. + # You can read more about this at https://cdk.tf/variables + local_gateway_id = cdktf.TerraformVariable(self, "local_gateway_id") + aws.data_aws_ec2_local_gateway.DataAwsEc2LocalGateway(self, "selected", + id=local_gateway_id.string_value + ) +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available +Local Gateways in the current region. The given filters must match exactly one +Local Gateway whose data will be exported as attributes. + +* `filter` - (Optional) Custom filter block as described below. + +* `id` - (Optional) Id of the specific Local Gateway to retrieve. + +* `state` - (Optional) Current state of the desired Local Gateway. + Can be either `"pending"` or `"available"`. + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired Local Gateway. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGateways.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A Local Gateway will be selected if any one of the given values matches. + +## Attributes Reference + +All of the argument attributes except `filter` blocks are also exported as +result attributes. This data source will complete the data by populating +any fields that are not included in the configuration with the data for +the selected Local Gateway. + +The following attributes are additionally exported: + +* `outpost_arn` - ARN of Outpost +* `owner_id` - AWS account identifier that owns the Local Gateway. +* `state` - State of the local gateway. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_local_gateway_route_table.html.markdown b/website/docs/cdktf/python/d/ec2_local_gateway_route_table.html.markdown new file mode 100644 index 00000000000..acbc0a2581b --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_local_gateway_route_table.html.markdown @@ -0,0 +1,69 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_route_table" +description: |- + Provides details about an EC2 Local Gateway Route Table +--- + +# Data Source: aws_ec2_local_gateway_route_table + +Provides details about an EC2 Local Gateway Route Table. + +This data source can prove useful when a module accepts a local gateway route table id as +an input variable and needs to, for example, find the associated Outpost or Local Gateway. + +## Example Usage + +The following example returns a specific local gateway route table ID + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + # Terraform Variables are not always the best fit for getting inputs in the context of Terraform CDK. + # You can read more about this at https://cdk.tf/variables + aws_ec2_local_gateway_route_table = cdktf.TerraformVariable(self, "aws_ec2_local_gateway_route_table") + aws.data_aws_ec2_local_gateway_route_table.DataAwsEc2LocalGatewayRouteTable(self, "selected", + local_gateway_route_table_id=aws_ec2_local_gateway_route_table.string_value + ) +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available +Local Gateway Route Tables in the current region. The given filters must match exactly one +Local Gateway Route Table whose data will be exported as attributes. + +* `local_gateway_route_table_id` - (Optional) Local Gateway Route Table Id assigned to desired local gateway route table + +* `local_gateway_id` - (Optional) ID of the specific local gateway route table to retrieve. + +* `outpost_arn` - (Optional) ARN of the Outpost the local gateway route table is associated with. + +* `state` - (Optional) State of the local gateway route table. + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired local gateway route table. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGatewayRouteTables.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A local gateway route table will be selected if any one of the given values matches. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_local_gateway_route_tables.html.markdown b/website/docs/cdktf/python/d/ec2_local_gateway_route_tables.html.markdown new file mode 100644 index 00000000000..df9d201f1ab --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_local_gateway_route_tables.html.markdown @@ -0,0 +1,62 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_route_tables" +description: |- + Provides information for multiple EC2 Local Gateway Route Tables +--- + +# Data Source: aws_ec2_local_gateway_route_tables + +Provides information for multiple EC2 Local Gateway Route Tables, such as their identifiers. + +## Example Usage + +The following shows outputting all Local Gateway Route Table Ids. + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + data_aws_ec2_local_gateway_route_tables_foo = + aws.data_aws_ec2_local_gateway_route_tables.DataAwsEc2LocalGatewayRouteTables(self, "foo") + cdktf_terraform_output_foo = cdktf.TerraformOutput(self, "foo_1", + value=data_aws_ec2_local_gateway_route_tables_foo.ids + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + cdktf_terraform_output_foo.override_logical_id("foo") +``` + +## Argument Reference + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired local gateway route table. + +* `filter` - (Optional) Custom filter block as described below. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGatewayRouteTables.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A Local Gateway Route Table will be selected if any one of the given values matches. + +## Attributes Reference + +* `id` - AWS Region. +* `ids` - Set of Local Gateway Route Table identifiers + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_local_gateway_virtual_interface.html.markdown b/website/docs/cdktf/python/d/ec2_local_gateway_virtual_interface.html.markdown new file mode 100644 index 00000000000..6e7f86766be --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_local_gateway_virtual_interface.html.markdown @@ -0,0 +1,55 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_virtual_interface" +description: |- + Provides details about an EC2 Local Gateway Virtual Interface +--- + +# Data Source: aws_ec2_local_gateway_virtual_interface + +Provides details about an EC2 Local Gateway Virtual Interface. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + +## Example Usage + +```terraform +data "aws_ec2_local_gateway_virtual_interface" "example" { + for_each = data.aws_ec2_local_gateway_virtual_interface_group.example.local_gateway_virtual_interface_ids + + id = each.value +} +``` + +## Argument Reference + +The following arguments are optional: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGatewayVirtualInterfaces.html) for supported filters. Detailed below. +* `id` - (Optional) Identifier of EC2 Local Gateway Virtual Interface. +* `tags` - (Optional) Key-value map of resource tags, each pair of which must exactly match a pair on the desired local gateway route table. + +### filter Argument Reference + +The `filter` configuration block supports the following arguments: + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `local_address` - Local address. +* `local_bgp_asn` - Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the EC2 Local Gateway. +* `local_gateway_id` - Identifier of the EC2 Local Gateway. +* `peer_address` - Peer address. +* `peer_bgp_asn` - Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the peer. +* `vlan` - Virtual Local Area Network. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_local_gateway_virtual_interface_group.html.markdown b/website/docs/cdktf/python/d/ec2_local_gateway_virtual_interface_group.html.markdown new file mode 100644 index 00000000000..e20f807a803 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_local_gateway_virtual_interface_group.html.markdown @@ -0,0 +1,49 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_virtual_interface_group" +description: |- + Provides details about an EC2 Local Gateway Virtual Interface Group +--- + +# Data Source: aws_ec2_local_gateway_virtual_interface_group + +Provides details about an EC2 Local Gateway Virtual Interface Group. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + +## Example Usage + +```terraform +data "aws_ec2_local_gateway_virtual_interface_group" "example" { + local_gateway_id = data.aws_ec2_local_gateway.example.id +} +``` + +## Argument Reference + +The following arguments are optional: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGatewayVirtualInterfaceGroups.html) for supported filters. Detailed below. +* `id` - (Optional) Identifier of EC2 Local Gateway Virtual Interface Group. +* `local_gateway_id` - (Optional) Identifier of EC2 Local Gateway. +* `tags` - (Optional) Key-value map of resource tags, each pair of which must exactly match a pair on the desired local gateway route table. + +### filter Argument Reference + +The `filter` configuration block supports the following arguments: + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `local_gateway_virtual_interface_ids` - Set of EC2 Local Gateway Virtual Interface identifiers. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_local_gateway_virtual_interface_groups.html.markdown b/website/docs/cdktf/python/d/ec2_local_gateway_virtual_interface_groups.html.markdown new file mode 100644 index 00000000000..4578304cdc6 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_local_gateway_virtual_interface_groups.html.markdown @@ -0,0 +1,55 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_virtual_interface_groups" +description: |- + Provides details about multiple EC2 Local Gateway Virtual Interface Groups +--- + +# Data Source: aws_ec2_local_gateway_virtual_interface_groups + +Provides details about multiple EC2 Local Gateway Virtual Interface Groups, such as identifiers. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_local_gateway_virtual_interface_groups.DataAwsEc2LocalGatewayVirtualInterfaceGroups(self, "all") +``` + +## Argument Reference + +The following arguments are optional: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGatewayVirtualInterfaceGroups.html) for supported filters. Detailed below. +* `tags` - (Optional) Key-value map of resource tags, each pair of which must exactly match a pair on the desired local gateway route table. + +### filter Argument Reference + +The `filter` configuration block supports the following arguments: + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `ids` - Set of EC2 Local Gateway Virtual Interface Group identifiers. +* `local_gateway_virtual_interface_ids` - Set of EC2 Local Gateway Virtual Interface identifiers. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_local_gateways.html.markdown b/website/docs/cdktf/python/d/ec2_local_gateways.html.markdown new file mode 100644 index 00000000000..abda280ec16 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_local_gateways.html.markdown @@ -0,0 +1,66 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateways" +description: |- + Provides information for multiple EC2 Local Gateways +--- + +# Data Source: aws_ec2_local_gateways + +Provides information for multiple EC2 Local Gateways, such as their identifiers. + +## Example Usage + +The following example retrieves Local Gateways with a resource tag of `service` set to `production`. + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + data_aws_ec2_local_gateways_foo = + aws.data_aws_ec2_local_gateways.DataAwsEc2LocalGateways(self, "foo", + tags={ + "service": "production" + } + ) + cdktf_terraform_output_foo = cdktf.TerraformOutput(self, "foo_1", + value=data_aws_ec2_local_gateways_foo.ids + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + cdktf_terraform_output_foo.override_logical_id("foo") +``` + +## Argument Reference + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired local_gateways. + +* `filter` - (Optional) Custom filter block as described below. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGateways.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A Local Gateway will be selected if any one of the given values matches. + +## Attributes Reference + +* `id` - AWS Region. +* `ids` - Set of all the Local Gateway identifiers + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_managed_prefix_list.html.markdown b/website/docs/cdktf/python/d/ec2_managed_prefix_list.html.markdown new file mode 100644 index 00000000000..086ae45d916 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_managed_prefix_list.html.markdown @@ -0,0 +1,89 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_managed_prefix_list" +description: |- + Provides details about a specific managed prefix list +--- + +# Data Source: aws_ec2_managed_prefix_list + +`aws_ec2_managed_prefix_list` provides details about a specific AWS prefix list or +customer-managed prefix list in the current region. + +## Example Usage + +### Find the regional DynamoDB prefix list + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + data_aws_region_current = aws.data_aws_region.DataAwsRegion(self, "current") + aws.data_aws_ec2_managed_prefix_list.DataAwsEc2ManagedPrefixList(self, "example", + name="com.amazonaws.${" + data_aws_region_current.name + "}.dynamodb" + ) +``` + +### Find a managed prefix list using filters + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_managed_prefix_list.DataAwsEc2ManagedPrefixList(self, "example", + filter=[DataAwsEc2ManagedPrefixListFilter( + name="prefix-list-name", + values=["my-prefix-list"] + ) + ] + ) +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available +prefix lists. The given filters must match exactly one prefix list +whose data will be exported as attributes. + +* `id` - (Optional) ID of the prefix list to select. +* `name` - (Optional) Name of the prefix list to select. +* `filter` - (Optional) Configuration block(s) for filtering. Detailed below. + +### filter Configuration Block + +The following arguments are supported by the `filter` configuration block: + +* `name` - (Required) Name of the filter field. Valid values can be found in the EC2 [DescribeManagedPrefixLists](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeManagedPrefixLists.html) API Reference. +* `values` - (Required) Set of values that are accepted for the given filter field. Results will be selected if any given value matches. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the selected prefix list. +* `arn` - ARN of the selected prefix list. +* `name` - Name of the selected prefix list. +* `entries` - Set of entries in this prefix list. Each entry is an object with `cidr` and `description`. +* `owner_id` - Account ID of the owner of a customer-managed prefix list, or `AWS` otherwise. +* `address_family` - Address family of the prefix list. Valid values are `IPv4` and `IPv6`. +* `max_entries` - When then prefix list is managed, the maximum number of entries it supports, or null otherwise. +* `tags` - Map of tags assigned to the resource. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_managed_prefix_lists.html.markdown b/website/docs/cdktf/python/d/ec2_managed_prefix_lists.html.markdown new file mode 100644 index 00000000000..dc7c5d0e364 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_managed_prefix_lists.html.markdown @@ -0,0 +1,74 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_managed_prefix_lists" +description: |- + Get information on managed prefix lists +--- + +# Data Source: aws_ec2_managed_prefix_lists + +This resource can be useful for getting back a list of managed prefix list ids to be referenced elsewhere. + +## Example Usage + +The following returns all managed prefix lists filtered by tags + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + data_aws_ec2_managed_prefix_lists_test_env = + aws.data_aws_ec2_managed_prefix_lists.DataAwsEc2ManagedPrefixLists(self, "test_env", + tags={ + "Env": "test" + } + ) + # In most cases loops should be handled in the programming language context and + # not inside of the Terraform context. If you are looping over something external, e.g. a variable or a file input + # you should consider using a for loop. If you are looping over something only known to Terraform, e.g. a result of a data source + # you need to keep this like it is. + data_aws_ec2_managed_prefix_list_test_env_count = cdktf.TerraformCount.of( + cdktf.Fn.length_of(data_aws_ec2_managed_prefix_lists_test_env.ids)) + data_aws_ec2_managed_prefix_list_test_env = + aws.data_aws_ec2_managed_prefix_list.DataAwsEc2ManagedPrefixList(self, "test_env_1", + id=cdktf.Token.as_string( + cdktf.property_access( + cdktf.Fn.tolist(data_aws_ec2_managed_prefix_lists_test_env.ids), [data_aws_ec2_managed_prefix_list_test_env_count.index])), + count=data_aws_ec2_managed_prefix_list_test_env_count + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + data_aws_ec2_managed_prefix_list_test_env.override_logical_id("test_env") +``` + +## Argument Reference + +* `filter` - (Optional) Custom filter block as described below. +* `tags` - (Optional) Map of tags, each pair of which must exactly match + a pair on the desired . + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeManagedPrefixLists.html). +* `values` - (Required) Set of values that are accepted for the given field. + A managed prefix list will be selected if any one of the given values matches. + +## Attributes Reference + +* `id` - AWS Region. +* `ids` - List of all the managed prefix list ids found. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_network_insights_analysis.html.markdown b/website/docs/cdktf/python/d/ec2_network_insights_analysis.html.markdown new file mode 100644 index 00000000000..eed346f74e5 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_network_insights_analysis.html.markdown @@ -0,0 +1,54 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_network_insights_analysis" +description: |- + Provides details about a specific Network Insights Analysis. +--- + +# Data Source: aws_ec2_network_insights_analysis + +`aws_ec2_network_insights_analysis` provides details about a specific Network Insights Analysis. + +## Example Usage + +```terraform +data "aws_ec2_network_insights_analysis" "example" { + network_insights_analysis_id = aws_ec2_network_insights_analysis.example.id +} +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available +Network Insights Analyses. The given filters must match exactly one Network Insights Analysis +whose data will be exported as attributes. + +* `network_insights_analysis_id` - (Optional) ID of the Network Insights Analysis to select. +* `filter` - (Optional) Configuration block(s) for filtering. Detailed below. + +### filter Configuration Block + +The following arguments are supported by the `filter` configuration block: + +* `name` - (Required) Name of the filter field. Valid values can be found in the EC2 [`DescribeNetworkInsightsAnalyses`](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeNetworkInsightsAnalyses.html) API Reference. +* `values` - (Required) Set of values that are accepted for the given filter field. Results will be selected if any given value matches. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `alternate_path_hints` - Potential intermediate components of a feasible path. +* `arn` - ARN of the selected Network Insights Analysis. +* `explanations` - Explanation codes for an unreachable path. +* `filter_in_arns` - ARNs of the AWS resources that the path must traverse. +* `forward_path_components` - The components in the path from source to destination. +* `network_insights_path_id` - The ID of the path. +* `path_found` - Set to `true` if the destination was reachable. +* `return_path_components` - The components in the path from destination to source. +* `start_date` - Date/time the analysis was started. +* `status` - Status of the analysis. `succeeded` means the analysis was completed, not that a path was found, for that see `path_found`. +* `status_message` - Message to provide more context when the `status` is `failed`. +* `warning_message` - Warning message. + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_network_insights_path.html.markdown b/website/docs/cdktf/python/d/ec2_network_insights_path.html.markdown new file mode 100644 index 00000000000..d55516021a1 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_network_insights_path.html.markdown @@ -0,0 +1,50 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_network_insights_path" +description: |- + Provides details about a specific Network Insights Path. +--- + +# Data Source: aws_ec2_network_insights_path + +`aws_ec2_network_insights_path` provides details about a specific Network Insights Path. + +## Example Usage + +```terraform +data "aws_ec2_network_insights_path" "example" { + network_insights_path_id = aws_ec2_network_insights_path.example.id +} +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available +Network Insights Paths. The given filters must match exactly one Network Insights Path +whose data will be exported as attributes. + +* `network_insights_path_id` - (Optional) ID of the Network Insights Path to select. +* `filter` - (Optional) Configuration block(s) for filtering. Detailed below. + +### filter Configuration Block + +The following arguments are supported by the `filter` configuration block: + +* `name` - (Required) Name of the filter field. Valid values can be found in the EC2 [`DescribeNetworkInsightsPaths`](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeNetworkInsightsPaths.html) API Reference. +* `values` - (Required) Set of values that are accepted for the given filter field. Results will be selected if any given value matches. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - ARN of the selected Network Insights Path. +* `destination` - AWS resource that is the destination of the path. +* `destination_ip` - IP address of the AWS resource that is the destination of the path. +* `destination_port` - Destination port. +* `protocol` - Protocol. +* `source` - AWS resource that is the source of the path. +* `source_ip` - IP address of the AWS resource that is the source of the path. +* `tags` - Map of tags assigned to the resource. + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_public_ipv4_pool.html.markdown b/website/docs/cdktf/python/d/ec2_public_ipv4_pool.html.markdown new file mode 100644 index 00000000000..ed3037f5406 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_public_ipv4_pool.html.markdown @@ -0,0 +1,52 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_public_ipv4_pool" +description: |- + Provides details about a specific AWS EC2 Public IPv4 Pool. +--- + +# Data Source: aws_ec2_public_ipv4_pool + +Provides details about a specific AWS EC2 Public IPv4 Pool. + +## Example Usage + +### Basic Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_public_ipv4_pool.DataAwsEc2PublicIpv4Pool(self, "example", + pool_id="ipv4pool-ec2-000df99cff0c1ec10" + ) +``` + +## Argument Reference + +The following arguments are required: + +* `pool_id` - (Required) AWS resource IDs of a public IPv4 pool (as a string) for which this data source will fetch detailed information. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `description` - Description of the pool, if any. +* `network_border_group` - Name of the location from which the address pool is advertised. +* pool_address_ranges` - List of Address Ranges in the Pool; each address range record contains: + * `address_count` - Number of addresses in the range. + * `available_address_count` - Number of available addresses in the range. + * `first_address` - First address in the range. + * `last_address` - Last address in the range. +* `tags` - Any tags for the address pool. +* `total_address_count` - Total number of addresses in the pool. +* `total_available_address_count` - Total number of available addresses in the pool. + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_public_ipv4_pools.html.markdown b/website/docs/cdktf/python/d/ec2_public_ipv4_pools.html.markdown new file mode 100644 index 00000000000..f2e779ba37b --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_public_ipv4_pools.html.markdown @@ -0,0 +1,66 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_public_ipv4_pools" +description: |- + Terraform data source for getting information about AWS EC2 Public IPv4 Pools. +--- + +# Data Source: aws_ec2_public_ipv4_pools + +Terraform data source for getting information about AWS EC2 Public IPv4 Pools. + +## Example Usage + +### Basic Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_public_ipv4_pools.DataAwsEc2PublicIpv4Pools(self, "example") +``` + +### Usage with Filter + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_public_ipv4_pools.DataAwsEc2PublicIpv4Pools(self, "example", + filter=[DataAwsEc2PublicIpv4PoolsFilter( + name="tag-key", + values=["ExampleTagKey"] + ) + ] + ) +``` + +## Argument Reference + +The following arguments are optional: + +* `filter` - (Optional) Custom filter block as described below. +* `tags` - (Optional) Map of tags, each pair of which must exactly match a pair on the desired pools. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribePublicIpv4Pools.html). +* `values` - (Required) Set of values that are accepted for the given field. Pool IDs will be selected if any one of the given values match. + +## Attributes Reference + +* `pool_ids` - List of all the pool IDs found. + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_serial_console_access.html.markdown b/website/docs/cdktf/python/d/ec2_serial_console_access.html.markdown new file mode 100644 index 00000000000..b3bd01b034d --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_serial_console_access.html.markdown @@ -0,0 +1,40 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_serial_console_access" +description: |- + Checks whether serial console access is enabled for your AWS account in the current AWS region. +--- + +# Data Source: aws_ec2_serial_console_access + +Provides a way to check whether serial console access is enabled for your AWS account in the current AWS region. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_serial_console_access.DataAwsEc2SerialConsoleAccess(self, "current") +``` + +## Attributes Reference + +The following attributes are exported: + +* `enabled` - Whether or not serial console access is enabled. Returns as `true` or `false`. +* `id` - Region of serial console access. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_spot_price.html.markdown b/website/docs/cdktf/python/d/ec2_spot_price.html.markdown new file mode 100644 index 00000000000..6ec7e3ee99b --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_spot_price.html.markdown @@ -0,0 +1,62 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_spot_price" +description: |- + Information about most recent Spot Price for a given EC2 instance. +--- + +# Data Source: aws_ec2_spot_price + +Information about most recent Spot Price for a given EC2 instance. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_spot_price.DataAwsEc2SpotPrice(self, "example", + availability_zone="us-west-2a", + filter=[DataAwsEc2SpotPriceFilter( + name="product-description", + values=["Linux/UNIX"] + ) + ], + instance_type="t3.medium" + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `instance_type` - (Optional) Type of instance for which to query Spot Price information. +* `availability_zone` - (Optional) Availability zone in which to query Spot price information. +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSpotPriceHistory.html) for supported filters. Detailed below. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `spot_price` - Most recent Spot Price value for the given instance type and AZ. +* `spot_price_timestamp` - The timestamp at which the Spot Price value was published. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway.html.markdown new file mode 100644 index 00000000000..db3fcdb43ce --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway.html.markdown @@ -0,0 +1,89 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway" +description: |- + Get information on an EC2 Transit Gateway +--- + +# Data Source: aws_ec2_transit_gateway + +Get information on an EC2 Transit Gateway. + +## Example Usage + +### By Filter + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway.DataAwsEc2TransitGateway(self, "example", + filter=[DataAwsEc2TransitGatewayFilter( + name="options.amazon-side-asn", + values=["64512"] + ) + ] + ) +``` + +### By Identifier + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway.DataAwsEc2TransitGateway(self, "example", + id="tgw-12345678" + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `id` - (Optional) Identifier of the EC2 Transit Gateway. + +### filter Argument Reference + +* `name` - (Required) Name of the field to filter by, as defined by the [underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGateways.html). +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `amazon_side_asn` - Private Autonomous System Number (ASN) for the Amazon side of a BGP session +* `arn` - EC2 Transit Gateway ARN +* `association_default_route_table_id` - Identifier of the default association route table +* `auto_accept_shared_attachments` - Whether resource attachment requests are automatically accepted +* `default_route_table_association` - Whether resource attachments are automatically associated with the default association route table +* `default_route_table_propagation` - Whether resource attachments automatically propagate routes to the default propagation route table +* `description` - Description of the EC2 Transit Gateway +* `dns_support` - Whether DNS support is enabled +* `multicast_support` - Whether Multicast support is enabled +* `id` - EC2 Transit Gateway identifier +* `owner_id` - Identifier of the AWS account that owns the EC2 Transit Gateway +* `propagation_default_route_table_id` - Identifier of the default propagation route table +* `tags` - Key-value tags for the EC2 Transit Gateway +* `transit_gateway_cidr_blocks` - The list of associated CIDR blocks +* `vpn_ecmp_support` - Whether VPN Equal Cost Multipath Protocol support is enabled + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_attachment.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_attachment.html.markdown new file mode 100644 index 00000000000..62925f85bd4 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_attachment.html.markdown @@ -0,0 +1,56 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_attachment" +description: |- + Get information on an EC2 Transit Gateway's attachment to a resource +--- + +# Data Source: aws_ec2_transit_gateway_attachment + +Get information on an EC2 Transit Gateway's attachment to a resource. + +## Example Usage + +```terraform +data "aws_ec2_transit_gateway_attachment" "example" { + filter { + name = "transit-gateway-id" + values = [aws_ec2_transit_gateway.example.id] + } + + filter { + name = "resource-type" + values = ["peering"] + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `transit_gateway_attachment_id` - (Optional) ID of the attachment. + +### filter Argument Reference + +* `name` - (Required) Name of the field to filter by, as defined by the [underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html). +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - ARN of the attachment. +* `association_state` - The state of the association (see [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachmentAssociation.html) for valid values). +* `association_transit_gateway_route_table_id` - The ID of the route table for the transit gateway. +* `resource_id` - ID of the resource. +* `resource_owner_id` - ID of the AWS account that owns the resource. +* `resource_type` - Resource type. +* `state` - Attachment state. +* `tags` - Key-value tags for the attachment. +* `transit_gateway_id` - ID of the transit gateway. +* `transit_gateway_owner_id` - The ID of the AWS account that owns the transit gateway. + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_attachments.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_attachments.html.markdown new file mode 100644 index 00000000000..5cf23027ab9 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_attachments.html.markdown @@ -0,0 +1,62 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_attachments" +description: |- + Get information on EC2 Transit Gateway Attachments +--- + +# Data Source: aws_ec2_transit_gateway_attachments + +Get information on EC2 Transit Gateway Attachments. + +## Example Usage + +### By Filter + +```hcl +data "aws_ec2_transit_gateway_attachments" "filtered" { + filter { + name = "state" + values = ["pendingAcceptance"] + } + + filter { + name = "resource-type" + values = ["vpc"] + } +} + +data "aws_ec2_transit_gateway_attachment" "unit" { + count = length(data.aws_ec2_transit_gateway_attachments.filtered.ids) + id = data.aws_ec2_transit_gateway_attachments.filtered.ids[count.index] +} +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. + +### filter Argument Reference + +* `name` - (Required) Name of the filter check available value on [official documentation][1] +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `ids` A list of all attachments ids matching the filter. You can retrieve more information about the attachment using the [aws_ec2_transit_gateway_attachment][2] data source, searching by identifier. + +[1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html +[2]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_transit_gateway_attachment + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_connect.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_connect.html.markdown new file mode 100644 index 00000000000..77a2acc4f3e --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_connect.html.markdown @@ -0,0 +1,78 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_connect" +description: |- + Get information on an EC2 Transit Gateway Connect +--- + +# Data Source: aws_ec2_transit_gateway_connect + +Get information on an EC2 Transit Gateway Connect. + +## Example Usage + +### By Filter + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway_connect.DataAwsEc2TransitGatewayConnect(self, "example", + filter=[DataAwsEc2TransitGatewayConnectFilter( + name="transport-transit-gateway-attachment-id", + values=["tgw-attach-12345678"] + ) + ] + ) +``` + +### By Identifier + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway_connect.DataAwsEc2TransitGatewayConnect(self, "example", + transit_gateway_connect_id="tgw-attach-12345678" + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `transit_gateway_connect_id` - (Optional) Identifier of the EC2 Transit Gateway Connect. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `protocol` - Tunnel protocol +* `tags` - Key-value tags for the EC2 Transit Gateway Connect +* `transit_gateway_id` - EC2 Transit Gateway identifier +* `transport_attachment_id` - The underlaying VPC attachment + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_connect_peer.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_connect_peer.html.markdown new file mode 100644 index 00000000000..7f82e400e85 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_connect_peer.html.markdown @@ -0,0 +1,81 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_connect_peer" +description: |- + Get information on an EC2 Transit Gateway Connect Peer +--- + +# Data Source: aws_ec2_transit_gateway_connect_peer + +Get information on an EC2 Transit Gateway Connect Peer. + +## Example Usage + +### By Filter + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway_connect_peer.DataAwsEc2TransitGatewayConnectPeer(self, "example", + filter=[DataAwsEc2TransitGatewayConnectPeerFilter( + name="transit-gateway-attachment-id", + values=["tgw-attach-12345678"] + ) + ] + ) +``` + +### By Identifier + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway_connect_peer.DataAwsEc2TransitGatewayConnectPeer(self, "example", + transit_gateway_connect_peer_id="tgw-connect-peer-12345678" + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `transit_gateway_connect_peer_id` - (Optional) Identifier of the EC2 Transit Gateway Connect Peer. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - EC2 Transit Gateway Connect Peer ARN +* `bgp_asn` - BGP ASN number assigned customer device +* `inside_cidr_blocks` - CIDR blocks that will be used for addressing within the tunnel. +* `peer_address` - IP addressed assigned to customer device, which is used as tunnel endpoint +* `tags` - Key-value tags for the EC2 Transit Gateway Connect Peer +* `transit_gateway_address` - The IP address assigned to Transit Gateway, which is used as tunnel endpoint. +* `transit_gateway_attachment_id` - The Transit Gateway Connect + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_dx_gateway_attachment.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_dx_gateway_attachment.html.markdown new file mode 100644 index 00000000000..76ccb6872d5 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_dx_gateway_attachment.html.markdown @@ -0,0 +1,53 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_dx_gateway_attachment" +description: |- + Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway +--- + +# Data Source: aws_ec2_transit_gateway_dx_gateway_attachment + +Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway. + +## Example Usage + +### By Transit Gateway and Direct Connect Gateway Identifiers + +```terraform +data "aws_ec2_transit_gateway_dx_gateway_attachment" "example" { + transit_gateway_id = aws_ec2_transit_gateway.example.id + dx_gateway_id = aws_dx_gateway.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `transit_gateway_id` - (Optional) Identifier of the EC2 Transit Gateway. +* `dx_gateway_id` - (Optional) Identifier of the Direct Connect Gateway. +* `filter` - (Optional) Configuration block(s) for filtering. Detailed below. +* `tags` - (Optional) Map of tags, each pair of which must exactly match a pair on the desired Transit Gateway Direct Connect Gateway Attachment. + +### filter Configuration Block + +The following arguments are supported by the `filter` configuration block: + +* `name` - (Required) Name of the filter field. Valid values can be found in the [EC2 DescribeTransitGatewayAttachments API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html). +* `values` - (Required) Set of values that are accepted for the given filter field. Results will be selected if any given value matches. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Attachment identifier +* `tags` - Key-value tags for the EC2 Transit Gateway Attachment + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_multicast_domain.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_multicast_domain.html.markdown new file mode 100644 index 00000000000..6bcf5d5f5a4 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_multicast_domain.html.markdown @@ -0,0 +1,95 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_multicast_domain" +description: |- + Get information on an EC2 Transit Gateway Multicast Domain +--- + +# Data Source: aws_ec2_transit_gateway_multicast_domain + +Get information on an EC2 Transit Gateway Multicast Domain. + +## Example Usage + +### By Filter + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway_multicast_domain.DataAwsEc2TransitGatewayMulticastDomain(self, "example", + filter=[DataAwsEc2TransitGatewayMulticastDomainFilter( + name="transit-gateway-multicast-domain-id", + values=["tgw-mcast-domain-12345678"] + ) + ] + ) +``` + +### By Identifier + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway_multicast_domain.DataAwsEc2TransitGatewayMulticastDomain(self, "example", + transit_gateway_multicast_domain_id="tgw-mcast-domain-12345678" + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `transit_gateway_multicast_domain_id` - (Optional) Identifier of the EC2 Transit Gateway Multicast Domain. + +### filter Argument Reference + +This block allows for complex filters. You can use one or more `filter` blocks. + +The following arguments are required: + +* `name` - (Required) Name of the field to filter by, as defined by [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayMulticastDomains.html). +* `values` - (Required) Set of values that are accepted for the given field. A multicast domain will be selected if any one of the given values matches. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Multicast Domain identifier. +* `arn` - EC2 Transit Gateway Multicast Domain ARN. +* `associations` - EC2 Transit Gateway Multicast Domain Associations + * `subnet_id` - The ID of the subnet associated with the transit gateway multicast domain. + * `transit_gateway_attachment_id` - The ID of the transit gateway attachment. +* `auto_accept_shared_associations` - Whether to automatically accept cross-account subnet associations that are associated with the EC2 Transit Gateway Multicast Domain. +* `igmpv2_support` - Whether to enable Internet Group Management Protocol (IGMP) version 2 for the EC2 Transit Gateway Multicast Domain. +* `members` - EC2 Multicast Domain Group Members + * `group_ip_address` - The IP address assigned to the transit gateway multicast group. + * `network_interface_id` - The group members' network interface ID. +* `owner_id` - Identifier of the AWS account that owns the EC2 Transit Gateway Multicast Domain. +* `sources` - EC2 Multicast Domain Group Sources + * `group_ip_address` - The IP address assigned to the transit gateway multicast group. + * `network_interface_id` - The group members' network interface ID. +* `static_sources_support` - Whether to enable support for statically configuring multicast group sources for the EC2 Transit Gateway Multicast Domain. +* `tags` - Key-value tags for the EC2 Transit Gateway Multicast Domain. +* `transit_gateway_id` - EC2 Transit Gateway identifier. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_peering_attachment.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_peering_attachment.html.markdown new file mode 100644 index 00000000000..51d5ad58170 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_peering_attachment.html.markdown @@ -0,0 +1,83 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_peering_attachment" +description: |- + Get information on an EC2 Transit Gateway Peering Attachment +--- + +# Data Source: aws_ec2_transit_gateway_peering_attachment + +Get information on an EC2 Transit Gateway Peering Attachment. + +## Example Usage + +### By Filter + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway_peering_attachment.DataAwsEc2TransitGatewayPeeringAttachment(self, "example", + filter=[DataAwsEc2TransitGatewayPeeringAttachmentFilter( + name="transit-gateway-attachment-id", + values=["tgw-attach-12345678"] + ) + ] + ) +``` + +### By Identifier + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway_peering_attachment.DataAwsEc2TransitGatewayPeeringAttachment(self, "attachment", + id="tgw-attach-12345678" + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `id` - (Optional) Identifier of the EC2 Transit Gateway Peering Attachment. +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the specific EC2 Transit Gateway Peering Attachment to retrieve. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayPeeringAttachments.html). +* `values` - (Required) Set of values that are accepted for the given field. + An EC2 Transit Gateway Peering Attachment be selected if any one of the given values matches. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `peer_account_id` - Identifier of the peer AWS account +* `peer_region` - Identifier of the peer AWS region +* `peer_transit_gateway_id` - Identifier of the peer EC2 Transit Gateway +* `transit_gateway_id` - Identifier of the local EC2 Transit Gateway + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_route_table.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_route_table.html.markdown new file mode 100644 index 00000000000..fd856512692 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_route_table.html.markdown @@ -0,0 +1,83 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route_table" +description: |- + Get information on an EC2 Transit Gateway Route Table +--- + +# Data Source: aws_ec2_transit_gateway_route_table + +Get information on an EC2 Transit Gateway Route Table. + +## Example Usage + +### By Filter + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway_route_table.DataAwsEc2TransitGatewayRouteTable(self, "example", + filter=[DataAwsEc2TransitGatewayRouteTableFilter( + name="default-association-route-table", + values=["true"] + ), DataAwsEc2TransitGatewayRouteTableFilter( + name="transit-gateway-id", + values=["tgw-12345678"] + ) + ] + ) +``` + +### By Identifier + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway_route_table.DataAwsEc2TransitGatewayRouteTable(self, "example", + id="tgw-rtb-12345678" + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `id` - (Optional) Identifier of the EC2 Transit Gateway Route Table. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - EC2 Transit Gateway Route Table ARN. +* `default_association_route_table` - Boolean whether this is the default association route table for the EC2 Transit Gateway +* `default_propagation_route_table` - Boolean whether this is the default propagation route table for the EC2 Transit Gateway +* `id` - EC2 Transit Gateway Route Table identifier +* `transit_gateway_id` - EC2 Transit Gateway identifier +* `tags` - Key-value tags for the EC2 Transit Gateway Route Table + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_route_table_associations.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_route_table_associations.html.markdown new file mode 100644 index 00000000000..7f8572ce6b2 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_route_table_associations.html.markdown @@ -0,0 +1,49 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route_table_associations" +description: |- + Provides information for multiple EC2 Transit Gateway Route Table Associations +--- + +# Data Source: aws_ec2_transit_gateway_route_table_associations + +Provides information for multiple EC2 Transit Gateway Route Table Associations, such as their identifiers. + +## Example Usage + +### By Transit Gateway Identifier + +```terraform +data "aws_ec2_transit_gateway_route_table_associations" "example" { + transit_gateway_route_table_id = aws_ec2_transit_gateway_route_table.example.id +} +``` + +## Argument Reference + +The following arguments are required: + +* `transit_gateway_route_table_id` - (Required) Identifier of EC2 Transit Gateway Route Table. + +The following arguments are optional: + +* `filter` - (Optional) Custom filter block as described below. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetTransitGatewayRouteTableAssociations.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A Transit Gateway Route Table will be selected if any one of the given values matches. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `ids` - Set of Transit Gateway Route Table Association identifiers. + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_route_table_propagations.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_route_table_propagations.html.markdown new file mode 100644 index 00000000000..957a13f48bc --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_route_table_propagations.html.markdown @@ -0,0 +1,49 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transitgateway_route_table_propagations" +description: |- + Provides information for multiple EC2 Transit Gateway Route Table Propagations +--- + +# Data Source: aws_ec2_transitgateway_route_table_propagations + +Provides information for multiple EC2 Transit Gateway Route Table Propagations, such as their identifiers. + +## Example Usage + +### By Transit Gateway Identifier + +```terraform +data "aws_ec2_transit_gateway_route_table_propagations" "example" { + transit_gateway_route_table_id = aws_ec2_transit_gateway_route_table.example.id +} +``` + +## Argument Reference + +The following arguments are required: + +* `transit_gateway_route_table_id` - (Required) Identifier of EC2 Transit Gateway Route Table. + +The following arguments are optional: + +* `filter` - (Optional) Custom filter block as described below. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetTransitGatewayRouteTablePropagations.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A Transit Gateway Route Table will be selected if any one of the given values matches. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `ids` - Set of Transit Gateway Route Table Association identifiers. + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_route_tables.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_route_tables.html.markdown new file mode 100644 index 00000000000..d00ff15c5f7 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_route_tables.html.markdown @@ -0,0 +1,56 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route_tables" +description: |- + Provides information for multiple EC2 Transit Gateway Route Tables +--- + +# Data Source: aws_ec2_transit_gateway_route_tables + +Provides information for multiple EC2 Transit Gateway Route Tables, such as their identifiers. + +## Example Usage + +The following shows outputting all Transit Gateway Route Table Ids. + +```terraform +data "aws_ec2_transit_gateway_route_tables" "example" {} + +output "example" { + value = data.aws_ec2_transit_gateway_route_table.example.ids +} +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) Custom filter block as described below. + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired transit gateway route table. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayRouteTables.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A Transit Gateway Route Table will be selected if any one of the given values matches. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `ids` - Set of Transit Gateway Route Table identifiers. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_vpc_attachment.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_vpc_attachment.html.markdown new file mode 100644 index 00000000000..c113fcf3487 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_vpc_attachment.html.markdown @@ -0,0 +1,83 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_vpc_attachment" +description: |- + Get information on an EC2 Transit Gateway VPC Attachment +--- + +# Data Source: aws_ec2_transit_gateway_vpc_attachment + +Get information on an EC2 Transit Gateway VPC Attachment. + +## Example Usage + +### By Filter + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway_vpc_attachment.DataAwsEc2TransitGatewayVpcAttachment(self, "example", + filter=[DataAwsEc2TransitGatewayVpcAttachmentFilter( + name="vpc-id", + values=["vpc-12345678"] + ) + ] + ) +``` + +### By Identifier + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway_vpc_attachment.DataAwsEc2TransitGatewayVpcAttachment(self, "example", + id="tgw-attach-12345678" + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `id` - (Optional) Identifier of the EC2 Transit Gateway VPC Attachment. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `appliance_mode_support` - Whether Appliance Mode support is enabled. +* `dns_support` - Whether DNS support is enabled. +* `id` - EC2 Transit Gateway VPC Attachment identifier +* `ipv6_support` - Whether IPv6 support is enabled. +* `subnet_ids` - Identifiers of EC2 Subnets. +* `transit_gateway_id` - EC2 Transit Gateway identifier +* `tags` - Key-value tags for the EC2 Transit Gateway VPC Attachment +* `vpc_id` - Identifier of EC2 VPC. +* `vpc_owner_id` - Identifier of the AWS account that owns the EC2 VPC. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_vpc_attachments.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_vpc_attachments.html.markdown new file mode 100644 index 00000000000..009c280d325 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_vpc_attachments.html.markdown @@ -0,0 +1,74 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_vpc_attachments" +description: |- + Get information on EC2 Transit Gateway VPC Attachments +--- + +# Data Source: aws_ec2_transit_gateway_vpc_attachments + +Get information on EC2 Transit Gateway VPC Attachments. + +## Example Usage + +### By Filter + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + data_aws_ec2_transit_gateway_vpc_attachments_filtered = + aws.data_aws_ec2_transit_gateway_vpc_attachments.DataAwsEc2TransitGatewayVpcAttachments(self, "filtered", + filter=[DataAwsEc2TransitGatewayVpcAttachmentsFilter( + name="state", + values=["pendingAcceptance"] + ) + ] + ) + # In most cases loops should be handled in the programming language context and + # not inside of the Terraform context. If you are looping over something external, e.g. a variable or a file input + # you should consider using a for loop. If you are looping over something only known to Terraform, e.g. a result of a data source + # you need to keep this like it is. + data_aws_ec2_transit_gateway_vpc_attachment_unit_count = + cdktf.TerraformCount.of( + cdktf.Fn.length_of(data_aws_ec2_transit_gateway_vpc_attachments_filtered.ids)) + aws.data_aws_ec2_transit_gateway_vpc_attachment.DataAwsEc2TransitGatewayVpcAttachment(self, "unit", + id=cdktf.Token.as_string( + cdktf.property_access(data_aws_ec2_transit_gateway_vpc_attachments_filtered.ids, [data_aws_ec2_transit_gateway_vpc_attachment_unit_count.index])), + count=data_aws_ec2_transit_gateway_vpc_attachment_unit_count + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. + +### filter Argument Reference + +* `name` - (Required) Name of the filter check available value on [official documentation][1] +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `ids` A list of all attachments ids matching the filter. You can retrieve more information about the attachment using the [aws_ec2_transit_gateway_vpc_attachment][2] data source, searching by identifier. + +[1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayVpcAttachments.html +[2]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_transit_gateway_vpc_attachment + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ec2_transit_gateway_vpn_attachment.html.markdown b/website/docs/cdktf/python/d/ec2_transit_gateway_vpn_attachment.html.markdown new file mode 100644 index 00000000000..4f3dde31294 --- /dev/null +++ b/website/docs/cdktf/python/d/ec2_transit_gateway_vpn_attachment.html.markdown @@ -0,0 +1,75 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_vpn_attachment" +description: |- + Get information on an EC2 Transit Gateway VPN Attachment +--- + +# Data Source: aws_ec2_transit_gateway_vpn_attachment + +Get information on an EC2 Transit Gateway VPN Attachment. + +-> EC2 Transit Gateway VPN Attachments are implicitly created by VPN Connections referencing an EC2 Transit Gateway so there is no managed resource. For ease, the [`aws_vpn_connection` resource](/docs/providers/aws/r/vpn_connection.html) includes a `transit_gateway_attachment_id` attribute which can replace some usage of this data source. For tagging the attachment, see the [`aws_ec2_tag` resource](/docs/providers/aws/r/ec2_tag.html). + +## Example Usage + +### By Transit Gateway and VPN Connection Identifiers + +```terraform +data "aws_ec2_transit_gateway_vpn_attachment" "example" { + transit_gateway_id = aws_ec2_transit_gateway.example.id + vpn_connection_id = aws_vpn_connection.example.id +} +``` + +### Filter + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.data_aws_ec2_transit_gateway_vpn_attachment.DataAwsEc2TransitGatewayVpnAttachment(self, "test", + filter=[DataAwsEc2TransitGatewayVpnAttachmentFilter( + name="resource-id", + values=["some-resource"] + ) + ] + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `transit_gateway_id` - (Optional) Identifier of the EC2 Transit Gateway. +* `vpn_connection_id` - (Optional) Identifier of the EC2 VPN Connection. +* `filter` - (Optional) Configuration block(s) for filtering. Detailed below. +* `tags` - (Optional) Map of tags, each pair of which must exactly match a pair on the desired Transit Gateway VPN Attachment. + +### filter Configuration Block + +The following arguments are supported by the `filter` configuration block: + +* `name` - (Required) Name of the filter field. Valid values can be found in the [EC2 DescribeTransitGatewayAttachments API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html). +* `values` - (Required) Set of values that are accepted for the given filter field. Results will be selected if any given value matches. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway VPN Attachment identifier +* `tags` - Key-value tags for the EC2 Transit Gateway VPN Attachment + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_availability_zone_group.html.markdown b/website/docs/cdktf/python/r/ec2_availability_zone_group.html.markdown new file mode 100644 index 00000000000..1b23003c61b --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_availability_zone_group.html.markdown @@ -0,0 +1,53 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_availability_zone_group" +description: |- + Manages an EC2 Availability Zone Group. +--- + +# Resource: aws_ec2_availability_zone_group + +Manages an EC2 Availability Zone Group, such as updating its opt-in status. + +~> **NOTE:** This is an advanced Terraform resource. Terraform will automatically assume management of the EC2 Availability Zone Group without import and perform no actions on removal from configuration. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.ec2_availability_zone_group.Ec2AvailabilityZoneGroup(self, "example", + group_name="us-west-2-lax-1", + opt_in_status="opted-in" + ) +``` + +## Argument Reference + +The following arguments are required: + +* `group_name` - (Required) Name of the Availability Zone Group. +* `opt_in_status` - (Required) Indicates whether to enable or disable Availability Zone Group. Valid values: `opted-in` or `not-opted-in`. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - Name of the Availability Zone Group. + +## Import + +EC2 Availability Zone Groups can be imported using the group name, e.g., + +``` +$ terraform import aws_ec2_availability_zone_group.example us-west-2-lax-1 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_capacity_reservation.html.markdown b/website/docs/cdktf/python/r/ec2_capacity_reservation.html.markdown new file mode 100644 index 00000000000..fea396044a8 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_capacity_reservation.html.markdown @@ -0,0 +1,67 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_capacity_reservation" +description: |- + Provides an EC2 Capacity Reservation. This allows you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. +--- + +# Resource: aws_ec2_capacity_reservation + +Provides an EC2 Capacity Reservation. This allows you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.ec2_capacity_reservation.Ec2CapacityReservation(self, "default", + availability_zone="eu-west-1a", + instance_count=1, + instance_platform="Linux/UNIX", + instance_type="t2.micro" + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `availability_zone` - (Required) The Availability Zone in which to create the Capacity Reservation. +* `ebs_optimized` - (Optional) Indicates whether the Capacity Reservation supports EBS-optimized instances. +* `end_date` - (Optional) The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) +* `end_date_type` - (Optional) Indicates the way in which the Capacity Reservation ends. Specify either `unlimited` or `limited`. +* `ephemeral_storage` - (Optional) Indicates whether the Capacity Reservation supports instances with temporary, block-level storage. +* `instance_count` - (Required) The number of instances for which to reserve capacity. +* `instance_match_criteria` - (Optional) Indicates the type of instance launches that the Capacity Reservation accepts. Specify either `open` or `targeted`. +* `instance_platform` - (Required) The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. +* `instance_type` - (Required) The instance type for which to reserve capacity. +* `outpost_arn` - (Optional) The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation. +* `placement_group_arn` - (Optional) The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. +* `tags` - (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `tenancy` - (Optional) Indicates the tenancy of the Capacity Reservation. Specify either `default` or `dedicated`. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - The Capacity Reservation ID. +* `owner_id` - The ID of the AWS account that owns the Capacity Reservation. +* `arn` - The ARN of the Capacity Reservation. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) + +## Import + +Capacity Reservations can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_capacity_reservation.web cr-0123456789abcdef0 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_carrier_gateway.html.markdown b/website/docs/cdktf/python/r/ec2_carrier_gateway.html.markdown new file mode 100644 index 00000000000..93772d19dda --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_carrier_gateway.html.markdown @@ -0,0 +1,50 @@ +--- +subcategory: "Wavelength" +layout: "aws" +page_title: "AWS: aws_ec2_carrier_gateway" +description: |- + Manages an EC2 Carrier Gateway. +--- + +# Resource: aws_ec2_carrier_gateway + +Manages an EC2 Carrier Gateway. See the AWS [documentation](https://docs.aws.amazon.com/vpc/latest/userguide/Carrier_Gateway.html) for more information. + +## Example Usage + +```terraform +resource "aws_ec2_carrier_gateway" "example" { + vpc_id = aws_vpc.example.id + + tags = { + Name = "example-carrier-gateway" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `tags` - (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `vpc_id` - (Required) The ID of the VPC to associate with the carrier gateway. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - The ARN of the carrier gateway. +* `id` - The ID of the carrier gateway. +* `owner_id` - The AWS account ID of the owner of the carrier gateway. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +`aws_ec2_carrier_gateway` can be imported using the carrier gateway's ID, +e.g., + +``` +$ terraform import aws_ec2_carrier_gateway.example cgw-12345 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_client_vpn_authorization_rule.html.markdown b/website/docs/cdktf/python/r/ec2_client_vpn_authorization_rule.html.markdown new file mode 100644 index 00000000000..132561ee3c9 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_client_vpn_authorization_rule.html.markdown @@ -0,0 +1,57 @@ +--- +subcategory: "VPN (Client)" +layout: "aws" +page_title: "AWS: aws_ec2_client_vpn_authorization_rule" +description: |- + Provides authorization rules for AWS Client VPN endpoints. +--- + +# Resource: aws_ec2_client_vpn_authorization_rule + +Provides authorization rules for AWS Client VPN endpoints. For more information on usage, please see the +[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html). + +## Example Usage + +```terraform +resource "aws_ec2_client_vpn_authorization_rule" "example" { + client_vpn_endpoint_id = aws_ec2_client_vpn_endpoint.example.id + target_network_cidr = aws_subnet.example.cidr_block + authorize_all_groups = true +} +``` + +## Argument Reference + +The following arguments are supported: + +* `client_vpn_endpoint_id` - (Required) The ID of the Client VPN endpoint. +* `target_network_cidr` - (Required) The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies. +* `access_group_id` - (Optional) The ID of the group to which the authorization rule grants access. One of `access_group_id` or `authorize_all_groups` must be set. +* `authorize_all_groups` - (Optional) Indicates whether the authorization rule grants access to all clients. One of `access_group_id` or `authorize_all_groups` must be set. +* `description` - (Optional) A brief description of the authorization rule. + +## Attributes Reference + +No additional attributes are exported. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `10m`) +- `delete` - (Default `10m`) + +## Import + +AWS Client VPN authorization rules can be imported using the endpoint ID and target network CIDR. If there is a specific group name that is included as well. All values are separated by a `,`. + +``` +$ terraform import aws_ec2_client_vpn_authorization_rule.example cvpn-endpoint-0ac3a1abbccddd666,10.1.0.0/24 +``` + +``` +$ terraform import aws_ec2_client_vpn_authorization_rule.example cvpn-endpoint-0ac3a1abbccddd666,10.1.0.0/24,team-a +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_client_vpn_endpoint.html.markdown b/website/docs/cdktf/python/r/ec2_client_vpn_endpoint.html.markdown new file mode 100644 index 00000000000..d950ed10bd2 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_client_vpn_endpoint.html.markdown @@ -0,0 +1,101 @@ +--- +subcategory: "VPN (Client)" +layout: "aws" +page_title: "AWS: aws_ec2_client_vpn_endpoint" +description: |- + Provides an AWS Client VPN endpoint for OpenVPN clients. +--- + +# Resource: aws_ec2_client_vpn_endpoint + +Provides an AWS Client VPN endpoint for OpenVPN clients. For more information on usage, please see the +[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html). + +## Example Usage + +```terraform +resource "aws_ec2_client_vpn_endpoint" "example" { + description = "terraform-clientvpn-example" + server_certificate_arn = aws_acm_certificate.cert.arn + client_cidr_block = "10.0.0.0/16" + + authentication_options { + type = "certificate-authentication" + root_certificate_chain_arn = aws_acm_certificate.root_cert.arn + } + + connection_log_options { + enabled = true + cloudwatch_log_group = aws_cloudwatch_log_group.lg.name + cloudwatch_log_stream = aws_cloudwatch_log_stream.ls.name + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `authentication_options` - (Required) Information about the authentication method to be used to authenticate clients. +* `client_cidr_block` - (Required) The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. The CIDR block should be /22 or greater. +* `client_connect_options` - (Optional) The options for managing connection authorization for new client connections. +* `client_login_banner_options` - (Optional) Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established. +* `connection_log_options` - (Required) Information about the client connection logging options. +* `description` - (Optional) A brief description of the Client VPN endpoint. +* `dns_servers` - (Optional) Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address of the connecting device is used. +* `security_group_ids` - (Optional) The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups. +* `self_service_portal` - (Optional) Specify whether to enable the self-service portal for the Client VPN endpoint. Values can be `enabled` or `disabled`. Default value is `disabled`. +* `server_certificate_arn` - (Required) The ARN of the ACM server certificate. +* `session_timeout_hours` - (Optional) The maximum session duration is a trigger by which end-users are required to re-authenticate prior to establishing a VPN session. Default value is `24` - Valid values: `8 | 10 | 12 | 24` +* `split_tunnel` - (Optional) Indicates whether split-tunnel is enabled on VPN endpoint. Default value is `false`. +* `tags` - (Optional) A mapping of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `transport_protocol` - (Optional) The transport protocol to be used by the VPN session. Default value is `udp`. +* `vpc_id` - (Optional) The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied. +* `vpn_port` - (Optional) The port number for the Client VPN endpoint. Valid values are `443` and `1194`. Default value is `443`. + +### `authentication_options` Argument Reference + +One of the following arguments must be supplied: + +* `active_directory_id` - (Optional) The ID of the Active Directory to be used for authentication if type is `directory-service-authentication`. +* `root_certificate_chain_arn` - (Optional) The ARN of the client certificate. The certificate must be signed by a certificate authority (CA) and it must be provisioned in AWS Certificate Manager (ACM). Only necessary when type is set to `certificate-authentication`. +* `saml_provider_arn` - (Optional) The ARN of the IAM SAML identity provider if type is `federated-authentication`. +* `self_service_saml_provider_arn` - (Optional) The ARN of the IAM SAML identity provider for the self service portal if type is `federated-authentication`. +* `type` - (Required) The type of client authentication to be used. Specify `certificate-authentication` to use certificate-based authentication, `directory-service-authentication` to use Active Directory authentication, or `federated-authentication` to use Federated Authentication via SAML 2.0. + +### `client_connect_options` Argument reference + +* `enabled` - (Optional) Indicates whether client connect options are enabled. The default is `false` (not enabled). +* `lambda_function_arn` - (Optional) The Amazon Resource Name (ARN) of the Lambda function used for connection authorization. + +### `client_login_banner_options` Argument reference + +* `banner_text` - (Optional) Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. +* `enabled` - (Optional) Enable or disable a customizable text banner that will be displayed on AWS provided clients when a VPN session is established. The default is `false` (not enabled). + +### `connection_log_options` Argument Reference + +One of the following arguments must be supplied: + +* `cloudwatch_log_group` - (Optional) The name of the CloudWatch Logs log group. +* `cloudwatch_log_stream` - (Optional) The name of the CloudWatch Logs log stream to which the connection data is published. +* `enabled` - (Required) Indicates whether connection logging is enabled. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - The ARN of the Client VPN endpoint. +* `dns_name` - The DNS name to be used by clients when establishing their VPN session. +* `id` - The ID of the Client VPN endpoint. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +AWS Client VPN endpoints can be imported using the `id` value found via `aws ec2 describe-client-vpn-endpoints`, e.g., + +``` +$ terraform import aws_ec2_client_vpn_endpoint.example cvpn-endpoint-0ac3a1abbccddd666 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_client_vpn_network_association.html.markdown b/website/docs/cdktf/python/r/ec2_client_vpn_network_association.html.markdown new file mode 100644 index 00000000000..089c77dbb88 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_client_vpn_network_association.html.markdown @@ -0,0 +1,53 @@ +--- +subcategory: "VPN (Client)" +layout: "aws" +page_title: "AWS: aws_ec2_client_vpn_network_association" +description: |- + Provides network associations for AWS Client VPN endpoints. +--- + +# Resource: aws_ec2_client_vpn_network_association + +Provides network associations for AWS Client VPN endpoints. For more information on usage, please see the +[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html). + +## Example Usage + +```terraform +resource "aws_ec2_client_vpn_network_association" "example" { + client_vpn_endpoint_id = aws_ec2_client_vpn_endpoint.example.id + subnet_id = aws_subnet.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `client_vpn_endpoint_id` - (Required) The ID of the Client VPN endpoint. +* `subnet_id` - (Required) The ID of the subnet to associate with the Client VPN endpoint. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - The unique ID of the target network association. +* `association_id` - The unique ID of the target network association. +* `vpc_id` - The ID of the VPC in which the target subnet is located. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `30m`) +- `delete` - (Default `30m`) + +## Import + +AWS Client VPN network associations can be imported using the endpoint ID and the association ID. Values are separated by a `,`. + +``` +$ terraform import aws_ec2_client_vpn_network_association.example cvpn-endpoint-0ac3a1abbccddd666,vpn-assoc-0b8db902465d069ad +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_client_vpn_route.html.markdown b/website/docs/cdktf/python/r/ec2_client_vpn_route.html.markdown new file mode 100644 index 00000000000..eed51fdd474 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_client_vpn_route.html.markdown @@ -0,0 +1,76 @@ +--- +subcategory: "VPN (Client)" +layout: "aws" +page_title: "AWS: aws_ec2_client_vpn_route" +description: |- + Provides additional routes for AWS Client VPN endpoints. +--- + +# Resource: aws_ec2_client_vpn_route + +Provides additional routes for AWS Client VPN endpoints. For more information on usage, please see the +[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html). + +## Example Usage + +```terraform +resource "aws_ec2_client_vpn_route" "example" { + client_vpn_endpoint_id = aws_ec2_client_vpn_endpoint.example.id + destination_cidr_block = "0.0.0.0/0" + target_vpc_subnet_id = aws_ec2_client_vpn_network_association.example.subnet_id +} + +resource "aws_ec2_client_vpn_network_association" "example" { + client_vpn_endpoint_id = aws_ec2_client_vpn_endpoint.example.id + subnet_id = aws_subnet.example.id +} + +resource "aws_ec2_client_vpn_endpoint" "example" { + description = "Example Client VPN endpoint" + server_certificate_arn = aws_acm_certificate.example.arn + client_cidr_block = "10.0.0.0/16" + + authentication_options { + type = "certificate-authentication" + root_certificate_chain_arn = aws_acm_certificate.example.arn + } + + connection_log_options { + enabled = false + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `client_vpn_endpoint_id` - (Required) The ID of the Client VPN endpoint. +* `destination_cidr_block` - (Required) The IPv4 address range, in CIDR notation, of the route destination. +* `description` - (Optional) A brief description of the route. +* `target_vpc_subnet_id` - (Required) The ID of the Subnet to route the traffic through. It must already be attached to the Client VPN. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - The ID of the Client VPN endpoint. +* `origin` - Indicates how the Client VPN route was added. Will be `add-route` for routes created by this resource. +* `type` - The type of the route. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `4m`) +- `delete` - (Default `4m`) + +## Import + +AWS Client VPN routes can be imported using the endpoint ID, target subnet ID, and destination CIDR block. All values are separated by a `,`. + +``` +$ terraform import aws_ec2_client_vpn_route.example cvpn-endpoint-1234567890abcdef,subnet-9876543210fedcba,10.1.0.0/24 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_fleet.html.markdown b/website/docs/cdktf/python/r/ec2_fleet.html.markdown new file mode 100644 index 00000000000..2cac1b0a692 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_fleet.html.markdown @@ -0,0 +1,234 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_fleet" +description: |- + Provides a resource to manage EC2 Fleets +--- + +# Resource: aws_ec2_fleet + +Provides a resource to manage EC2 Fleets. + +## Example Usage + +```terraform +resource "aws_ec2_fleet" "example" { + launch_template_config { + launch_template_specification { + launch_template_id = aws_launch_template.example.id + version = aws_launch_template.example.latest_version + } + } + + target_capacity_specification { + default_target_capacity_type = "spot" + total_target_capacity = 5 + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `context` - (Optional) Reserved. +* `excess_capacity_termination_policy` - (Optional) Whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2. Valid values: `no-termination`, `termination`. Defaults to `termination`. Supported only for fleets of type `maintain`. +* `launch_template_config` - (Required) Nested argument containing EC2 Launch Template configurations. Defined below. +* `on_demand_options` - (Optional) Nested argument containing On-Demand configurations. Defined below. +* `replace_unhealthy_instances` - (Optional) Whether EC2 Fleet should replace unhealthy instances. Defaults to `false`. Supported only for fleets of type `maintain`. +* `spot_options` - (Optional) Nested argument containing Spot configurations. Defined below. +* `tags` - (Optional) Map of Fleet tags. To tag instances at launch, specify the tags in the Launch Template. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `target_capacity_specification` - (Required) Nested argument containing target capacity configurations. Defined below. +* `terminate_instances` - (Optional) Whether to terminate instances for an EC2 Fleet if it is deleted successfully. Defaults to `false`. +* `terminate_instances_with_expiration` - (Optional) Whether running instances should be terminated when the EC2 Fleet expires. Defaults to `false`. +* `type` - (Optional) The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. Valid values: `maintain`, `request`, `instant`. Defaults to `maintain`. +* `valid_from` - (Optional) The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately. +* `valid_until` - (Optional) The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it. + +### launch_template_config + +Describes a launch template and overrides. + +* `launch_template_specification` - (Optional) Nested argument containing EC2 Launch Template to use. Defined below. +* `override` - (Optional) Nested argument(s) containing parameters to override the same parameters in the Launch Template. Defined below. + +#### launch_template_specification + +The launch template to use. You must specify either the launch template ID or launch template name in the request. + +* `launch_template_id` - (Optional) The ID of the launch template. +* `launch_template_name` - (Optional) The name of the launch template. +* `version` - (Required) The launch template version number, `$Latest`, or `$Default.` + +#### override + +Any parameters that you specify override the same parameters in the launch template. For fleets of type `request` and `maintain`, a maximum of 300 items is allowed across all launch templates. + +Example: + +```terraform +resource "aws_ec2_fleet" "example" { + # ... other configuration ... + + launch_template_config { + # ... other configuration ... + + override { + instance_type = "m4.xlarge" + weighted_capacity = 1 + } + + override { + instance_type = "m4.2xlarge" + weighted_capacity = 2 + } + } +} +``` + +* `availability_zone` - (Optional) Availability Zone in which to launch the instances. +* `instance_requirements` - (Optional) Override the instance type in the Launch Template with instance types that satisfy the requirements. +* `instance_type` - (Optional) Instance type. +* `max_price` - (Optional) Maximum price per unit hour that you are willing to pay for a Spot Instance. +* `priority` - (Optional) Priority for the launch template override. If `on_demand_options` `allocation_strategy` is set to `prioritized`, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. Valid values are whole numbers starting at 0. +* `subnet_id` - (Optional) ID of the subnet in which to launch the instances. +* `weighted_capacity` - (Optional) Number of units provided by the specified instance type. + +##### instance_requirements + +The attributes for the instance types. For a list of currently supported values, please see ['InstanceRequirementsRequest'](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceRequirementsRequest.html). + +This configuration block supports the following: + +~> **NOTE:** Both `memory_mib.min` and `vcpu_count.min` must be specified. + +* `accelerator_count` - (Optional) Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum limits. + * `min` - (Optional) Minimum. + * `max` - (Optional) Maximum. Set to `0` to exclude instance types with accelerators. +* `accelerator_manufacturers` - (Optional) List of accelerator manufacturer names. Default is any manufacturer. +* `accelerator_names` - (Optional) List of accelerator names. Default is any acclerator. +* `accelerator_total_memory_mib` - (Optional) Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. + * `min` - (Optional) The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter. + * `max` - (Optional) The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter. +* `accelerator_types` - (Optional) The accelerator types that must be on the instance type. Default is any accelerator type. +* `allowed_instance_types` - (Optional) The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards,represented by an asterisk (\*). The following are examples: `c5*`, `m5a.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*`, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types. Default is any instance type. + + If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. + +* `bare_metal` - (Optional) Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. +* `baseline_ebs_bandwidth_mbps` - (Optional) Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. + * `min` - (Optional) The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.. + * `max` - (Optional) The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.. +* `burstable_performance` - (Optional) Indicates whether burstable performance T instance types are `included`, `excluded`, or `required`. Default is `excluded`. +* `cpu_manufacturers` (Optional) The CPU manufacturers to include. Default is any manufacturer. + ~> **NOTE:** Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. +* `excluded_instance_types` - (Optional) The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\*). The following are examples: `c5*`, `m5a.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*`, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types. + + If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. + +* `instance_generations` - (Optional) Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Valid values are `current` and `previous`. Default is `current` and `previous` generation instance types. +* `local_storage` - (Optional) Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. +* `local_storage_types` - (Optional) List of local storage type names. Valid values are `hdd` and `ssd`. Default any storage type. +* `memory_gib_per_vcpu` - (Optional) Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. + * `min` - (Optional) The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter. + * `max` - (Optional) The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter. +* `memory_mib` - (Required) The minimum and maximum amount of memory per vCPU, in GiB. Default is no minimum or maximum limits. + * `min` - (Required) The minimum amount of memory, in MiB. To specify no minimum limit, specify `0`. + * `max` - (Optional) The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter. +* `network_bandwidth_gbps` - (Optional) The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is No minimum or maximum. + * `min` - (Optional) The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter. + * `max` - (Optional) The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter. +* `network_interface_count` - (Optional) Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. + * `min` - (Optional) The minimum number of network interfaces. To specify no minimum limit, omit this parameter. + * `max` - (Optional) The maximum number of network interfaces. To specify no maximum limit, omit this parameter. +* `on_demand_max_price_percentage_over_lowest_price` - (Optional) The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. + + If you set `target_capacity_unit_type` to `vcpu` or `memory-mib`, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. + +* `require_hibernate_support` - (Optional) Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. +* `spot_max_price_percentage_over_lowest_price` - (Optional) The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. + + If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. + +* `total_local_storage_gb` - (Optional) Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. + * `min` - (Optional) The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter. + * `max` - (Optional) The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter. +* `vcpu_count` - (Required) Block describing the minimum and maximum number of vCPUs. Default is no maximum. + * `min` - (Required) The minimum number of vCPUs. To specify no minimum limit, specify `0`. + * `max` - (Optional) The maximum number of vCPUs. To specify no maximum limit, omit this parameter. + +### on_demand_options + +* `allocation_strategy` - (Optional) The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. +* `capacity_reservation_options` (Optional) The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + * `usage_strategy` - (Optional) Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. +* `max_total_price` - (Optional) The maximum amount per hour for On-Demand Instances that you're willing to pay. +* `min_target_capacity` - (Optional) The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. + If you specify `min_target_capacity`, at least one of the following must be specified: `single_availability_zone` or `single_instance_type`. + +* `single_availability_zone` - (Optional) Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported only for fleets of type `instant`. +* `single_instance_type` - (Optional) Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. Supported only for fleets of type `instant`. + +### spot_options + +* `allocation_strategy` - (Optional) How to allocate the target capacity across the Spot pools. Valid values: `diversified`, `lowestPrice`, `capacity-optimized`, `capacity-optimized-prioritized` and `price-capacity-optimized`. Default: `lowestPrice`. +* `instance_interruption_behavior` - (Optional) Behavior when a Spot Instance is interrupted. Valid values: `hibernate`, `stop`, `terminate`. Default: `terminate`. +* `instance_pools_to_use_count` - (Optional) Number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot `allocation_strategy` is set to `lowestPrice`. Default: `1`. +* `maintenance_strategies` - (Optional) Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below. +* `max_total_price` - (Optional) The maximum amount per hour for Spot Instances that you're willing to pay. +* `min_target_capacity` - (Optional) The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. +* `single_availability_zone` - (Optional) Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported only for fleets of type `instant`. +* `single_instance_type` - (Optional) Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. Supported only for fleets of type `instant`. + +### maintenance_strategies + +* `capacity_rebalance` - (Optional) Nested argument containing the capacity rebalance for your fleet request. Defined below. + +### capacity_rebalance + +* `replacement_strategy` - (Optional) The replacement strategy to use. Only available for fleets of `type` set to `maintain`. Valid values: `launch`. + +### target_capacity_specification + +* `default_target_capacity_type` - (Required) Default target capacity type. Valid values: `on-demand`, `spot`. +* `on_demand_target_capacity` - (Optional) The number of On-Demand units to request. +* `spot_target_capacity` - (Optional) The number of Spot units to request. +* `target_capacity_unit_type` - (Optional) The unit for the target capacity. + If you specify `target_capacity_unit_type`, `instance_requirements` must be specified. + +* `total_target_capacity` - (Required) The number of units to request, filled using `default_target_capacity_type`. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - Fleet identifier +* `arn` - The ARN of the fleet +* `fleet_instance_set` - Information about the instances that were launched by the fleet. Available only when `type` is set to `instant`. + * `instance_ids` - The IDs of the instances. + * `instance_type` - The instance type. + * `lifecycle` - Indicates if the instance that was launched is a Spot Instance or On-Demand Instance. + * `platform` - The value is `Windows` for Windows instances. Otherwise, the value is blank. +* `fleet_state` - The state of the EC2 Fleet. +* `fulfilled_capacity` - The number of units fulfilled by this request compared to the set target capacity. +* `fulfilled_on_demand_capacity` - The number of units fulfilled by this request compared to the set target On-Demand capacity. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `10m`) +* `update` - (Default `10m`) +* `delete` - (Default `10m`) + +## Import + +`aws_ec2_fleet` can be imported by using the Fleet identifier, e.g., + +``` +$ terraform import aws_ec2_fleet.example fleet-b9b55d27-c5fc-41ac-a6f3-48fcc91f080c +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_host.html.markdown b/website/docs/cdktf/python/r/ec2_host.html.markdown new file mode 100644 index 00000000000..46583ee083d --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_host.html.markdown @@ -0,0 +1,61 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_host" +description: |- + Provides an EC2 Host resource. This allows Dedicated Hosts to be allocated, modified, and released. +--- + +# Resource: aws_ec2_host + +Provides an EC2 Host resource. This allows Dedicated Hosts to be allocated, modified, and released. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.ec2_host.Ec2Host(self, "test", + auto_placement="on", + availability_zone="us-west-2a", + host_recovery="on", + instance_type="c5.18xlarge" + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `auto_placement` - (Optional) Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. Valid values: `on`, `off`. Default: `on`. +* `availability_zone` - (Required) The Availability Zone in which to allocate the Dedicated Host. +* `host_recovery` - (Optional) Indicates whether to enable or disable host recovery for the Dedicated Host. Valid values: `on`, `off`. Default: `off`. +* `instance_family` - (Optional) Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family. Exactly one of `instance_family` or `instance_type` must be specified. +* `instance_type` - (Optional) Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only. Exactly one of `instance_family` or `instance_type` must be specified. +* `outpost_arn` - (Optional) The Amazon Resource Name (ARN) of the AWS Outpost on which to allocate the Dedicated Host. +* `tags` - (Optional) Map of tags to assign to this resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - The ID of the allocated Dedicated Host. This is used to launch an instance onto a specific host. +* `arn` - The ARN of the Dedicated Host. +* `owner_id` - The ID of the AWS account that owns the Dedicated Host. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +Hosts can be imported using the host `id`, e.g., + +``` +$ terraform import aws_ec2_host.example h-0385a99d0e4b20cbb +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_instance_state.html.markdown b/website/docs/cdktf/python/r/ec2_instance_state.html.markdown new file mode 100644 index 00000000000..01da15e39d7 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_instance_state.html.markdown @@ -0,0 +1,86 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_instance_state" +description: |- + Provides an EC2 instance state resource. This allows managing an instance power state. +--- + +# Resource: aws_ec2_instance_state + +Provides an EC2 instance state resource. This allows managing an instance power state. + +~> **NOTE on Instance State Management:** AWS does not currently have an EC2 API operation to determine an instance has finished processing user data. As a result, this resource can interfere with user data processing. For example, this resource may stop an instance while the user data script is in mid run. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + data_aws_ami_ubuntu = aws.data_aws_ami.DataAwsAmi(self, "ubuntu", + filter=[DataAwsAmiFilter( + name="name", + values=["ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*"] + ), DataAwsAmiFilter( + name="virtualization-type", + values=["hvm"] + ) + ], + most_recent=True, + owners=["099720109477"] + ) + aws_instance_test = aws.instance.Instance(self, "test", + ami=cdktf.Token.as_string(data_aws_ami_ubuntu.id), + instance_type="t3.micro", + tags={ + "Name": "HelloWorld" + } + ) + aws_ec2_instance_state_test = aws.ec2_instance_state.Ec2InstanceState(self, "test_2", + instance_id=cdktf.Token.as_string(aws_instance_test.id), + state="stopped" + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_ec2_instance_state_test.override_logical_id("test") +``` + +## Argument Reference + +The following arguments are required: + +* `instance_id` - (Required) ID of the instance. +* `state` - (Required) - State of the instance. Valid values are `stopped`, `running`. + +The following arguments are optional: + +* `force` - (Optional) Whether to request a forced stop when `state` is `stopped`. Otherwise (_i.e._, `state` is `running`), ignored. When an instance is forced to stop, it does not flush file system caches or file system metadata, and you must subsequently perform file system check and repair. Not recommended for Windows instances. Defaults to `false`. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the instance (matches `instance_id`). + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `10m`) +* `update` - (Default `10m`) +* `delete` - (Default `1m`) + +## Import + +`aws_ec2_instance_state` can be imported by using the `instance_id` attribute, e.g., + +``` +$ terraform import aws_ec2_instance_state.test i-02cae6557dfcf2f96 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_local_gateway_route.html.markdown b/website/docs/cdktf/python/r/ec2_local_gateway_route.html.markdown new file mode 100644 index 00000000000..815dec7e437 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_local_gateway_route.html.markdown @@ -0,0 +1,45 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_route" +description: |- + Manages an EC2 Local Gateway Route +--- + +# Resource: aws_ec2_local_gateway_route + +Manages an EC2 Local Gateway Route. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + +## Example Usage + +```terraform +resource "aws_ec2_local_gateway_route" "example" { + destination_cidr_block = "172.16.0.0/16" + local_gateway_route_table_id = data.aws_ec2_local_gateway_route_table.example.id + local_gateway_virtual_interface_group_id = data.aws_ec2_local_gateway_virtual_interface_group.example.id +} +``` + +## Argument Reference + +The following arguments are required: + +* `destination_cidr_block` - (Required) IPv4 CIDR range used for destination matches. Routing decisions are based on the most specific match. +* `local_gateway_route_table_id` - (Required) Identifier of EC2 Local Gateway Route Table. +* `local_gateway_virtual_interface_group_id` - (Required) Identifier of EC2 Local Gateway Virtual Interface Group. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Local Gateway Route Table identifier and destination CIDR block separated by underscores (`_`) + +## Import + +`aws_ec2_local_gateway_route` can be imported by using the EC2 Local Gateway Route Table identifier and destination CIDR block separated by underscores (`_`), e.g., + +``` +$ terraform import aws_ec2_local_gateway_route.example lgw-rtb-12345678_172.16.0.0/16 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_local_gateway_route_table_vpc_association.html.markdown b/website/docs/cdktf/python/r/ec2_local_gateway_route_table_vpc_association.html.markdown new file mode 100644 index 00000000000..842b4f5b10b --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_local_gateway_route_table_vpc_association.html.markdown @@ -0,0 +1,68 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_route_table_vpc_association" +description: |- + Manages an EC2 Local Gateway Route Table VPC Association +--- + +# Resource: aws_ec2_local_gateway_route_table_vpc_association + +Manages an EC2 Local Gateway Route Table VPC Association. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html#vpc-associations). + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws_vpc_example = aws.vpc.Vpc(self, "example", + cidr_block="10.0.0.0/16" + ) + data_aws_ec2_local_gateway_route_table_example = + aws.data_aws_ec2_local_gateway_route_table.DataAwsEc2LocalGatewayRouteTable(self, "example_1", + outpost_arn="arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef" + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + data_aws_ec2_local_gateway_route_table_example.override_logical_id("example") + aws_ec2_local_gateway_route_table_vpc_association_example = + aws.ec2_local_gateway_route_table_vpc_association.Ec2LocalGatewayRouteTableVpcAssociation(self, "example_2", + local_gateway_route_table_id=cdktf.Token.as_string(data_aws_ec2_local_gateway_route_table_example.id), + vpc_id=cdktf.Token.as_string(aws_vpc_example.id) + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_ec2_local_gateway_route_table_vpc_association_example.override_logical_id("example") +``` + +## Argument Reference + +The following arguments are required: + +* `local_gateway_route_table_id` - (Required) Identifier of EC2 Local Gateway Route Table. +* `vpc_id` - (Required) Identifier of EC2 VPC. + +The following arguments are optional: + +* `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - Identifier of EC2 Local Gateway Route Table VPC Association. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +`aws_ec2_local_gateway_route_table_vpc_association` can be imported by using the Local Gateway Route Table VPC Association identifier, e.g., + +``` +$ terraform import aws_ec2_local_gateway_route_table_vpc_association.example lgw-vpc-assoc-1234567890abcdef +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_managed_prefix_list.html.markdown b/website/docs/cdktf/python/r/ec2_managed_prefix_list.html.markdown new file mode 100644 index 00000000000..304664078e6 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_managed_prefix_list.html.markdown @@ -0,0 +1,84 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_managed_prefix_list" +description: |- + Provides a managed prefix list resource. +--- + +# Resource: aws_ec2_managed_prefix_list + +Provides a managed prefix list resource. + +~> **NOTE on Managed Prefix Lists and Managed Prefix List Entries:** Terraform +currently provides both a standalone [Managed Prefix List Entry resource](ec2_managed_prefix_list_entry.html) (a single entry), +and a Managed Prefix List resource with entries defined in-line. At this time you +cannot use a Managed Prefix List with in-line rules in conjunction with any Managed +Prefix List Entry resources. Doing so will cause a conflict of entries and will overwrite entries. + +~> **NOTE on `max_entries`:** When you reference a Prefix List in a resource, +the maximum number of entries for the prefix lists counts as the same number of rules +or entries for the resource. For example, if you create a prefix list with a maximum +of 20 entries and you reference that prefix list in a security group rule, this counts +as 20 rules for the security group. + +## Example Usage + +Basic usage + +```terraform +resource "aws_ec2_managed_prefix_list" "example" { + name = "All VPC CIDR-s" + address_family = "IPv4" + max_entries = 5 + + entry { + cidr = aws_vpc.example.cidr_block + description = "Primary" + } + + entry { + cidr = aws_vpc_ipv4_cidr_block_association.example.cidr_block + description = "Secondary" + } + + tags = { + Env = "live" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `address_family` - (Required, Forces new resource) Address family (`IPv4` or `IPv6`) of this prefix list. +* `entry` - (Optional) Configuration block for prefix list entry. Detailed below. Different entries may have overlapping CIDR blocks, but a particular CIDR should not be duplicated. +* `max_entries` - (Required) Maximum number of entries that this prefix list can contain. +* `name` - (Required) Name of this resource. The name must not start with `com.amazonaws`. +* `tags` - (Optional) Map of tags to assign to this resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +### `entry` + +* `cidr` - (Required) CIDR block of this entry. +* `description` - (Optional) Description of this entry. Due to API limitations, updating only the description of an existing entry requires temporarily removing and re-adding the entry. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - ARN of the prefix list. +* `id` - ID of the prefix list. +* `owner_id` - ID of the AWS account that owns this prefix list. +* `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `version` - Latest version of this prefix list. + +## Import + +Prefix Lists can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_managed_prefix_list.default pl-0570a1d2d725c16be +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_managed_prefix_list_entry.html.markdown b/website/docs/cdktf/python/r/ec2_managed_prefix_list_entry.html.markdown new file mode 100644 index 00000000000..2c2617cd846 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_managed_prefix_list_entry.html.markdown @@ -0,0 +1,69 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_managed_prefix_list_entry" +description: |- + Provides a managed prefix list entry resource. +--- + +# Resource: aws_ec2_managed_prefix_list_entry + +Provides a managed prefix list entry resource. + +~> **NOTE on Managed Prefix Lists and Managed Prefix List Entries:** Terraform +currently provides both a standalone Managed Prefix List Entry resource (a single entry), +and a [Managed Prefix List resource](ec2_managed_prefix_list.html) with entries defined +in-line. At this time you cannot use a Managed Prefix List with in-line rules in +conjunction with any Managed Prefix List Entry resources. Doing so will cause a conflict +of entries and will overwrite entries. + +~> **NOTE on Managed Prefix Lists with many entries:** To improved execution times on larger +updates, if you plan to create a prefix list with more than 100 entries, it is **recommended** +that you use the inline `entry` block as part of the [Managed Prefix List resource](ec2_managed_prefix_list.html) +resource instead. + +## Example Usage + +Basic usage + +```terraform +resource "aws_ec2_managed_prefix_list" "example" { + name = "All VPC CIDR-s" + address_family = "IPv4" + max_entries = 5 + + tags = { + Env = "live" + } +} + +resource "aws_ec2_managed_prefix_list_entry" "entry_1" { + cidr = aws_vpc.example.cidr_block + description = "Primary" + prefix_list_id = aws_ec2_managed_prefix_list.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `cidr` - (Required) CIDR block of this entry. +* `description` - (Optional) Description of this entry. Due to API limitations, updating only the description of an entry requires recreating the entry. +* `prefix_list_id` - (Required) CIDR block of this entry. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the managed prefix list entry. + +## Import + +Prefix List Entries can be imported using the `prefix_list_id` and `cidr` separated by a `,`, e.g., + +``` +$ terraform import aws_ec2_managed_prefix_list_entry.default pl-0570a1d2d725c16be,10.0.3.0/24 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_network_insights_analysis.html.markdown b/website/docs/cdktf/python/r/ec2_network_insights_analysis.html.markdown new file mode 100644 index 00000000000..74ecc094ad2 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_network_insights_analysis.html.markdown @@ -0,0 +1,69 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_network_insights_analysis" +description: |- + Provides a Network Insights Analysis resource. +--- + +# Resource: aws_ec2_network_insights_analysis + +Provides a Network Insights Analysis resource. Part of the "Reachability Analyzer" service in the AWS VPC console. + +## Example Usage + +```terraform +resource "aws_ec2_network_insights_path" "path" { + source = aws_network_interface.source.id + destination = aws_network_interface.destination.id + protocol = "tcp" +} + +resource "aws_ec2_network_insights_analysis" "analysis" { + network_insights_path_id = aws_ec2_network_insights_path.path.id +} +``` + +## Argument Reference + +The following arguments are required: + +* `network_insights_path_id` - (Required) ID of the Network Insights Path to run an analysis on. + +The following arguments are optional: + +* `filter_in_arns` - (Optional) A list of ARNs for resources the path must traverse. +* `wait_for_completion` - (Optional) If enabled, the resource will wait for the Network Insights Analysis status to change to `succeeded` or `failed`. Setting this to `false` will skip the process. Default: `true`. +* `tags` - (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `alternate_path_hints` - Potential intermediate components of a feasible path. Described below. +* `arn` - ARN of the Network Insights Analysis. +* `explanations` - Explanation codes for an unreachable path. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Explanation.html) for details. +* `forward_path_components` - The components in the path from source to destination. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_PathComponent.html) for details. +* `id` - ID of the Network Insights Analysis. +* `path_found` - Set to `true` if the destination was reachable. +* `return_path_components` - The components in the path from destination to source. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_PathComponent.html) for details. +* `start_date` - The date/time the analysis was started. +* `status` - The status of the analysis. `succeeded` means the analysis was completed, not that a path was found, for that see `path_found`. +* `status_message` - A message to provide more context when the `status` is `failed`. +* `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block). +* `warning_message` - The warning message. + +The `alternate_path_hints` object supports the following: + +* `component_arn` - The Amazon Resource Name (ARN) of the component. +* `component_id` - The ID of the component. + +## Import + +Network Insights Analyses can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_network_insights_analysis.test nia-0462085c957f11a55 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_network_insights_path.html.markdown b/website/docs/cdktf/python/r/ec2_network_insights_path.html.markdown new file mode 100644 index 00000000000..2b0b1ba32fa --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_network_insights_path.html.markdown @@ -0,0 +1,54 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_network_insights_path" +description: |- + Provides a Network Insights Path resource. +--- + +# Resource: aws_ec2_network_insights_path + +Provides a Network Insights Path resource. Part of the "Reachability Analyzer" service in the AWS VPC console. + +## Example Usage + +```terraform +resource "aws_ec2_network_insights_path" "test" { + source = aws_network_interface.source.id + destination = aws_network_interface.destination.id + protocol = "tcp" +} +``` + +## Argument Reference + +The following arguments are required: + +* `source` - (Required) ID of the resource which is the source of the path. Can be an Instance, Internet Gateway, Network Interface, Transit Gateway, VPC Endpoint, VPC Peering Connection or VPN Gateway. +* `destination` - (Required) ID of the resource which is the source of the path. Can be an Instance, Internet Gateway, Network Interface, Transit Gateway, VPC Endpoint, VPC Peering Connection or VPN Gateway. +* `protocol` - (Required) Protocol to use for analysis. Valid options are `tcp` or `udp`. + +The following arguments are optional: + +* `source_ip` - (Optional) IP address of the source resource. +* `destination_ip` - (Optional) IP address of the destination resource. +* `destination_port` - (Optional) Destination port to analyze access to. +* `tags` - (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - ARN of the Network Insights Path. +* `id` - ID of the Network Insights Path. +* `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +Network Insights Paths can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_network_insights_path.test nip-00edfba169923aefd +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_serial_console_access.html.markdown b/website/docs/cdktf/python/r/ec2_serial_console_access.html.markdown new file mode 100644 index 00000000000..10586885f97 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_serial_console_access.html.markdown @@ -0,0 +1,49 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_serial_console_access" +description: |- + Manages whether serial console access is enabled for your AWS account in the current AWS region. +--- + +# Resource: aws_ec2_serial_console_access + +Provides a resource to manage whether serial console access is enabled for your AWS account in the current AWS region. + +~> **NOTE:** Removing this Terraform resource disables serial console access. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.ec2_serial_console_access.Ec2SerialConsoleAccess(self, "example", + enabled=True + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `enabled` - (Optional) Whether or not serial console access is enabled. Valid values are `true` or `false`. Defaults to `true`. + +## Attributes Reference + +No additional attributes are exported. + +## Import + +Serial console access state can be imported, e.g., + +``` +$ terraform import aws_ec2_serial_console_access.example default +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_subnet_cidr_reservation.html.markdown b/website/docs/cdktf/python/r/ec2_subnet_cidr_reservation.html.markdown new file mode 100644 index 00000000000..059efaf893e --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_subnet_cidr_reservation.html.markdown @@ -0,0 +1,47 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_subnet_cidr_reservation" +description: |- + Provides a subnet CIDR reservation resource. +--- + +# Resource: aws_ec2_subnet_cidr_reservation + +Provides a subnet CIDR reservation resource. + +## Example Usage + +```terraform +resource "aws_ec2_subnet_cidr_reservation" "example" { + cidr_block = "10.0.0.16/28" + reservation_type = "prefix" + subnet_id = aws_subnet.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `cidr_block` - (Required) The CIDR block for the reservation. +* `reservation_type` - (Required) The type of reservation to create. Valid values: `explicit`, `prefix` +* `subnet_id` - (Required) The ID of the subnet to create the reservation for. +* `description` - (Optional) A brief description of the reservation. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the CIDR reservation. +* `owner_id` - ID of the AWS account that owns this CIDR reservation. + +## Import + +Existing CIDR reservations can be imported using `SUBNET_ID:RESERVATION_ID`, e.g., + +``` +$ terraform import aws_ec2_subnet_cidr_reservation.example subnet-01llsxvsxabqiymcz:scr-4mnvz6wb7otksjcs9 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_tag.html.markdown b/website/docs/cdktf/python/r/ec2_tag.html.markdown new file mode 100644 index 00000000000..15b700f40d9 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_tag.html.markdown @@ -0,0 +1,75 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_tag" +description: |- + Manages an individual EC2 resource tag +--- + +# Resource: aws_ec2_tag + +Manages an individual EC2 resource tag. This resource should only be used in cases where EC2 resources are created outside Terraform (e.g., AMIs), being shared via Resource Access Manager (RAM), or implicitly created by other means (e.g., Transit Gateway VPN Attachments). + +~> **NOTE:** This tagging resource should not be combined with the Terraform resource for managing the parent resource. For example, using `aws_vpc` and `aws_ec2_tag` to manage tags of the same VPC will cause a perpetual difference where the `aws_vpc` resource will try to remove the tag being added by the `aws_ec2_tag` resource. + +~> **NOTE:** This tagging resource does not use the [provider `ignore_tags` configuration](/docs/providers/aws/index.html#ignore_tags). + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws_customer_gateway_example = aws.customer_gateway.CustomerGateway(self, "example", + bgp_asn=cdktf.Token.as_string(65000), + ip_address="172.0.0.1", + type="ipsec.1" + ) + aws_ec2_transit_gateway_example = + aws.ec2_transit_gateway.Ec2TransitGateway(self, "example_1") + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_ec2_transit_gateway_example.override_logical_id("example") + aws_vpn_connection_example = aws.vpn_connection.VpnConnection(self, "example_2", + customer_gateway_id=cdktf.Token.as_string(aws_customer_gateway_example.id), + transit_gateway_id=cdktf.Token.as_string(aws_ec2_transit_gateway_example.id), + type=cdktf.Token.as_string(aws_customer_gateway_example.type) + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_vpn_connection_example.override_logical_id("example") + aws_ec2_tag_example = aws.ec2_tag.Ec2Tag(self, "example_3", + key="Name", + resource_id=cdktf.Token.as_string(aws_vpn_connection_example.transit_gateway_attachment_id), + value="Hello World" + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_ec2_tag_example.override_logical_id("example") +``` + +## Argument Reference + +The following arguments are supported: + +* `resource_id` - (Required) The ID of the EC2 resource to manage the tag for. +* `key` - (Required) The tag name. +* `value` - (Required) The value of the tag. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 resource identifier and key, separated by a comma (`,`) + +## Import + +`aws_ec2_tag` can be imported by using the EC2 resource identifier and key, separated by a comma (`,`), e.g., + +``` +$ terraform import aws_ec2_tag.example tgw-attach-1234567890abcdef,Name +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_traffic_mirror_filter.html.markdown b/website/docs/cdktf/python/r/ec2_traffic_mirror_filter.html.markdown new file mode 100644 index 00000000000..1fc8bf46f48 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_traffic_mirror_filter.html.markdown @@ -0,0 +1,57 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_traffic_mirror_filter" +description: |- + Provides an Traffic mirror filter +--- + +# Resource: aws_ec2_traffic_mirror_filter + +Provides an Traffic mirror filter. +Read [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring + +## Example Usage + +To create a basic traffic mirror filter + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.ec2_traffic_mirror_filter.Ec2TrafficMirrorFilter(self, "foo", + description="traffic mirror filter - terraform example", + network_services=["amazon-dns"] + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `description` - (Optional, Forces new resource) A description of the filter. +* `network_services` - (Optional) List of amazon network services that should be mirrored. Valid values: `amazon-dns`. +* `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - The ARN of the traffic mirror filter. +* `id` - The name of the filter. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +Traffic mirror filter can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_traffic_mirror_filter.foo tmf-0fbb93ddf38198f64 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_traffic_mirror_filter_rule.html.markdown b/website/docs/cdktf/python/r/ec2_traffic_mirror_filter_rule.html.markdown new file mode 100644 index 00000000000..86094c8e80c --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_traffic_mirror_filter_rule.html.markdown @@ -0,0 +1,96 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_traffic_mirror_filter_rule" +description: |- + Provides an Traffic mirror filter rule +--- + +# Resource: aws_ec2_traffic_mirror_filter_rule + +Provides an Traffic mirror filter rule. +Read [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring + +## Example Usage + +To create a basic traffic mirror session + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws_ec2_traffic_mirror_filter_filter = + aws.ec2_traffic_mirror_filter.Ec2TrafficMirrorFilter(self, "filter", + description="traffic mirror filter - terraform example", + network_services=["amazon-dns"] + ) + aws.ec2_traffic_mirror_filter_rule.Ec2TrafficMirrorFilterRule(self, "rulein", + description="test rule", + destination_cidr_block="10.0.0.0/8", + destination_port_range=Ec2TrafficMirrorFilterRuleDestinationPortRange( + from_port=22, + to_port=53 + ), + protocol=6, + rule_action="accept", + rule_number=1, + source_cidr_block="10.0.0.0/8", + source_port_range=Ec2TrafficMirrorFilterRuleSourcePortRange( + from_port=0, + to_port=10 + ), + traffic_direction="ingress", + traffic_mirror_filter_id=cdktf.Token.as_string(aws_ec2_traffic_mirror_filter_filter.id) + ) + aws.ec2_traffic_mirror_filter_rule.Ec2TrafficMirrorFilterRule(self, "ruleout", + description="test rule", + destination_cidr_block="10.0.0.0/8", + rule_action="accept", + rule_number=1, + source_cidr_block="10.0.0.0/8", + traffic_direction="egress", + traffic_mirror_filter_id=cdktf.Token.as_string(aws_ec2_traffic_mirror_filter_filter.id) + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `description` - (Optional) Description of the traffic mirror filter rule. +* `traffic_mirror_filter_id` - (Required) ID of the traffic mirror filter to which this rule should be added +* `destination_cidr_block` - (Required) Destination CIDR block to assign to the Traffic Mirror rule. +* `destination_port_range` - (Optional) Destination port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below +* `protocol` - (Optional) Protocol number, for example 17 (UDP), to assign to the Traffic Mirror rule. For information about the protocol value, see [Protocol Numbers](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) on the Internet Assigned Numbers Authority (IANA) website. +* `rule_action` - (Required) Action to take (accept | reject) on the filtered traffic. Valid values are `accept` and `reject` +* `rule_number` - (Required) Number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number. +* `source_cidr_block` - (Required) Source CIDR block to assign to the Traffic Mirror rule. +* `source_port_range` - (Optional) Source port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below +* `traffic_direction` - (Required) Direction of traffic to be captured. Valid values are `ingress` and `egress` + +Traffic mirror port range support following attributes: + +* `from_port` - (Optional) Starting port of the range +* `to_port` - (Optional) Ending port of the range + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - ARN of the traffic mirror filter rule. +* `id` - Name of the traffic mirror filter rule. + +## Import + +Traffic mirror rules can be imported using the `traffic_mirror_filter_id` and `id` separated by `:` e.g., + +``` +$ terraform import aws_ec2_traffic_mirror_filter_rule.rule tmf-0fbb93ddf38198f64:tmfr-05a458f06445d0aee +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_traffic_mirror_session.html.markdown b/website/docs/cdktf/python/r/ec2_traffic_mirror_session.html.markdown new file mode 100644 index 00000000000..58b0d2dc980 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_traffic_mirror_session.html.markdown @@ -0,0 +1,67 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_traffic_mirror_session" +description: |- + Provides a Traffic mirror session +--- + +# Resource: aws_ec2_traffic_mirror_session + +Provides an Traffic mirror session. +Read [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring + +## Example Usage + +To create a basic traffic mirror session + +```terraform +resource "aws_ec2_traffic_mirror_filter" "filter" { + description = "traffic mirror filter - terraform example" + network_services = ["amazon-dns"] +} + +resource "aws_ec2_traffic_mirror_target" "target" { + network_load_balancer_arn = aws_lb.lb.arn +} + +resource "aws_ec2_traffic_mirror_session" "session" { + description = "traffic mirror session - terraform example" + network_interface_id = aws_instance.test.primary_network_interface_id + session_number = 1 + traffic_mirror_filter_id = aws_ec2_traffic_mirror_filter.filter.id + traffic_mirror_target_id = aws_ec2_traffic_mirror_target.target.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `description` - (Optional) A description of the traffic mirror session. +* `network_interface_id` - (Required, Forces new) ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring. +* `traffic_mirror_filter_id` - (Required) ID of the traffic mirror filter to be used +* `traffic_mirror_target_id` - (Required) ID of the traffic mirror target to be used +* `packet_length` - (Optional) The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. +* `session_number` - (Required) - The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets. +* `virtual_network_id` - (Optional) - The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random. +* `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - The ARN of the traffic mirror session. +* `id` - The name of the session. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `owner_id` - The AWS account ID of the session owner. + +## Import + +Traffic mirror sessions can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_traffic_mirror_session.session tms-0d8aa3ca35897b82e +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_traffic_mirror_target.html.markdown b/website/docs/cdktf/python/r/ec2_traffic_mirror_target.html.markdown new file mode 100644 index 00000000000..a926f203af1 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_traffic_mirror_target.html.markdown @@ -0,0 +1,64 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_traffic_mirror_target" +description: |- + Provides a Traffic mirror target +--- + +# Resource: aws_ec2_traffic_mirror_target + +Provides a Traffic mirror target. +Read [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring + +## Example Usage + +To create a basic traffic mirror session + +```terraform +resource "aws_ec2_traffic_mirror_target" "nlb" { + description = "NLB target" + network_load_balancer_arn = aws_lb.lb.arn +} + +resource "aws_ec2_traffic_mirror_target" "eni" { + description = "ENI target" + network_interface_id = aws_instance.test.primary_network_interface_id +} + +resource "aws_ec2_traffic_mirror_target" "gwlb" { + description = "GWLB target" + gateway_load_balancer_endpoint_id = aws_vpc_endpoint.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `description` - (Optional, Forces new) A description of the traffic mirror session. +* `network_interface_id` - (Optional, Forces new) The network interface ID that is associated with the target. +* `network_load_balancer_arn` - (Optional, Forces new) The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target. +* `gateway_load_balancer_endpoint_id` - (Optional, Forces new) The VPC Endpoint Id of the Gateway Load Balancer that is associated with the target. +* `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +**NOTE:** Either `network_interface_id` or `network_load_balancer_arn` should be specified and both should not be specified together + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - The ID of the Traffic Mirror target. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `arn` - The ARN of the traffic mirror target. +* `owner_id` - The ID of the AWS account that owns the traffic mirror target. + +## Import + +Traffic mirror targets can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_traffic_mirror_target.target tmt-0c13a005422b86606 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway.html.markdown new file mode 100644 index 00000000000..54cff4fa604 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway.html.markdown @@ -0,0 +1,74 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway" +description: |- + Manages an EC2 Transit Gateway +--- + +# Resource: aws_ec2_transit_gateway + +Manages an EC2 Transit Gateway. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws.ec2_transit_gateway.Ec2TransitGateway(self, "example", + description="example" + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `amazon_side_asn` - (Optional) Private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is `64512` to `65534` for 16-bit ASNs and `4200000000` to `4294967294` for 32-bit ASNs. Default value: `64512`. + +-> **NOTE:** Modifying `amazon_side_asn` on a Transit Gateway with active BGP sessions is [not allowed](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTransitGatewayOptions.html). You must first delete all Transit Gateway attachments that have BGP configured prior to modifying `amazon_side_asn`. + +* `auto_accept_shared_attachments` - (Optional) Whether resource attachment requests are automatically accepted. Valid values: `disable`, `enable`. Default value: `disable`. +* `default_route_table_association` - (Optional) Whether resource attachments are automatically associated with the default association route table. Valid values: `disable`, `enable`. Default value: `enable`. +* `default_route_table_propagation` - (Optional) Whether resource attachments automatically propagate routes to the default propagation route table. Valid values: `disable`, `enable`. Default value: `enable`. +* `description` - (Optional) Description of the EC2 Transit Gateway. +* `dns_support` - (Optional) Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. +* `multicast_support` - (Optional) Whether Multicast support is enabled. Required to use `ec2_transit_gateway_multicast_domain`. Valid values: `disable`, `enable`. Default value: `disable`. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `transit_gateway_cidr_blocks` - (Optional) One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6. +* `vpn_ecmp_support` - (Optional) Whether VPN Equal Cost Multipath Protocol support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - EC2 Transit Gateway Amazon Resource Name (ARN) +* `association_default_route_table_id` - Identifier of the default association route table +* `id` - EC2 Transit Gateway identifier +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `owner_id` - Identifier of the AWS account that owns the EC2 Transit Gateway +* `propagation_default_route_table_id` - Identifier of the default propagation route table + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `10m`) +- `update` - (Default `10m`) +- `delete` - (Default `10m`) + +## Import + +`aws_ec2_transit_gateway` can be imported by using the EC2 Transit Gateway identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway.example tgw-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_connect.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_connect.html.markdown new file mode 100644 index 00000000000..b879075850f --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_connect.html.markdown @@ -0,0 +1,62 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_connect" +description: |- + Manages an EC2 Transit Gateway Connect +--- + +# Resource: aws_ec2_transit_gateway_connect + +Manages an EC2 Transit Gateway Connect. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_vpc_attachment" "example" { + subnet_ids = [aws_subnet.example.id] + transit_gateway_id = aws_ec2_transit_gateway.example.id + vpc_id = aws_vpc.example.id +} + +resource "aws_ec2_transit_gateway_connect" "attachment" { + transport_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_id = aws_ec2_transit_gateway.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `protocol` - (Optional) The tunnel protocol. Valida values: `gre`. Default is `gre`. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Connect. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `transit_gateway_default_route_table_association` - (Optional) Boolean whether the Connect should be associated with the EC2 Transit Gateway association default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. +* `transit_gateway_default_route_table_propagation` - (Optional) Boolean whether the Connect should propagate routes with the EC2 Transit Gateway propagation default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. +* `transit_gateway_id` - (Required) Identifier of EC2 Transit Gateway. +* `transport_attachment_id` - (Required) The underlaying VPC attachment + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Attachment identifier +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `10m`) +- `update` - (Default `10m`) +- `delete` - (Default `10m`) + +## Import + +`aws_ec2_transit_gateway_connect` can be imported by using the EC2 Transit Gateway Connect identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_connect.example tgw-attach-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_connect_peer.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_connect_peer.html.markdown new file mode 100644 index 00000000000..5ce8eae9788 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_connect_peer.html.markdown @@ -0,0 +1,62 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_connect_peer" +description: |- + Manages an EC2 Transit Gateway Connect Peer +--- + +# Resource: aws_ec2_transit_gateway_connect_peer + +Manages an EC2 Transit Gateway Connect Peer. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_connect" "example" { + transport_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_id = aws_ec2_transit_gateway.example.id +} + +resource "aws_ec2_transit_gateway_connect_peer" "example" { + peer_address = "10.1.2.3" + inside_cidr_blocks = ["169.254.100.0/29"] + transit_gateway_attachment_id = aws_ec2_transit_gateway_connect.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `bgp_asn` - (Optional) The BGP ASN number assigned customer device. If not provided, it will use the same BGP ASN as is associated with Transit Gateway. +* `inside_cidr_blocks` - (Required) The CIDR block that will be used for addressing within the tunnel. It must contain exactly one IPv4 CIDR block and up to one IPv6 CIDR block. The IPv4 CIDR block must be /29 size and must be within 169.254.0.0/16 range, with exception of: 169.254.0.0/29, 169.254.1.0/29, 169.254.2.0/29, 169.254.3.0/29, 169.254.4.0/29, 169.254.5.0/29, 169.254.169.248/29. The IPv6 CIDR block must be /125 size and must be within fd00::/8. The first IP from each CIDR block is assigned for customer gateway, the second and third is for Transit Gateway (An example: from range 169.254.100.0/29, .1 is assigned to customer gateway and .2 and .3 are assigned to Transit Gateway) +* `peer_address` - (Required) The IP addressed assigned to customer device, which will be used as tunnel endpoint. It can be IPv4 or IPv6 address, but must be the same address family as `transit_gateway_address` +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Connect Peer. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `transit_gateway_address` - (Optional) The IP address assigned to Transit Gateway, which will be used as tunnel endpoint. This address must be from associated Transit Gateway CIDR block. The address must be from the same address family as `peer_address`. If not set explicitly, it will be selected from associated Transit Gateway CIDR blocks +* `transit_gateway_attachment_id` - (Required) The Transit Gateway Connect + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Connect Peer identifier +* `arn` - EC2 Transit Gateway Connect Peer ARN +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `10m`) +- `delete` - (Default `10m`) + +## Import + +`aws_ec2_transit_gateway_connect_peer` can be imported by using the EC2 Transit Gateway Connect Peer identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_connect_peer.example tgw-connect-peer-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_multicast_domain.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_multicast_domain.html.markdown new file mode 100644 index 00000000000..93bb146aed9 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_multicast_domain.html.markdown @@ -0,0 +1,173 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_multicast_domain" +description: |- + Manages an EC2 Transit Gateway Multicast Domain +--- + +# Resource: aws_ec2_transit_gateway_multicast_domain + +Manages an EC2 Transit Gateway Multicast Domain. + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws_ec2_transit_gateway_tgw = aws.ec2_transit_gateway.Ec2TransitGateway(self, "tgw", + multicast_support="enable" + ) + aws_ec2_transit_gateway_multicast_domain_domain = + aws.ec2_transit_gateway_multicast_domain.Ec2TransitGatewayMulticastDomain(self, "domain", + static_sources_support="enable", + tags={ + "Name": "Transit_Gateway_Multicast_Domain_Example" + }, + transit_gateway_id=cdktf.Token.as_string(aws_ec2_transit_gateway_tgw.id) + ) + aws_vpc_vpc1 = aws.vpc.Vpc(self, "vpc1", + cidr_block="10.0.0.0/16" + ) + aws_vpc_vpc2 = aws.vpc.Vpc(self, "vpc2", + cidr_block="10.1.0.0/16" + ) + data_aws_ami_amazon_linux = aws.data_aws_ami.DataAwsAmi(self, "amazon_linux", + filter=[DataAwsAmiFilter( + name="name", + values=["amzn-ami-hvm-*-x86_64-gp2"] + ), DataAwsAmiFilter( + name="owner-alias", + values=["amazon"] + ) + ], + most_recent=True, + owners=["amazon"] + ) + data_aws_availability_zones_available = + aws.data_aws_availability_zones.DataAwsAvailabilityZones(self, "available", + state="available" + ) + aws_subnet_subnet1 = aws.subnet.Subnet(self, "subnet1", + availability_zone=cdktf.Token.as_string( + cdktf.property_access(data_aws_availability_zones_available.names, ["0"])), + cidr_block="10.0.1.0/24", + vpc_id=cdktf.Token.as_string(aws_vpc_vpc1.id) + ) + aws_subnet_subnet2 = aws.subnet.Subnet(self, "subnet2", + availability_zone=cdktf.Token.as_string( + cdktf.property_access(data_aws_availability_zones_available.names, ["1"])), + cidr_block="10.0.2.0/24", + vpc_id=cdktf.Token.as_string(aws_vpc_vpc1.id) + ) + aws_subnet_subnet3 = aws.subnet.Subnet(self, "subnet3", + availability_zone=cdktf.Token.as_string( + cdktf.property_access(data_aws_availability_zones_available.names, ["0"])), + cidr_block="10.1.1.0/24", + vpc_id=cdktf.Token.as_string(aws_vpc_vpc2.id) + ) + aws_ec2_transit_gateway_vpc_attachment_attachment1 = + aws.ec2_transit_gateway_vpc_attachment.Ec2TransitGatewayVpcAttachment(self, "attachment1", + subnet_ids=[ + cdktf.Token.as_string(aws_subnet_subnet1.id), + cdktf.Token.as_string(aws_subnet_subnet2.id) + ], + transit_gateway_id=cdktf.Token.as_string(aws_ec2_transit_gateway_tgw.id), + vpc_id=cdktf.Token.as_string(aws_vpc_vpc1.id) + ) + aws_ec2_transit_gateway_vpc_attachment_attachment2 = + aws.ec2_transit_gateway_vpc_attachment.Ec2TransitGatewayVpcAttachment(self, "attachment2", + subnet_ids=[cdktf.Token.as_string(aws_subnet_subnet3.id)], + transit_gateway_id=cdktf.Token.as_string(aws_ec2_transit_gateway_tgw.id), + vpc_id=cdktf.Token.as_string(aws_vpc_vpc2.id) + ) + aws_instance_instance1 = aws.instance.Instance(self, "instance1", + ami=cdktf.Token.as_string(data_aws_ami_amazon_linux.id), + instance_type="t2.micro", + subnet_id=cdktf.Token.as_string(aws_subnet_subnet1.id) + ) + aws_instance_instance2 = aws.instance.Instance(self, "instance2", + ami=cdktf.Token.as_string(data_aws_ami_amazon_linux.id), + instance_type="t2.micro", + subnet_id=cdktf.Token.as_string(aws_subnet_subnet2.id) + ) + aws_instance_instance3 = aws.instance.Instance(self, "instance3", + ami=cdktf.Token.as_string(data_aws_ami_amazon_linux.id), + instance_type="t2.micro", + subnet_id=cdktf.Token.as_string(aws_subnet_subnet3.id) + ) + aws_ec2_transit_gateway_multicast_domain_association_association1 = + aws.ec2_transit_gateway_multicast_domain_association.Ec2TransitGatewayMulticastDomainAssociation(self, "association1", + subnet_id=cdktf.Token.as_string(aws_subnet_subnet1.id), + transit_gateway_attachment_id=cdktf.Token.as_string(aws_ec2_transit_gateway_vpc_attachment_attachment1.id), + transit_gateway_multicast_domain_id=cdktf.Token.as_string(aws_ec2_transit_gateway_multicast_domain_domain.id) + ) + aws.ec2_transit_gateway_multicast_domain_association.Ec2TransitGatewayMulticastDomainAssociation(self, "association2", + subnet_id=cdktf.Token.as_string(aws_subnet_subnet2.id), + transit_gateway_attachment_id=cdktf.Token.as_string(aws_ec2_transit_gateway_vpc_attachment_attachment2.id), + transit_gateway_multicast_domain_id=cdktf.Token.as_string(aws_ec2_transit_gateway_multicast_domain_domain.id) + ) + aws_ec2_transit_gateway_multicast_domain_association_association3 = + aws.ec2_transit_gateway_multicast_domain_association.Ec2TransitGatewayMulticastDomainAssociation(self, "association3", + subnet_id=cdktf.Token.as_string(aws_subnet_subnet3.id), + transit_gateway_attachment_id=cdktf.Token.as_string(aws_ec2_transit_gateway_vpc_attachment_attachment2.id), + transit_gateway_multicast_domain_id=cdktf.Token.as_string(aws_ec2_transit_gateway_multicast_domain_domain.id) + ) + aws.ec2_transit_gateway_multicast_group_member.Ec2TransitGatewayMulticastGroupMember(self, "member1", + group_ip_address="224.0.0.1", + network_interface_id=cdktf.Token.as_string(aws_instance_instance1.primary_network_interface_id), + transit_gateway_multicast_domain_id=cdktf.Token.as_string(aws_ec2_transit_gateway_multicast_domain_association_association1.transit_gateway_multicast_domain_id) + ) + aws.ec2_transit_gateway_multicast_group_member.Ec2TransitGatewayMulticastGroupMember(self, "member2", + group_ip_address="224.0.0.1", + network_interface_id=cdktf.Token.as_string(aws_instance_instance2.primary_network_interface_id), + transit_gateway_multicast_domain_id=cdktf.Token.as_string(aws_ec2_transit_gateway_multicast_domain_association_association1.transit_gateway_multicast_domain_id) + ) + aws.ec2_transit_gateway_multicast_group_source.Ec2TransitGatewayMulticastGroupSource(self, "source", + group_ip_address="224.0.0.1", + network_interface_id=cdktf.Token.as_string(aws_instance_instance3.primary_network_interface_id), + transit_gateway_multicast_domain_id=cdktf.Token.as_string(aws_ec2_transit_gateway_multicast_domain_association_association3.transit_gateway_multicast_domain_id) + ) +``` + +## Argument Reference + +The following arguments are supported: + +* `transit_gateway_id` - (Required) EC2 Transit Gateway identifier. The EC2 Transit Gateway must have `multicast_support` enabled. +* `auto_accept_shared_associations` - (Optional) Whether to automatically accept cross-account subnet associations that are associated with the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. +* `igmpv2_support` - (Optional) Whether to enable Internet Group Management Protocol (IGMP) version 2 for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. +* `static_sources_support` - (Optional) Whether to enable support for statically configuring multicast group sources for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Multicast Domain. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Multicast Domain identifier. +* `arn` - EC2 Transit Gateway Multicast Domain Amazon Resource Name (ARN). +* `owner_id` - Identifier of the AWS account that owns the EC2 Transit Gateway Multicast Domain. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `10m`) +- `delete` - (Default `10m`) + +## Import + +`aws_ec2_transit_gateway_multicast_domain` can be imported by using the EC2 Transit Gateway Multicast Domain identifier, e.g., + +``` +terraform import aws_ec2_transit_gateway_multicast_domain.example tgw-mcast-domain-12345 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_multicast_domain_association.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_multicast_domain_association.html.markdown new file mode 100644 index 00000000000..6a56a74beee --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_multicast_domain_association.html.markdown @@ -0,0 +1,58 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_multicast_domain_association" +description: |- + Manages an EC2 Transit Gateway Multicast Domain Association +--- + +# Resource: aws_ec2_transit_gateway_multicast_domain_association + +Associates the specified subnet and transit gateway attachment with the specified transit gateway multicast domain. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway" "example" { + multicast_support = "enable" +} + +resource "aws_ec2_transit_gateway_vpc_attachment" "example" { + subnet_ids = [aws_subnet.example.id] + transit_gateway_id = aws_ec2_transit_gateway.example.id + vpc_id = aws_vpc.example.id +} + +resource "aws_ec2_transit_gateway_multicast_domain" "example" { + transit_gateway_id = aws_ec2_transit_gateway.example.id +} + +resource "aws_ec2_transit_gateway_multicast_domain_association" "example" { + subnet_id = aws_subnet.example.id + transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_multicast_domain_id = aws_ec2_transit_gateway_multicast_domain.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `subnet_id` - (Required) The ID of the subnet to associate with the transit gateway multicast domain. +* `transit_gateway_attachment_id` - (Required) The ID of the transit gateway attachment. +* `transit_gateway_multicast_domain_id` - (Required) The ID of the transit gateway multicast domain. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Multicast Domain Association identifier. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `10m`) +- `delete` - (Default `10m`) + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_multicast_group_member.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_multicast_group_member.html.markdown new file mode 100644 index 00000000000..f2dd0248c9b --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_multicast_group_member.html.markdown @@ -0,0 +1,38 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_multicast_group_member" +description: |- + Manages an EC2 Transit Gateway Multicast Group Member +--- + +# Resource: aws_ec2_transit_gateway_multicast_group_member + +Registers members (network interfaces) with the transit gateway multicast group. +A member is a network interface associated with a supported EC2 instance that receives multicast traffic. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_multicast_group_member" "example" { + group_ip_address = "224.0.0.1" + network_interface_id = aws_network_interface.example.id + transit_gateway_multicast_domain_id = aws_ec2_transit_gateway_multicast_domain.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `group_ip_address` - (Required) The IP address assigned to the transit gateway multicast group. +* `network_interface_id` - (Required) The group members' network interface ID to register with the transit gateway multicast group. +* `transit_gateway_multicast_domain_id` - (Required) The ID of the transit gateway multicast domain. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Multicast Group Member identifier. + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_multicast_group_source.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_multicast_group_source.html.markdown new file mode 100644 index 00000000000..41d11afb87f --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_multicast_group_source.html.markdown @@ -0,0 +1,38 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_multicast_group_source" +description: |- + Manages an EC2 Transit Gateway Multicast Group Source +--- + +# Resource: aws_ec2_transit_gateway_multicast_group_source + +Registers sources (network interfaces) with the transit gateway multicast group. +A multicast source is a network interface attached to a supported instance that sends multicast traffic. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_multicast_group_source" "example" { + group_ip_address = "224.0.0.1" + network_interface_id = aws_network_interface.example.id + transit_gateway_multicast_domain_id = aws_ec2_transit_gateway_multicast_domain.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `group_ip_address` - (Required) The IP address assigned to the transit gateway multicast group. +* `network_interface_id` - (Required) The group members' network interface ID to register with the transit gateway multicast group. +* `transit_gateway_multicast_domain_id` - (Required) The ID of the transit gateway multicast domain. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Multicast Group Member identifier. + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_peering_attachment.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_peering_attachment.html.markdown new file mode 100644 index 00000000000..1bbcb3b3a96 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_peering_attachment.html.markdown @@ -0,0 +1,92 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_peering_attachment" +description: |- + Manages an EC2 Transit Gateway Peering Attachment +--- + +# Resource: aws_ec2_transit_gateway_peering_attachment + +Manages an EC2 Transit Gateway Peering Attachment. +For examples of custom route table association and propagation, see the [EC2 Transit Gateway Networking Examples Guide](https://docs.aws.amazon.com/vpc/latest/tgw/TGW_Scenarios.html). + +## Example Usage + +```python +import constructs as constructs +import cdktf as cdktf +# Provider bindings are generated by running cdktf get. +# See https://cdk.tf/provider-generation for more details. +import ...gen.providers.aws as aws +class MyConvertedCode(cdktf.TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + aws_local = aws.provider.AwsProvider(self, "aws", + alias="local", + region="us-east-1" + ) + aws_peer = aws.provider.AwsProvider(self, "aws_1", + alias="peer", + region="us-west-2" + ) + aws_ec2_transit_gateway_local = + aws.ec2_transit_gateway.Ec2TransitGateway(self, "local", + provider=aws_local, + tags={ + "Name": "Local TGW" + } + ) + aws_ec2_transit_gateway_peer = + aws.ec2_transit_gateway.Ec2TransitGateway(self, "peer", + provider=aws_peer, + tags={ + "Name": "Peer TGW" + } + ) + data_aws_region_peer = aws.data_aws_region.DataAwsRegion(self, "peer_4", + provider=aws_peer + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + data_aws_region_peer.override_logical_id("peer") + aws.ec2_transit_gateway_peering_attachment.Ec2TransitGatewayPeeringAttachment(self, "example", + peer_account_id=cdktf.Token.as_string(aws_ec2_transit_gateway_peer.owner_id), + peer_region=cdktf.Token.as_string(data_aws_region_peer.name), + peer_transit_gateway_id=cdktf.Token.as_string(aws_ec2_transit_gateway_peer.id), + tags={ + "Name": "TGW Peering Requestor" + }, + transit_gateway_id=cdktf.Token.as_string(aws_ec2_transit_gateway_local.id) + ) +``` + +A full example of how to create a Transit Gateway in one AWS account, share it with a second AWS account, and attach a to a Transit Gateway in the second account via the `aws_ec2_transit_gateway_peering_attachment` resource can be found in [the `./examples/transit-gateway-cross-account-peering-attachment` directory within the Github Repository](https://github.com/hashicorp/terraform-provider-aws/tree/main/examples/transit-gateway-cross-account-peering-attachment). + +## Argument Reference + +The following arguments are supported: + +* `peer_account_id` - (Optional) Account ID of EC2 Transit Gateway to peer with. Defaults to the account ID the [AWS provider][1] is currently connected to. +* `peer_region` - (Required) Region of EC2 Transit Gateway to peer with. +* `peer_transit_gateway_id` - (Required) Identifier of EC2 Transit Gateway to peer with. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Peering Attachment. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `transit_gateway_id` - (Required) Identifier of EC2 Transit Gateway. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Attachment identifier +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +`aws_ec2_transit_gateway_peering_attachment` can be imported by using the EC2 Transit Gateway Attachment identifier, e.g., + +```sh +terraform import aws_ec2_transit_gateway_peering_attachment.example tgw-attach-12345678 +``` + +[1]: /docs/providers/aws/index.html + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_peering_attachment_accepter.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_peering_attachment_accepter.html.markdown new file mode 100644 index 00000000000..f09ba0dea8f --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_peering_attachment_accepter.html.markdown @@ -0,0 +1,52 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_peering_attachment_accepter" +description: |- + Manages the accepter's side of an EC2 Transit Gateway peering Attachment +--- + +# Resource: aws_ec2_transit_gateway_peering_attachment_accepter + +Manages the accepter's side of an EC2 Transit Gateway Peering Attachment. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_peering_attachment_accepter" "example" { + transit_gateway_attachment_id = aws_ec2_transit_gateway_peering_attachment.example.id + + tags = { + Name = "Example cross-account attachment" + } +} +``` + +A full example of how to create a Transit Gateway in one AWS account, share it with a second AWS account, and attach a to a Transit Gateway in the second account via the `aws_ec2_transit_gateway_peering_attachment` resource can be found in [the `./examples/transit-gateway-cross-account-peering-attachment` directory within the Github Repository](https://github.com/hashicorp/terraform-provider-aws/tree/main/examples/transit-gateway-cross-account-peering-attachment). + +## Argument Reference + +The following arguments are supported: + +* `transit_gateway_attachment_id` - (Required) The ID of the EC2 Transit Gateway Peering Attachment to manage. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Peering Attachment. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Attachment identifier +* `transit_gateway_id` - Identifier of EC2 Transit Gateway. +* `peer_transit_gateway_id` - Identifier of EC2 Transit Gateway to peer with. +* `peer_account_id` - Identifier of the AWS account that owns the EC2 TGW peering. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +`aws_ec2_transit_gateway_peering_attachment_accepter` can be imported by using the EC2 Transit Gateway Attachment identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_peering_attachment_accepter.example tgw-attach-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_policy_table.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_policy_table.html.markdown new file mode 100644 index 00000000000..dc9ab805bca --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_policy_table.html.markdown @@ -0,0 +1,49 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_policy_table" +description: |- + Manages an EC2 Transit Gateway Policy Table +--- + +# Resource: aws_ec2_transit_gateway_policy_table + +Manages an EC2 Transit Gateway Policy Table. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_policy_table" "example" { + transit_gateway_id = aws_ec2_transit_gateway.example.id + + tags = { + Name = "Example Policy Table" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `transit_gateway_id` - (Required) EC2 Transit Gateway identifier. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Policy Table. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - EC2 Transit Gateway Policy Table Amazon Resource Name (ARN). +* `id` - EC2 Transit Gateway Policy Table identifier. +* `state` - The state of the EC2 Transit Gateway Policy Table. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +`aws_ec2_transit_gateway_policy_table` can be imported by using the EC2 Transit Gateway Policy Table identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_policy_table.example tgw-rtb-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_policy_table_association.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_policy_table_association.html.markdown new file mode 100644 index 00000000000..ecf06015b0d --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_policy_table_association.html.markdown @@ -0,0 +1,45 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_policy_table_association" +description: |- + Manages an EC2 Transit Gateway Policy Table association +--- + +# Resource: aws_ec2_transit_gateway_policy_table_association + +Manages an EC2 Transit Gateway Policy Table association. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_policy_table_association" "example" { + transit_gateway_attachment_id = aws_networkmanager_transit_gateway_peering.example.transit_gateway_peering_attachment_id + transit_gateway_policy_table_id = aws_ec2_transit_gateway_policy_table.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `transit_gateway_attachment_id` - (Required) Identifier of EC2 Transit Gateway Attachment. +* `transit_gateway_policy_table_id` - (Required) Identifier of EC2 Transit Gateway Policy Table. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Policy Table identifier combined with EC2 Transit Gateway Attachment identifier +* `resource_id` - Identifier of the resource +* `resource_type` - Type of the resource + +## Import + +`aws_ec2_transit_gateway_policy_table_association` can be imported by using the EC2 Transit Gateway Policy Table identifier, an underscore, and the EC2 Transit Gateway Attachment identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_policy_table_association.example tgw-rtb-12345678_tgw-attach-87654321 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_prefix_list_reference.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_prefix_list_reference.html.markdown new file mode 100644 index 00000000000..6dcdfb21f4f --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_prefix_list_reference.html.markdown @@ -0,0 +1,61 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_prefix_list_reference" +description: |- + Manages an EC2 Transit Gateway Prefix List Reference +--- + +# Resource: aws_ec2_transit_gateway_prefix_list_reference + +Manages an EC2 Transit Gateway Prefix List Reference. + +## Example Usage + +### Attachment Routing + +```terraform +resource "aws_ec2_transit_gateway_prefix_list_reference" "example" { + prefix_list_id = aws_ec2_managed_prefix_list.example.id + transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_route_table_id = aws_ec2_transit_gateway.example.association_default_route_table_id +} +``` + +### Blackhole Routing + +```terraform +resource "aws_ec2_transit_gateway_prefix_list_reference" "example" { + blackhole = true + prefix_list_id = aws_ec2_managed_prefix_list.example.id + transit_gateway_route_table_id = aws_ec2_transit_gateway.example.association_default_route_table_id +} +``` + +## Argument Reference + +The following arguments are required: + +* `prefix_list_id` - (Required) Identifier of EC2 Prefix List. +* `transit_gateway_route_table_id` - (Required) Identifier of EC2 Transit Gateway Route Table. + +The following arguments are optional: + +* `blackhole` - (Optional) Indicates whether to drop traffic that matches the Prefix List. Defaults to `false`. +* `transit_gateway_attachment_id` - (Optional) Identifier of EC2 Transit Gateway Attachment. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Route Table identifier and EC2 Prefix List identifier, separated by an underscore (`_`) + +## Import + +`aws_ec2_transit_gateway_prefix_list_reference` can be imported by using the EC2 Transit Gateway Route Table identifier and EC2 Prefix List identifier, separated by an underscore (`_`), e.g., + +```console +$ terraform import aws_ec2_transit_gateway_prefix_list_reference.example tgw-rtb-12345678_pl-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_route.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_route.html.markdown new file mode 100644 index 00000000000..383121e4257 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_route.html.markdown @@ -0,0 +1,58 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route" +description: |- + Manages an EC2 Transit Gateway Route +--- + +# Resource: aws_ec2_transit_gateway_route + +Manages an EC2 Transit Gateway Route. + +## Example Usage + +### Standard usage + +```terraform +resource "aws_ec2_transit_gateway_route" "example" { + destination_cidr_block = "0.0.0.0/0" + transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_route_table_id = aws_ec2_transit_gateway.example.association_default_route_table_id +} +``` + +### Blackhole route + +```terraform +resource "aws_ec2_transit_gateway_route" "example" { + destination_cidr_block = "0.0.0.0/0" + blackhole = true + transit_gateway_route_table_id = aws_ec2_transit_gateway.example.association_default_route_table_id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `destination_cidr_block` - (Required) IPv4 or IPv6 RFC1924 CIDR used for destination matches. Routing decisions are based on the most specific match. +* `transit_gateway_attachment_id` - (Optional) Identifier of EC2 Transit Gateway Attachment (required if `blackhole` is set to false). +* `blackhole` - (Optional) Indicates whether to drop traffic that matches this route (default to `false`). +* `transit_gateway_route_table_id` - (Required) Identifier of EC2 Transit Gateway Route Table. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Route Table identifier combined with destination + +## Import + +`aws_ec2_transit_gateway_route` can be imported by using the EC2 Transit Gateway Route Table, an underscore, and the destination, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_route.example tgw-rtb-12345678_0.0.0.0/0 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_route_table.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_route_table.html.markdown new file mode 100644 index 00000000000..013d344a1e1 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_route_table.html.markdown @@ -0,0 +1,46 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route_table" +description: |- + Manages an EC2 Transit Gateway Route Table +--- + +# Resource: aws_ec2_transit_gateway_route_table + +Manages an EC2 Transit Gateway Route Table. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_route_table" "example" { + transit_gateway_id = aws_ec2_transit_gateway.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `transit_gateway_id` - (Required) Identifier of EC2 Transit Gateway. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Route Table. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - EC2 Transit Gateway Route Table Amazon Resource Name (ARN). +* `default_association_route_table` - Boolean whether this is the default association route table for the EC2 Transit Gateway. +* `default_propagation_route_table` - Boolean whether this is the default propagation route table for the EC2 Transit Gateway. +* `id` - EC2 Transit Gateway Route Table identifier +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +`aws_ec2_transit_gateway_route_table` can be imported by using the EC2 Transit Gateway Route Table identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_route_table.example tgw-rtb-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_route_table_association.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_route_table_association.html.markdown new file mode 100644 index 00000000000..44073ddc56f --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_route_table_association.html.markdown @@ -0,0 +1,45 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route_table_association" +description: |- + Manages an EC2 Transit Gateway Route Table association +--- + +# Resource: aws_ec2_transit_gateway_route_table_association + +Manages an EC2 Transit Gateway Route Table association. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_route_table_association" "example" { + transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_route_table_id = aws_ec2_transit_gateway_route_table.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `transit_gateway_attachment_id` - (Required) Identifier of EC2 Transit Gateway Attachment. +* `transit_gateway_route_table_id` - (Required) Identifier of EC2 Transit Gateway Route Table. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Route Table identifier combined with EC2 Transit Gateway Attachment identifier +* `resource_id` - Identifier of the resource +* `resource_type` - Type of the resource + +## Import + +`aws_ec2_transit_gateway_route_table_association` can be imported by using the EC2 Transit Gateway Route Table identifier, an underscore, and the EC2 Transit Gateway Attachment identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_route_table_association.example tgw-rtb-12345678_tgw-attach-87654321 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_route_table_propagation.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_route_table_propagation.html.markdown new file mode 100644 index 00000000000..302b9252679 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_route_table_propagation.html.markdown @@ -0,0 +1,45 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route_table_propagation" +description: |- + Manages an EC2 Transit Gateway Route Table propagation +--- + +# Resource: aws_ec2_transit_gateway_route_table_propagation + +Manages an EC2 Transit Gateway Route Table propagation. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_route_table_propagation" "example" { + transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_route_table_id = aws_ec2_transit_gateway_route_table.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `transit_gateway_attachment_id` - (Required) Identifier of EC2 Transit Gateway Attachment. +* `transit_gateway_route_table_id` - (Required) Identifier of EC2 Transit Gateway Route Table. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Route Table identifier combined with EC2 Transit Gateway Attachment identifier +* `resource_id` - Identifier of the resource +* `resource_type` - Type of the resource + +## Import + +`aws_ec2_transit_gateway_route_table_propagation` can be imported by using the EC2 Transit Gateway Route Table identifier, an underscore, and the EC2 Transit Gateway Attachment identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_route_table_propagation.example tgw-rtb-12345678_tgw-attach-87654321 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_vpc_attachment.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_vpc_attachment.html.markdown new file mode 100644 index 00000000000..7c61855a797 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_vpc_attachment.html.markdown @@ -0,0 +1,55 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_vpc_attachment" +description: |- + Manages an EC2 Transit Gateway VPC Attachment +--- + +# Resource: aws_ec2_transit_gateway_vpc_attachment + +Manages an EC2 Transit Gateway VPC Attachment. For examples of custom route table association and propagation, see the EC2 Transit Gateway Networking Examples Guide. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_vpc_attachment" "example" { + subnet_ids = [aws_subnet.example.id] + transit_gateway_id = aws_ec2_transit_gateway.example.id + vpc_id = aws_vpc.example.id +} +``` + +A full example of how to create a Transit Gateway in one AWS account, share it with a second AWS account, and attach a VPC in the second account to the Transit Gateway via the `aws_ec2_transit_gateway_vpc_attachment` and `aws_ec2_transit_gateway_vpc_attachment_accepter` resources can be found in [the `./examples/transit-gateway-cross-account-vpc-attachment` directory within the Github Repository](https://github.com/hashicorp/terraform-provider-aws/tree/main/examples/transit-gateway-cross-account-vpc-attachment). + +## Argument Reference + +The following arguments are supported: + +* `subnet_ids` - (Required) Identifiers of EC2 Subnets. +* `transit_gateway_id` - (Required) Identifier of EC2 Transit Gateway. +* `vpc_id` - (Required) Identifier of EC2 VPC. +* `appliance_mode_support` - (Optional) Whether Appliance Mode support is enabled. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. Valid values: `disable`, `enable`. Default value: `disable`. +* `dns_support` - (Optional) Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. +* `ipv6_support` - (Optional) Whether IPv6 support is enabled. Valid values: `disable`, `enable`. Default value: `disable`. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway VPC Attachment. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `transit_gateway_default_route_table_association` - (Optional) Boolean whether the VPC Attachment should be associated with the EC2 Transit Gateway association default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. +* `transit_gateway_default_route_table_propagation` - (Optional) Boolean whether the VPC Attachment should propagate routes with the EC2 Transit Gateway propagation default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Attachment identifier +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `vpc_owner_id` - Identifier of the AWS account that owns the EC2 VPC. + +## Import + +`aws_ec2_transit_gateway_vpc_attachment` can be imported by using the EC2 Transit Gateway Attachment identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_vpc_attachment.example tgw-attach-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown b/website/docs/cdktf/python/r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown new file mode 100644 index 00000000000..a1096e1d9a3 --- /dev/null +++ b/website/docs/cdktf/python/r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown @@ -0,0 +1,64 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_vpc_attachment_accepter" +description: |- + Manages the accepter's side of an EC2 Transit Gateway VPC Attachment +--- + +# Resource: aws_ec2_transit_gateway_vpc_attachment_accepter + +Manages the accepter's side of an EC2 Transit Gateway VPC Attachment. + +When a cross-account (requester's AWS account differs from the accepter's AWS account) EC2 Transit Gateway VPC Attachment +is created, an EC2 Transit Gateway VPC Attachment resource is automatically created in the accepter's account. +The requester can use the `aws_ec2_transit_gateway_vpc_attachment` resource to manage its side of the connection +and the accepter can use the `aws_ec2_transit_gateway_vpc_attachment_accepter` resource to "adopt" its side of the +connection into management. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_vpc_attachment_accepter" "example" { + transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + + tags = { + Name = "Example cross-account attachment" + } +} +``` + +A full example of how to create a Transit Gateway in one AWS account, share it with a second AWS account, and attach a VPC in the second account to the Transit Gateway via the `aws_ec2_transit_gateway_vpc_attachment` and `aws_ec2_transit_gateway_vpc_attachment_accepter` resources can be found in [the `./examples/transit-gateway-cross-account-vpc-attachment` directory within the Github Repository](https://github.com/hashicorp/terraform-provider-aws/tree/main/examples/transit-gateway-cross-account-vpc-attachment). + +## Argument Reference + +The following arguments are supported: + +* `transit_gateway_attachment_id` - (Required) The ID of the EC2 Transit Gateway Attachment to manage. +* `transit_gateway_default_route_table_association` - (Optional) Boolean whether the VPC Attachment should be associated with the EC2 Transit Gateway association default route table. Default value: `true`. +* `transit_gateway_default_route_table_propagation` - (Optional) Boolean whether the VPC Attachment should propagate routes with the EC2 Transit Gateway propagation default route table. Default value: `true`. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway VPC Attachment. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Attachment identifier +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `appliance_mode_support` - Whether Appliance Mode support is enabled. Valid values: `disable`, `enable`. +* `dns_support` - Whether DNS support is enabled. Valid values: `disable`, `enable`. +* `ipv6_support` - Whether IPv6 support is enabled. Valid values: `disable`, `enable`. +* `subnet_ids` - Identifiers of EC2 Subnets. +* `transit_gateway_id` - Identifier of EC2 Transit Gateway. +* `vpc_id` - Identifier of EC2 VPC. +* `vpc_owner_id` - Identifier of the AWS account that owns the EC2 VPC. + +## Import + +`aws_ec2_transit_gateway_vpc_attachment_accepter` can be imported by using the EC2 Transit Gateway Attachment identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_vpc_attachment_accepter.example tgw-attach-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_client_vpn_endpoint.html.markdown b/website/docs/cdktf/typescript/d/ec2_client_vpn_endpoint.html.markdown new file mode 100644 index 00000000000..95855761c0a --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_client_vpn_endpoint.html.markdown @@ -0,0 +1,111 @@ +--- +subcategory: "VPN (Client)" +layout: "aws" +page_title: "AWS: aws_ec2_client_vpn_endpoint" +description: |- + Get information on an EC2 Client VPN endpoint +--- + +# Data Source: aws_ec2_client_vpn_endpoint + +Get information on an EC2 Client VPN endpoint. + +## Example Usage + +### By Filter + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpoint( + this, + "example", + { + filter: [ + { + name: "tag:Name", + values: ["ExampleVpn"], + }, + ], + } + ); + } +} + +``` + +### By Identifier + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpoint( + this, + "example", + { + clientVpnEndpointId: "cvpn-endpoint-083cf50d6eb314f21", + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `clientVpnEndpointId` - (Optional) ID of the Client VPN endpoint. +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `tags` - (Optional) Map of tags, each pair of which must exactly match a pair on the desired endpoint. + +### filter + +This block allows for complex filters. You can use one or more `filter` blocks. + +The following arguments are required: + +* `name` - (Required) Name of the field to filter by, as defined by [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeClientVpnEndpoints.html). +* `values` - (Required) Set of values that are accepted for the given field. An endpoint will be selected if any one of the given values matches. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - The ARN of the Client VPN endpoint. +* `authenticationOptions` - Information about the authentication method used by the Client VPN endpoint. +* `clientCidrBlock` - IPv4 address range, in CIDR notation, from which client IP addresses are assigned. +* `clientConnectOptions` - The options for managing connection authorization for new client connections. +* `clientLoginBannerOptions` - Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established. +* `connectionLogOptions` - Information about the client connection logging options for the Client VPN endpoint. +* `description` - Brief description of the endpoint. +* `dnsName` - DNS name to be used by clients when connecting to the Client VPN endpoint. +* `dnsServers` - Information about the DNS servers to be used for DNS resolution. +* `securityGroupIds` - IDs of the security groups for the target network associated with the Client VPN endpoint. +* `selfServicePortal` - Whether the self-service portal for the Client VPN endpoint is enabled. +* `serverCertificateArn` - The ARN of the server certificate. +* `sessionTimeoutHours` - The maximum VPN session duration time in hours. +* `splitTunnel` - Whether split-tunnel is enabled in the AWS Client VPN endpoint. +* `transportProtocol` - Transport protocol used by the Client VPN endpoint. +* `vpcId` - ID of the VPC associated with the Client VPN endpoint. +* `vpnPort` - Port number for the Client VPN endpoint. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_coip_pool.html.markdown b/website/docs/cdktf/typescript/d/ec2_coip_pool.html.markdown new file mode 100644 index 00000000000..aedff5df3de --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_coip_pool.html.markdown @@ -0,0 +1,69 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_coip_pool" +description: |- + Provides details about a specific EC2 Customer-Owned IP Pool +--- + +# Data Source: aws_ec2_coip_pool + +Provides details about a specific EC2 Customer-Owned IP Pool. + +This data source can prove useful when a module accepts a coip pool id as +an input variable and needs to, for example, determine the CIDR block of that +COIP Pool. + +## Example Usage + +The following example returns a specific coip pool ID + +```terraform +variable "coip_pool_id" {} + +data "aws_ec2_coip_pool" "selected" { + id = var.coip_pool_id +} +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available +COIP Pools in the current region. The given filters must match exactly one +COIP Pool whose data will be exported as attributes. + +* `localGatewayRouteTableId` - (Optional) Local Gateway Route Table Id assigned to desired COIP Pool + +* `poolId` - (Optional) ID of the specific COIP Pool to retrieve. + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired COIP Pool. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeCoipPools.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A COIP Pool will be selected if any one of the given values matches. + +## Attributes Reference + +All of the argument attributes except `filter` blocks are also exported as +result attributes. This data source will complete the data by populating +any fields that are not included in the configuration with the data for +the selected COIP Pool. + +In addition, the following attributes are exported: + +* `arn` - ARN of the COIP pool +* `poolCidrs` - Set of CIDR blocks in pool + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_coip_pools.html.markdown b/website/docs/cdktf/typescript/d/ec2_coip_pools.html.markdown new file mode 100644 index 00000000000..548b6a0d6dd --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_coip_pools.html.markdown @@ -0,0 +1,52 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_coip_pools" +description: |- + Provides information for multiple EC2 Customer-Owned IP Pools +--- + +# Data Source: aws_ec2_coip_pools + +Provides information for multiple EC2 Customer-Owned IP Pools, such as their identifiers. + +## Example Usage + +The following shows outputting all COIP Pool Ids. + +```terraform +data "aws_ec2_coip_pools" "foo" {} + +output "foo" { + value = data.aws_ec2_coip_pools.foo.ids +} +``` + +## Argument Reference + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired aws_ec2_coip_pools. + +* `filter` - (Optional) Custom filter block as described below. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeCoipPools.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A COIP Pool will be selected if any one of the given values matches. + +## Attributes Reference + +* `id` - AWS Region. +* `poolIds` - Set of COIP Pool Identifiers + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_host.html.markdown b/website/docs/cdktf/typescript/d/ec2_host.html.markdown new file mode 100644 index 00000000000..ebfe3f56944 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_host.html.markdown @@ -0,0 +1,106 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_host" +description: |- + Get information on an EC2 Host. +--- + +# Data Source: aws_ec2_host + +Use this data source to get information about an EC2 Dedicated Host. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + const awsEc2HostTest = new aws.ec2Host.Ec2Host(this, "test", { + availabilityZone: "us-west-2a", + instanceType: "c5.18xlarge", + }); + const dataAwsEc2HostTest = new aws.dataAwsEc2Host.DataAwsEc2Host( + this, + "test_1", + { + hostId: cdktf.Token.asString(awsEc2HostTest.id), + } + ); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + dataAwsEc2HostTest.overrideLogicalId("test"); + } +} + +``` + +### Filter Example + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2Host.DataAwsEc2Host(this, "test", { + filter: [ + { + name: "instance-type", + values: ["c5.18xlarge"], + }, + ], + }); + } +} + +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available EC2 Hosts in the current region. +The given filters must match exactly one host whose data will be exported as attributes. + +* `filter` - (Optional) Configuration block. Detailed below. +* `hostId` - (Optional) ID of the Dedicated Host. + +### filter + +This block allows for complex filters. You can use one or more `filter` blocks. + +The following arguments are required: + +* `name` - (Required) Name of the field to filter by, as defined by [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeHosts.html). +* `values` - (Required) Set of values that are accepted for the given field. A host will be selected if any one of the given values matches. + +## Attributes Reference + +In addition to the attributes above, the following attributes are exported: + +* `id` - ID of the Dedicated Host. +* `arn` - ARN of the Dedicated Host. +* `autoPlacement` - Whether auto-placement is on or off. +* `availabilityZone` - Availability Zone of the Dedicated Host. +* `cores` - Number of cores on the Dedicated Host. +* `hostRecovery` - Whether host recovery is enabled or disabled for the Dedicated Host. +* `instanceFamily` - Instance family supported by the Dedicated Host. For example, "m5". +* `instanceType` - Instance type supported by the Dedicated Host. For example, "m5.large". If the host supports multiple instance types, no instanceType is returned. +* `outpostArn` - ARN of the AWS Outpost on which the Dedicated Host is allocated. +* `ownerId` - ID of the AWS account that owns the Dedicated Host. +* `sockets` - Number of sockets on the Dedicated Host. +* `totalVcpus` - Total number of vCPUs on the Dedicated Host. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_instance_type.html.markdown b/website/docs/cdktf/typescript/d/ec2_instance_type.html.markdown new file mode 100644 index 00000000000..9628bf7d587 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_instance_type.html.markdown @@ -0,0 +1,111 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_instance_type" +description: |- + Information about single EC2 Instance Type. +--- + + +# Data Source: aws_ec2_instance_type + +Get characteristics for a single EC2 Instance Type. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2InstanceType.DataAwsEc2InstanceType(this, "example", { + instanceType: "t2.micro", + }); + } +} + +``` + +## Argument Reference + +The following argument is supported: + +* `instanceType` - (Required) Instance + +## Attribute Reference + +In addition to the argument above, the following attributes are exported: + +~> **NOTE:** Not all attributes are set for every instance type. + +* `autoRecoverySupported` - `true` if auto recovery is supported. +* `bareMetal` - `true` if it is a bare metal instance type. +* `burstablePerformanceSupported` - `true` if the instance type is a burstable performance instance type. +* `currentGeneration` - `true` if the instance type is a current generation. +* `dedicatedHostsSupported` - `true` if Dedicated Hosts are supported on the instance type. +* `defaultCores` - Default number of cores for the instance type. +* `defaultThreadsPerCore` - The default number of threads per core for the instance type. +* `defaultVcpus` - Default number of vCPUs for the instance type. +* `ebsEncryptionSupport` - Indicates whether Amazon EBS encryption is supported. +* `ebsNvmeSupport` - Whether non-volatile memory express (NVMe) is supported. +* `ebsOptimizedSupport` - Indicates that the instance type is Amazon EBS-optimized. +* `ebsPerformanceBaselineBandwidth` - The baseline bandwidth performance for an EBS-optimized instance type, in Mbps. +* `ebsPerformanceBaselineIops` - The baseline input/output storage operations per seconds for an EBS-optimized instance type. +* `ebsPerformanceBaselineThroughput` - The baseline throughput performance for an EBS-optimized instance type, in MBps. +* `ebsPerformanceMaximumBandwidth` - The maximum bandwidth performance for an EBS-optimized instance type, in Mbps. +* `ebsPerformanceMaximumIops` - The maximum input/output storage operations per second for an EBS-optimized instance type. +* `ebsPerformanceMaximumThroughput` - The maximum throughput performance for an EBS-optimized instance type, in MBps. +* `efaSupported` - Whether Elastic Fabric Adapter (EFA) is supported. +* `enaSupport` - Whether Elastic Network Adapter (ENA) is supported. +* `encryptionInTransitSupported` - Indicates whether encryption in-transit between instances is supported. +* `fpgas` - Describes the FPGA accelerator settings for the instance type. + * `fpgas.#Count` - The count of FPGA accelerators for the instance type. + * `fpgas.#Manufacturer` - The manufacturer of the FPGA accelerator. + * `fpgas.#MemorySize` - The size (in MiB) for the memory available to the FPGA accelerator. + * `fpgas.#Name` - The name of the FPGA accelerator. +* `freeTierEligible` - `true` if the instance type is eligible for the free tier. +* `gpus` - Describes the GPU accelerators for the instance type. + * `gpus.#Count` - The number of GPUs for the instance type. + * `gpus.#Manufacturer` - The manufacturer of the GPU accelerator. + * `gpus.#MemorySize` - The size (in MiB) for the memory available to the GPU accelerator. + * `gpus.#Name` - The name of the GPU accelerator. +* `hibernationSupported` - `true` if On-Demand hibernation is supported. +* `hypervisor` - Hypervisor used for the instance type. +* `inferenceAccelerators` Describes the Inference accelerators for the instance type. + * `inferenceAccelerators.#Count` - The number of Inference accelerators for the instance type. + * `inferenceAccelerators.#Manufacturer` - The manufacturer of the Inference accelerator. + * `inferenceAccelerators.#Name` - The name of the Inference accelerator. +* `instanceDisks` - Describes the disks for the instance type. + * `instanceDisks.#Count` - The number of disks with this configuration. + * `instanceDisks.#Size` - The size of the disk in GB. + * `instanceDisks.#Type` - The type of disk. +* `instanceStorageSupported` - `true` if instance storage is supported. +* `ipv6Supported` - `true` if IPv6 is supported. +* `maximumIpv4AddressesPerInterface` - The maximum number of IPv4 addresses per network interface. +* `maximumIpv6AddressesPerInterface` - The maximum number of IPv6 addresses per network interface. +* `maximumNetworkInterfaces` - The maximum number of network interfaces for the instance type. +* `memorySize` - Size of the instance memory, in MiB. +* `networkPerformance` - Describes the network performance. +* `supportedArchitectures` - A list of architectures supported by the instance type. +* `supportedPlacementStrategies` - A list of supported placement groups types. +* `supportedRootDeviceTypes` - Indicates the supported root device types. +* `supportedUsagesClasses` - Indicates whether the instance type is offered for spot or On-Demand. +* `supportedVirtualizationTypes` - The supported virtualization types. +* `sustainedClockSpeed` - The speed of the processor, in GHz. +* `totalFpgaMemory` - Total memory of all FPGA accelerators for the instance type (in MiB). +* `totalGpuMemory` - Total size of the memory for the GPU accelerators for the instance type (in MiB). +* `totalInstanceStorage` - The total size of the instance disks, in GB. +* `validCores` - List of the valid number of cores that can be configured for the instance type. +* `validThreadsPerCore` - List of the valid number of threads per core that can be configured for the instance type. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_instance_type_offering.html.markdown b/website/docs/cdktf/typescript/d/ec2_instance_type_offering.html.markdown new file mode 100644 index 00000000000..c6603fda8d4 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_instance_type_offering.html.markdown @@ -0,0 +1,68 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_instance_type_offering" +description: |- + Information about single EC2 Instance Type Offering. +--- + +# Data Source: aws_ec2_instance_type_offering + +Information about single EC2 Instance Type Offering. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2InstanceTypeOffering.DataAwsEc2InstanceTypeOffering( + this, + "example", + { + filter: [ + { + name: "instance-type", + values: ["t2.micro", "t3.micro"], + }, + ], + preferredInstanceTypes: ["t3.micro", "t2.micro"], + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypeOfferings.html) for supported filters. Detailed below. +* `locationType` - (Optional) Location type. Defaults to `region`. Valid values: `availabilityZone`, `availabilityZoneId`, and `region`. +* `preferredInstanceTypes` - (Optional) Ordered list of preferred EC2 Instance Types. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. The `location` filter depends on the top-level `locationType` argument and if not specified, defaults to the current region. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Instance Type. +* `instanceType` - EC2 Instance Type. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_instance_type_offerings.html.markdown b/website/docs/cdktf/typescript/d/ec2_instance_type_offerings.html.markdown new file mode 100644 index 00000000000..63d24b7e9d1 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_instance_type_offerings.html.markdown @@ -0,0 +1,75 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_instance_type_offerings" +description: |- + Information about EC2 Instance Type Offerings. +--- + +# Data Source: aws_ec2_instance_type_offerings + +Information about EC2 Instance Type Offerings. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2InstanceTypeOfferings.DataAwsEc2InstanceTypeOfferings( + this, + "example", + { + filter: [ + { + name: "instance-type", + values: ["t2.micro", "t3.micro"], + }, + { + name: "location", + values: ["usw2-az4"], + }, + ], + locationType: "availability-zone-id", + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypeOfferings.html) for supported filters. Detailed below. +* `locationType` - (Optional) Location type. Defaults to `region`. Valid values: `availabilityZone`, `availabilityZoneId`, and `region`. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. The `location` filter depends on the top-level `locationType` argument and if not specified, defaults to the current region. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `instanceTypes` - List of EC2 Instance Types. +* `locations` - List of locations. +* `locationTypes` - List of location types. + +Note that the indexes of Instance Type Offering instance types, locations and location types correspond. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_instance_types.html.markdown b/website/docs/cdktf/typescript/d/ec2_instance_types.html.markdown new file mode 100644 index 00000000000..bb586ca30ac --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_instance_types.html.markdown @@ -0,0 +1,73 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_instance_types" +description: |- + Information about EC2 Instance Types. +--- + +# Data Source: aws_ec2_instance_types + +Information about EC2 Instance Types. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2InstanceTypes.DataAwsEc2InstanceTypes(this, "test", { + filter: [ + { + name: "auto-recovery-supported", + values: ["true"], + }, + { + name: "network-info.encryption-in-transit-supported", + values: ["true"], + }, + { + name: "instance-storage-supported", + values: ["true"], + }, + { + name: "instance-type", + values: ["g5.2xlarge", "g5.4xlarge"], + }, + ], + }); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypes.html) for supported filters. Detailed below. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `instanceTypes` - List of EC2 Instance Types. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_local_gateway.html.markdown b/website/docs/cdktf/typescript/d/ec2_local_gateway.html.markdown new file mode 100644 index 00000000000..e88cf56e10e --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_local_gateway.html.markdown @@ -0,0 +1,85 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway" +description: |- + Provides details about an EC2 Local Gateway +--- + +# Data Source: aws_ec2_local_gateway + +Provides details about an EC2 Local Gateway. + +## Example Usage + +The following example shows how one might accept a local gateway id as a variable. + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + /*Terraform Variables are not always the best fit for getting inputs in the context of Terraform CDK. + You can read more about this at https://cdk.tf/variables*/ + const localGatewayId = new cdktf.TerraformVariable( + this, + "local_gateway_id", + {} + ); + new aws.dataAwsEc2LocalGateway.DataAwsEc2LocalGateway(this, "selected", { + id: localGatewayId.stringValue, + }); + } +} + +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available +Local Gateways in the current region. The given filters must match exactly one +Local Gateway whose data will be exported as attributes. + +* `filter` - (Optional) Custom filter block as described below. + +* `id` - (Optional) Id of the specific Local Gateway to retrieve. + +* `state` - (Optional) Current state of the desired Local Gateway. + Can be either `"pending"` or `"available"`. + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired Local Gateway. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGateways.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A Local Gateway will be selected if any one of the given values matches. + +## Attributes Reference + +All of the argument attributes except `filter` blocks are also exported as +result attributes. This data source will complete the data by populating +any fields that are not included in the configuration with the data for +the selected Local Gateway. + +The following attributes are additionally exported: + +* `outpostArn` - ARN of Outpost +* `ownerId` - AWS account identifier that owns the Local Gateway. +* `state` - State of the local gateway. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_local_gateway_route_table.html.markdown b/website/docs/cdktf/typescript/d/ec2_local_gateway_route_table.html.markdown new file mode 100644 index 00000000000..0d7ff06c103 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_local_gateway_route_table.html.markdown @@ -0,0 +1,80 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_route_table" +description: |- + Provides details about an EC2 Local Gateway Route Table +--- + +# Data Source: aws_ec2_local_gateway_route_table + +Provides details about an EC2 Local Gateway Route Table. + +This data source can prove useful when a module accepts a local gateway route table id as +an input variable and needs to, for example, find the associated Outpost or Local Gateway. + +## Example Usage + +The following example returns a specific local gateway route table ID + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + /*Terraform Variables are not always the best fit for getting inputs in the context of Terraform CDK. + You can read more about this at https://cdk.tf/variables*/ + const awsEc2LocalGatewayRouteTable = new cdktf.TerraformVariable( + this, + "aws_ec2_local_gateway_route_table", + {} + ); + new aws.dataAwsEc2LocalGatewayRouteTable.DataAwsEc2LocalGatewayRouteTable( + this, + "selected", + { + localGatewayRouteTableId: awsEc2LocalGatewayRouteTable.stringValue, + } + ); + } +} + +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available +Local Gateway Route Tables in the current region. The given filters must match exactly one +Local Gateway Route Table whose data will be exported as attributes. + +* `localGatewayRouteTableId` - (Optional) Local Gateway Route Table Id assigned to desired local gateway route table + +* `localGatewayId` - (Optional) ID of the specific local gateway route table to retrieve. + +* `outpostArn` - (Optional) ARN of the Outpost the local gateway route table is associated with. + +* `state` - (Optional) State of the local gateway route table. + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired local gateway route table. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGatewayRouteTables.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A local gateway route table will be selected if any one of the given values matches. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_local_gateway_route_tables.html.markdown b/website/docs/cdktf/typescript/d/ec2_local_gateway_route_tables.html.markdown new file mode 100644 index 00000000000..ebf9a5249d7 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_local_gateway_route_tables.html.markdown @@ -0,0 +1,69 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_route_tables" +description: |- + Provides information for multiple EC2 Local Gateway Route Tables +--- + +# Data Source: aws_ec2_local_gateway_route_tables + +Provides information for multiple EC2 Local Gateway Route Tables, such as their identifiers. + +## Example Usage + +The following shows outputting all Local Gateway Route Table Ids. + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + const dataAwsEc2LocalGatewayRouteTablesFoo = + new aws.dataAwsEc2LocalGatewayRouteTables.DataAwsEc2LocalGatewayRouteTables( + this, + "foo", + {} + ); + const cdktfTerraformOutputFoo = new cdktf.TerraformOutput(this, "foo_1", { + value: dataAwsEc2LocalGatewayRouteTablesFoo.ids, + }); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + cdktfTerraformOutputFoo.overrideLogicalId("foo"); + } +} + +``` + +## Argument Reference + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired local gateway route table. + +* `filter` - (Optional) Custom filter block as described below. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGatewayRouteTables.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A Local Gateway Route Table will be selected if any one of the given values matches. + +## Attributes Reference + +* `id` - AWS Region. +* `ids` - Set of Local Gateway Route Table identifiers + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_local_gateway_virtual_interface.html.markdown b/website/docs/cdktf/typescript/d/ec2_local_gateway_virtual_interface.html.markdown new file mode 100644 index 00000000000..e03e15d73b0 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_local_gateway_virtual_interface.html.markdown @@ -0,0 +1,55 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_virtual_interface" +description: |- + Provides details about an EC2 Local Gateway Virtual Interface +--- + +# Data Source: aws_ec2_local_gateway_virtual_interface + +Provides details about an EC2 Local Gateway Virtual Interface. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + +## Example Usage + +```terraform +data "aws_ec2_local_gateway_virtual_interface" "example" { + for_each = data.aws_ec2_local_gateway_virtual_interface_group.example.local_gateway_virtual_interface_ids + + id = each.value +} +``` + +## Argument Reference + +The following arguments are optional: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGatewayVirtualInterfaces.html) for supported filters. Detailed below. +* `id` - (Optional) Identifier of EC2 Local Gateway Virtual Interface. +* `tags` - (Optional) Key-value map of resource tags, each pair of which must exactly match a pair on the desired local gateway route table. + +### filter Argument Reference + +The `filter` configuration block supports the following arguments: + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `localAddress` - Local address. +* `localBgpAsn` - Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the EC2 Local Gateway. +* `localGatewayId` - Identifier of the EC2 Local Gateway. +* `peerAddress` - Peer address. +* `peerBgpAsn` - Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the peer. +* `vlan` - Virtual Local Area Network. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_local_gateway_virtual_interface_group.html.markdown b/website/docs/cdktf/typescript/d/ec2_local_gateway_virtual_interface_group.html.markdown new file mode 100644 index 00000000000..b8eaa49f856 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_local_gateway_virtual_interface_group.html.markdown @@ -0,0 +1,49 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_virtual_interface_group" +description: |- + Provides details about an EC2 Local Gateway Virtual Interface Group +--- + +# Data Source: aws_ec2_local_gateway_virtual_interface_group + +Provides details about an EC2 Local Gateway Virtual Interface Group. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + +## Example Usage + +```terraform +data "aws_ec2_local_gateway_virtual_interface_group" "example" { + local_gateway_id = data.aws_ec2_local_gateway.example.id +} +``` + +## Argument Reference + +The following arguments are optional: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGatewayVirtualInterfaceGroups.html) for supported filters. Detailed below. +* `id` - (Optional) Identifier of EC2 Local Gateway Virtual Interface Group. +* `localGatewayId` - (Optional) Identifier of EC2 Local Gateway. +* `tags` - (Optional) Key-value map of resource tags, each pair of which must exactly match a pair on the desired local gateway route table. + +### filter Argument Reference + +The `filter` configuration block supports the following arguments: + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `localGatewayVirtualInterfaceIds` - Set of EC2 Local Gateway Virtual Interface identifiers. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_local_gateway_virtual_interface_groups.html.markdown b/website/docs/cdktf/typescript/d/ec2_local_gateway_virtual_interface_groups.html.markdown new file mode 100644 index 00000000000..72a97d90ebf --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_local_gateway_virtual_interface_groups.html.markdown @@ -0,0 +1,62 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_virtual_interface_groups" +description: |- + Provides details about multiple EC2 Local Gateway Virtual Interface Groups +--- + +# Data Source: aws_ec2_local_gateway_virtual_interface_groups + +Provides details about multiple EC2 Local Gateway Virtual Interface Groups, such as identifiers. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2LocalGatewayVirtualInterfaceGroups.DataAwsEc2LocalGatewayVirtualInterfaceGroups( + this, + "all", + {} + ); + } +} + +``` + +## Argument Reference + +The following arguments are optional: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGatewayVirtualInterfaceGroups.html) for supported filters. Detailed below. +* `tags` - (Optional) Key-value map of resource tags, each pair of which must exactly match a pair on the desired local gateway route table. + +### filter Argument Reference + +The `filter` configuration block supports the following arguments: + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `ids` - Set of EC2 Local Gateway Virtual Interface Group identifiers. +* `localGatewayVirtualInterfaceIds` - Set of EC2 Local Gateway Virtual Interface identifiers. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_local_gateways.html.markdown b/website/docs/cdktf/typescript/d/ec2_local_gateways.html.markdown new file mode 100644 index 00000000000..58e8d79ce11 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_local_gateways.html.markdown @@ -0,0 +1,69 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateways" +description: |- + Provides information for multiple EC2 Local Gateways +--- + +# Data Source: aws_ec2_local_gateways + +Provides information for multiple EC2 Local Gateways, such as their identifiers. + +## Example Usage + +The following example retrieves Local Gateways with a resource tag of `service` set to `production`. + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + const dataAwsEc2LocalGatewaysFoo = + new aws.dataAwsEc2LocalGateways.DataAwsEc2LocalGateways(this, "foo", { + tags: { + service: "production", + }, + }); + const cdktfTerraformOutputFoo = new cdktf.TerraformOutput(this, "foo_1", { + value: dataAwsEc2LocalGatewaysFoo.ids, + }); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + cdktfTerraformOutputFoo.overrideLogicalId("foo"); + } +} + +``` + +## Argument Reference + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired local_gateways. + +* `filter` - (Optional) Custom filter block as described below. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGateways.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A Local Gateway will be selected if any one of the given values matches. + +## Attributes Reference + +* `id` - AWS Region. +* `ids` - Set of all the Local Gateway identifiers + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_managed_prefix_list.html.markdown b/website/docs/cdktf/typescript/d/ec2_managed_prefix_list.html.markdown new file mode 100644 index 00000000000..c33c136869d --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_managed_prefix_list.html.markdown @@ -0,0 +1,108 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_managed_prefix_list" +description: |- + Provides details about a specific managed prefix list +--- + +# Data Source: aws_ec2_managed_prefix_list + +`awsEc2ManagedPrefixList` provides details about a specific AWS prefix list or +customer-managed prefix list in the current region. + +## Example Usage + +### Find the regional DynamoDB prefix list + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + const dataAwsRegionCurrent = new aws.dataAwsRegion.DataAwsRegion( + this, + "current", + {} + ); + new aws.dataAwsEc2ManagedPrefixList.DataAwsEc2ManagedPrefixList( + this, + "example", + { + name: "com.amazonaws.${" + dataAwsRegionCurrent.name + "}.dynamodb", + } + ); + } +} + +``` + +### Find a managed prefix list using filters + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2ManagedPrefixList.DataAwsEc2ManagedPrefixList( + this, + "example", + { + filter: [ + { + name: "prefix-list-name", + values: ["my-prefix-list"], + }, + ], + } + ); + } +} + +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available +prefix lists. The given filters must match exactly one prefix list +whose data will be exported as attributes. + +* `id` - (Optional) ID of the prefix list to select. +* `name` - (Optional) Name of the prefix list to select. +* `filter` - (Optional) Configuration block(s) for filtering. Detailed below. + +### filter Configuration Block + +The following arguments are supported by the `filter` configuration block: + +* `name` - (Required) Name of the filter field. Valid values can be found in the EC2 [DescribeManagedPrefixLists](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeManagedPrefixLists.html) API Reference. +* `values` - (Required) Set of values that are accepted for the given filter field. Results will be selected if any given value matches. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the selected prefix list. +* `arn` - ARN of the selected prefix list. +* `name` - Name of the selected prefix list. +* `entries` - Set of entries in this prefix list. Each entry is an object with `cidr` and `description`. +* `ownerId` - Account ID of the owner of a customer-managed prefix list, or `aws` otherwise. +* `addressFamily` - Address family of the prefix list. Valid values are `iPv4` and `iPv6`. +* `maxEntries` - When then prefix list is managed, the maximum number of entries it supports, or null otherwise. +* `tags` - Map of tags assigned to the resource. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_managed_prefix_lists.html.markdown b/website/docs/cdktf/typescript/d/ec2_managed_prefix_lists.html.markdown new file mode 100644 index 00000000000..e6269fd1ed3 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_managed_prefix_lists.html.markdown @@ -0,0 +1,89 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_managed_prefix_lists" +description: |- + Get information on managed prefix lists +--- + +# Data Source: aws_ec2_managed_prefix_lists + +This resource can be useful for getting back a list of managed prefix list ids to be referenced elsewhere. + +## Example Usage + +The following returns all managed prefix lists filtered by tags + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + const dataAwsEc2ManagedPrefixListsTestEnv = + new aws.dataAwsEc2ManagedPrefixLists.DataAwsEc2ManagedPrefixLists( + this, + "test_env", + { + tags: { + Env: "test", + }, + } + ); + /*In most cases loops should be handled in the programming language context and + not inside of the Terraform context. If you are looping over something external, e.g. a variable or a file input + you should consider using a for loop. If you are looping over something only known to Terraform, e.g. a result of a data source + you need to keep this like it is.*/ + const dataAwsEc2ManagedPrefixListTestEnvCount = cdktf.TerraformCount.of( + cdktf.Fn.lengthOf(dataAwsEc2ManagedPrefixListsTestEnv.ids) + ); + const dataAwsEc2ManagedPrefixListTestEnv = + new aws.dataAwsEc2ManagedPrefixList.DataAwsEc2ManagedPrefixList( + this, + "test_env_1", + { + id: cdktf.Token.asString( + cdktf.propertyAccess( + cdktf.Fn.tolist(dataAwsEc2ManagedPrefixListsTestEnv.ids), + [dataAwsEc2ManagedPrefixListTestEnvCount.index] + ) + ), + count: dataAwsEc2ManagedPrefixListTestEnvCount, + } + ); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + dataAwsEc2ManagedPrefixListTestEnv.overrideLogicalId("test_env"); + } +} + +``` + +## Argument Reference + +* `filter` - (Optional) Custom filter block as described below. +* `tags` - (Optional) Map of tags, each pair of which must exactly match + a pair on the desired . + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeManagedPrefixLists.html). +* `values` - (Required) Set of values that are accepted for the given field. + A managed prefix list will be selected if any one of the given values matches. + +## Attributes Reference + +* `id` - AWS Region. +* `ids` - List of all the managed prefix list ids found. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_network_insights_analysis.html.markdown b/website/docs/cdktf/typescript/d/ec2_network_insights_analysis.html.markdown new file mode 100644 index 00000000000..5427a4642e4 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_network_insights_analysis.html.markdown @@ -0,0 +1,54 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_network_insights_analysis" +description: |- + Provides details about a specific Network Insights Analysis. +--- + +# Data Source: aws_ec2_network_insights_analysis + +`awsEc2NetworkInsightsAnalysis` provides details about a specific Network Insights Analysis. + +## Example Usage + +```terraform +data "aws_ec2_network_insights_analysis" "example" { + network_insights_analysis_id = aws_ec2_network_insights_analysis.example.id +} +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available +Network Insights Analyses. The given filters must match exactly one Network Insights Analysis +whose data will be exported as attributes. + +* `networkInsightsAnalysisId` - (Optional) ID of the Network Insights Analysis to select. +* `filter` - (Optional) Configuration block(s) for filtering. Detailed below. + +### filter Configuration Block + +The following arguments are supported by the `filter` configuration block: + +* `name` - (Required) Name of the filter field. Valid values can be found in the EC2 [`describeNetworkInsightsAnalyses`](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeNetworkInsightsAnalyses.html) API Reference. +* `values` - (Required) Set of values that are accepted for the given filter field. Results will be selected if any given value matches. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `alternatePathHints` - Potential intermediate components of a feasible path. +* `arn` - ARN of the selected Network Insights Analysis. +* `explanations` - Explanation codes for an unreachable path. +* `filterInArns` - ARNs of the AWS resources that the path must traverse. +* `forwardPathComponents` - The components in the path from source to destination. +* `networkInsightsPathId` - The ID of the path. +* `pathFound` - Set to `true` if the destination was reachable. +* `returnPathComponents` - The components in the path from destination to source. +* `startDate` - Date/time the analysis was started. +* `status` - Status of the analysis. `succeeded` means the analysis was completed, not that a path was found, for that see `pathFound`. +* `statusMessage` - Message to provide more context when the `status` is `failed`. +* `warningMessage` - Warning message. + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_network_insights_path.html.markdown b/website/docs/cdktf/typescript/d/ec2_network_insights_path.html.markdown new file mode 100644 index 00000000000..31db2845dcc --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_network_insights_path.html.markdown @@ -0,0 +1,50 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_network_insights_path" +description: |- + Provides details about a specific Network Insights Path. +--- + +# Data Source: aws_ec2_network_insights_path + +`awsEc2NetworkInsightsPath` provides details about a specific Network Insights Path. + +## Example Usage + +```terraform +data "aws_ec2_network_insights_path" "example" { + network_insights_path_id = aws_ec2_network_insights_path.example.id +} +``` + +## Argument Reference + +The arguments of this data source act as filters for querying the available +Network Insights Paths. The given filters must match exactly one Network Insights Path +whose data will be exported as attributes. + +* `networkInsightsPathId` - (Optional) ID of the Network Insights Path to select. +* `filter` - (Optional) Configuration block(s) for filtering. Detailed below. + +### filter Configuration Block + +The following arguments are supported by the `filter` configuration block: + +* `name` - (Required) Name of the filter field. Valid values can be found in the EC2 [`describeNetworkInsightsPaths`](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeNetworkInsightsPaths.html) API Reference. +* `values` - (Required) Set of values that are accepted for the given filter field. Results will be selected if any given value matches. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - ARN of the selected Network Insights Path. +* `destination` - AWS resource that is the destination of the path. +* `destinationIp` - IP address of the AWS resource that is the destination of the path. +* `destinationPort` - Destination port. +* `protocol` - Protocol. +* `source` - AWS resource that is the source of the path. +* `sourceIp` - IP address of the AWS resource that is the source of the path. +* `tags` - Map of tags assigned to the resource. + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_public_ipv4_pool.html.markdown b/website/docs/cdktf/typescript/d/ec2_public_ipv4_pool.html.markdown new file mode 100644 index 00000000000..c78106e05c8 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_public_ipv4_pool.html.markdown @@ -0,0 +1,55 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_public_ipv4_pool" +description: |- + Provides details about a specific AWS EC2 Public IPv4 Pool. +--- + +# Data Source: aws_ec2_public_ipv4_pool + +Provides details about a specific AWS EC2 Public IPv4 Pool. + +## Example Usage + +### Basic Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2PublicIpv4Pool.DataAwsEc2PublicIpv4Pool(this, "example", { + poolId: "ipv4pool-ec2-000df99cff0c1ec10", + }); + } +} + +``` + +## Argument Reference + +The following arguments are required: + +* `poolId` - (Required) AWS resource IDs of a public IPv4 pool (as a string) for which this data source will fetch detailed information. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `description` - Description of the pool, if any. +* `networkBorderGroup` - Name of the location from which the address pool is advertised. +* pool_address_ranges` - List of Address Ranges in the Pool; each address range record contains: + * `addressCount` - Number of addresses in the range. + * `availableAddressCount` - Number of available addresses in the range. + * `firstAddress` - First address in the range. + * `lastAddress` - Last address in the range. +* `tags` - Any tags for the address pool. +* `totalAddressCount` - Total number of addresses in the pool. +* `totalAvailableAddressCount` - Total number of available addresses in the pool. + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_public_ipv4_pools.html.markdown b/website/docs/cdktf/typescript/d/ec2_public_ipv4_pools.html.markdown new file mode 100644 index 00000000000..c8b8ea41dd3 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_public_ipv4_pools.html.markdown @@ -0,0 +1,81 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_public_ipv4_pools" +description: |- + Terraform data source for getting information about AWS EC2 Public IPv4 Pools. +--- + +# Data Source: aws_ec2_public_ipv4_pools + +Terraform data source for getting information about AWS EC2 Public IPv4 Pools. + +## Example Usage + +### Basic Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2PublicIpv4Pools.DataAwsEc2PublicIpv4Pools( + this, + "example", + {} + ); + } +} + +``` + +### Usage with Filter + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2PublicIpv4Pools.DataAwsEc2PublicIpv4Pools( + this, + "example", + { + filter: [ + { + name: "tag-key", + values: ["ExampleTagKey"], + }, + ], + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are optional: + +* `filter` - (Optional) Custom filter block as described below. +* `tags` - (Optional) Map of tags, each pair of which must exactly match a pair on the desired pools. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribePublicIpv4Pools.html). +* `values` - (Required) Set of values that are accepted for the given field. Pool IDs will be selected if any one of the given values match. + +## Attributes Reference + +* `poolIds` - List of all the pool IDs found. + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_serial_console_access.html.markdown b/website/docs/cdktf/typescript/d/ec2_serial_console_access.html.markdown new file mode 100644 index 00000000000..7e1b7114154 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_serial_console_access.html.markdown @@ -0,0 +1,47 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_serial_console_access" +description: |- + Checks whether serial console access is enabled for your AWS account in the current AWS region. +--- + +# Data Source: aws_ec2_serial_console_access + +Provides a way to check whether serial console access is enabled for your AWS account in the current AWS region. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2SerialConsoleAccess.DataAwsEc2SerialConsoleAccess( + this, + "current", + {} + ); + } +} + +``` + +## Attributes Reference + +The following attributes are exported: + +* `enabled` - Whether or not serial console access is enabled. Returns as `true` or `false`. +* `id` - Region of serial console access. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_spot_price.html.markdown b/website/docs/cdktf/typescript/d/ec2_spot_price.html.markdown new file mode 100644 index 00000000000..88c18ff7117 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_spot_price.html.markdown @@ -0,0 +1,66 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_spot_price" +description: |- + Information about most recent Spot Price for a given EC2 instance. +--- + +# Data Source: aws_ec2_spot_price + +Information about most recent Spot Price for a given EC2 instance. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2SpotPrice.DataAwsEc2SpotPrice(this, "example", { + availabilityZone: "us-west-2a", + filter: [ + { + name: "product-description", + values: ["Linux/UNIX"], + }, + ], + instanceType: "t3.medium", + }); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `instanceType` - (Optional) Type of instance for which to query Spot Price information. +* `availabilityZone` - (Optional) Availability zone in which to query Spot price information. +* `filter` - (Optional) One or more configuration blocks containing name-values filters. See the [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSpotPriceHistory.html) for supported filters. Detailed below. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `spotPrice` - Most recent Spot Price value for the given instance type and AZ. +* `spotPriceTimestamp` - The timestamp at which the Spot Price value was published. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway.html.markdown new file mode 100644 index 00000000000..b4dfa0c4ff7 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway.html.markdown @@ -0,0 +1,96 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway" +description: |- + Get information on an EC2 Transit Gateway +--- + +# Data Source: aws_ec2_transit_gateway + +Get information on an EC2 Transit Gateway. + +## Example Usage + +### By Filter + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGateway.DataAwsEc2TransitGateway(this, "example", { + filter: [ + { + name: "options.amazon-side-asn", + values: ["64512"], + }, + ], + }); + } +} + +``` + +### By Identifier + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGateway.DataAwsEc2TransitGateway(this, "example", { + id: "tgw-12345678", + }); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `id` - (Optional) Identifier of the EC2 Transit Gateway. + +### filter Argument Reference + +* `name` - (Required) Name of the field to filter by, as defined by the [underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGateways.html). +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `amazonSideAsn` - Private Autonomous System Number (ASN) for the Amazon side of a BGP session +* `arn` - EC2 Transit Gateway ARN +* `associationDefaultRouteTableId` - Identifier of the default association route table +* `autoAcceptSharedAttachments` - Whether resource attachment requests are automatically accepted +* `defaultRouteTableAssociation` - Whether resource attachments are automatically associated with the default association route table +* `defaultRouteTablePropagation` - Whether resource attachments automatically propagate routes to the default propagation route table +* `description` - Description of the EC2 Transit Gateway +* `dnsSupport` - Whether DNS support is enabled +* `multicastSupport` - Whether Multicast support is enabled +* `id` - EC2 Transit Gateway identifier +* `ownerId` - Identifier of the AWS account that owns the EC2 Transit Gateway +* `propagationDefaultRouteTableId` - Identifier of the default propagation route table +* `tags` - Key-value tags for the EC2 Transit Gateway +* `transitGatewayCidrBlocks` - The list of associated CIDR blocks +* `vpnEcmpSupport` - Whether VPN Equal Cost Multipath Protocol support is enabled + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_attachment.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_attachment.html.markdown new file mode 100644 index 00000000000..c6a362490e8 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_attachment.html.markdown @@ -0,0 +1,56 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_attachment" +description: |- + Get information on an EC2 Transit Gateway's attachment to a resource +--- + +# Data Source: aws_ec2_transit_gateway_attachment + +Get information on an EC2 Transit Gateway's attachment to a resource. + +## Example Usage + +```terraform +data "aws_ec2_transit_gateway_attachment" "example" { + filter { + name = "transit-gateway-id" + values = [aws_ec2_transit_gateway.example.id] + } + + filter { + name = "resource-type" + values = ["peering"] + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `transitGatewayAttachmentId` - (Optional) ID of the attachment. + +### filter Argument Reference + +* `name` - (Required) Name of the field to filter by, as defined by the [underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html). +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - ARN of the attachment. +* `associationState` - The state of the association (see [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachmentAssociation.html) for valid values). +* `associationTransitGatewayRouteTableId` - The ID of the route table for the transit gateway. +* `resourceId` - ID of the resource. +* `resourceOwnerId` - ID of the AWS account that owns the resource. +* `resourceType` - Resource type. +* `state` - Attachment state. +* `tags` - Key-value tags for the attachment. +* `transitGatewayId` - ID of the transit gateway. +* `transitGatewayOwnerId` - The ID of the AWS account that owns the transit gateway. + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_attachments.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_attachments.html.markdown new file mode 100644 index 00000000000..c48843e19d7 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_attachments.html.markdown @@ -0,0 +1,62 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_attachments" +description: |- + Get information on EC2 Transit Gateway Attachments +--- + +# Data Source: aws_ec2_transit_gateway_attachments + +Get information on EC2 Transit Gateway Attachments. + +## Example Usage + +### By Filter + +```hcl +data "aws_ec2_transit_gateway_attachments" "filtered" { + filter { + name = "state" + values = ["pendingAcceptance"] + } + + filter { + name = "resource-type" + values = ["vpc"] + } +} + +data "aws_ec2_transit_gateway_attachment" "unit" { + count = length(data.aws_ec2_transit_gateway_attachments.filtered.ids) + id = data.aws_ec2_transit_gateway_attachments.filtered.ids[count.index] +} +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. + +### filter Argument Reference + +* `name` - (Required) Name of the filter check available value on [official documentation][1] +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `ids` A list of all attachments ids matching the filter. You can retrieve more information about the attachment using the [aws_ec2_transit_gateway_attachment][2] data source, searching by identifier. + +[1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html +[2]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_transit_gateway_attachment + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_connect.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_connect.html.markdown new file mode 100644 index 00000000000..cadcb3d6633 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_connect.html.markdown @@ -0,0 +1,93 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_connect" +description: |- + Get information on an EC2 Transit Gateway Connect +--- + +# Data Source: aws_ec2_transit_gateway_connect + +Get information on an EC2 Transit Gateway Connect. + +## Example Usage + +### By Filter + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGatewayConnect.DataAwsEc2TransitGatewayConnect( + this, + "example", + { + filter: [ + { + name: "transport-transit-gateway-attachment-id", + values: ["tgw-attach-12345678"], + }, + ], + } + ); + } +} + +``` + +### By Identifier + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGatewayConnect.DataAwsEc2TransitGatewayConnect( + this, + "example", + { + transitGatewayConnectId: "tgw-attach-12345678", + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `transitGatewayConnectId` - (Optional) Identifier of the EC2 Transit Gateway Connect. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `protocol` - Tunnel protocol +* `tags` - Key-value tags for the EC2 Transit Gateway Connect +* `transitGatewayId` - EC2 Transit Gateway identifier +* `transportAttachmentId` - The underlaying VPC attachment + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_connect_peer.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_connect_peer.html.markdown new file mode 100644 index 00000000000..8ea68196119 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_connect_peer.html.markdown @@ -0,0 +1,96 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_connect_peer" +description: |- + Get information on an EC2 Transit Gateway Connect Peer +--- + +# Data Source: aws_ec2_transit_gateway_connect_peer + +Get information on an EC2 Transit Gateway Connect Peer. + +## Example Usage + +### By Filter + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGatewayConnectPeer.DataAwsEc2TransitGatewayConnectPeer( + this, + "example", + { + filter: [ + { + name: "transit-gateway-attachment-id", + values: ["tgw-attach-12345678"], + }, + ], + } + ); + } +} + +``` + +### By Identifier + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGatewayConnectPeer.DataAwsEc2TransitGatewayConnectPeer( + this, + "example", + { + transitGatewayConnectPeerId: "tgw-connect-peer-12345678", + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `transitGatewayConnectPeerId` - (Optional) Identifier of the EC2 Transit Gateway Connect Peer. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - EC2 Transit Gateway Connect Peer ARN +* `bgpAsn` - BGP ASN number assigned customer device +* `insideCidrBlocks` - CIDR blocks that will be used for addressing within the tunnel. +* `peerAddress` - IP addressed assigned to customer device, which is used as tunnel endpoint +* `tags` - Key-value tags for the EC2 Transit Gateway Connect Peer +* `transitGatewayAddress` - The IP address assigned to Transit Gateway, which is used as tunnel endpoint. +* `transitGatewayAttachmentId` - The Transit Gateway Connect + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_dx_gateway_attachment.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_dx_gateway_attachment.html.markdown new file mode 100644 index 00000000000..10802b4f9c4 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_dx_gateway_attachment.html.markdown @@ -0,0 +1,53 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_dx_gateway_attachment" +description: |- + Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway +--- + +# Data Source: aws_ec2_transit_gateway_dx_gateway_attachment + +Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway. + +## Example Usage + +### By Transit Gateway and Direct Connect Gateway Identifiers + +```terraform +data "aws_ec2_transit_gateway_dx_gateway_attachment" "example" { + transit_gateway_id = aws_ec2_transit_gateway.example.id + dx_gateway_id = aws_dx_gateway.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `transitGatewayId` - (Optional) Identifier of the EC2 Transit Gateway. +* `dxGatewayId` - (Optional) Identifier of the Direct Connect Gateway. +* `filter` - (Optional) Configuration block(s) for filtering. Detailed below. +* `tags` - (Optional) Map of tags, each pair of which must exactly match a pair on the desired Transit Gateway Direct Connect Gateway Attachment. + +### filter Configuration Block + +The following arguments are supported by the `filter` configuration block: + +* `name` - (Required) Name of the filter field. Valid values can be found in the [EC2 DescribeTransitGatewayAttachments API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html). +* `values` - (Required) Set of values that are accepted for the given filter field. Results will be selected if any given value matches. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Attachment identifier +* `tags` - Key-value tags for the EC2 Transit Gateway Attachment + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_multicast_domain.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_multicast_domain.html.markdown new file mode 100644 index 00000000000..5300c9ae90c --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_multicast_domain.html.markdown @@ -0,0 +1,110 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_multicast_domain" +description: |- + Get information on an EC2 Transit Gateway Multicast Domain +--- + +# Data Source: aws_ec2_transit_gateway_multicast_domain + +Get information on an EC2 Transit Gateway Multicast Domain. + +## Example Usage + +### By Filter + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGatewayMulticastDomain.DataAwsEc2TransitGatewayMulticastDomain( + this, + "example", + { + filter: [ + { + name: "transit-gateway-multicast-domain-id", + values: ["tgw-mcast-domain-12345678"], + }, + ], + } + ); + } +} + +``` + +### By Identifier + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGatewayMulticastDomain.DataAwsEc2TransitGatewayMulticastDomain( + this, + "example", + { + transitGatewayMulticastDomainId: "tgw-mcast-domain-12345678", + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `transitGatewayMulticastDomainId` - (Optional) Identifier of the EC2 Transit Gateway Multicast Domain. + +### filter Argument Reference + +This block allows for complex filters. You can use one or more `filter` blocks. + +The following arguments are required: + +* `name` - (Required) Name of the field to filter by, as defined by [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayMulticastDomains.html). +* `values` - (Required) Set of values that are accepted for the given field. A multicast domain will be selected if any one of the given values matches. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Multicast Domain identifier. +* `arn` - EC2 Transit Gateway Multicast Domain ARN. +* `associations` - EC2 Transit Gateway Multicast Domain Associations + * `subnetId` - The ID of the subnet associated with the transit gateway multicast domain. + * `transitGatewayAttachmentId` - The ID of the transit gateway attachment. +* `autoAcceptSharedAssociations` - Whether to automatically accept cross-account subnet associations that are associated with the EC2 Transit Gateway Multicast Domain. +* `igmpv2Support` - Whether to enable Internet Group Management Protocol (IGMP) version 2 for the EC2 Transit Gateway Multicast Domain. +* `members` - EC2 Multicast Domain Group Members + * `groupIpAddress` - The IP address assigned to the transit gateway multicast group. + * `networkInterfaceId` - The group members' network interface ID. +* `ownerId` - Identifier of the AWS account that owns the EC2 Transit Gateway Multicast Domain. +* `sources` - EC2 Multicast Domain Group Sources + * `groupIpAddress` - The IP address assigned to the transit gateway multicast group. + * `networkInterfaceId` - The group members' network interface ID. +* `staticSourcesSupport` - Whether to enable support for statically configuring multicast group sources for the EC2 Transit Gateway Multicast Domain. +* `tags` - Key-value tags for the EC2 Transit Gateway Multicast Domain. +* `transitGatewayId` - EC2 Transit Gateway identifier. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_peering_attachment.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_peering_attachment.html.markdown new file mode 100644 index 00000000000..48906585d84 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_peering_attachment.html.markdown @@ -0,0 +1,98 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_peering_attachment" +description: |- + Get information on an EC2 Transit Gateway Peering Attachment +--- + +# Data Source: aws_ec2_transit_gateway_peering_attachment + +Get information on an EC2 Transit Gateway Peering Attachment. + +## Example Usage + +### By Filter + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGatewayPeeringAttachment.DataAwsEc2TransitGatewayPeeringAttachment( + this, + "example", + { + filter: [ + { + name: "transit-gateway-attachment-id", + values: ["tgw-attach-12345678"], + }, + ], + } + ); + } +} + +``` + +### By Identifier + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGatewayPeeringAttachment.DataAwsEc2TransitGatewayPeeringAttachment( + this, + "attachment", + { + id: "tgw-attach-12345678", + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `id` - (Optional) Identifier of the EC2 Transit Gateway Peering Attachment. +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the specific EC2 Transit Gateway Peering Attachment to retrieve. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayPeeringAttachments.html). +* `values` - (Required) Set of values that are accepted for the given field. + An EC2 Transit Gateway Peering Attachment be selected if any one of the given values matches. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `peerAccountId` - Identifier of the peer AWS account +* `peerRegion` - Identifier of the peer AWS region +* `peerTransitGatewayId` - Identifier of the peer EC2 Transit Gateway +* `transitGatewayId` - Identifier of the local EC2 Transit Gateway + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_route_table.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_route_table.html.markdown new file mode 100644 index 00000000000..08b3f7255b2 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_route_table.html.markdown @@ -0,0 +1,99 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route_table" +description: |- + Get information on an EC2 Transit Gateway Route Table +--- + +# Data Source: aws_ec2_transit_gateway_route_table + +Get information on an EC2 Transit Gateway Route Table. + +## Example Usage + +### By Filter + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGatewayRouteTable.DataAwsEc2TransitGatewayRouteTable( + this, + "example", + { + filter: [ + { + name: "default-association-route-table", + values: ["true"], + }, + { + name: "transit-gateway-id", + values: ["tgw-12345678"], + }, + ], + } + ); + } +} + +``` + +### By Identifier + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGatewayRouteTable.DataAwsEc2TransitGatewayRouteTable( + this, + "example", + { + id: "tgw-rtb-12345678", + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `id` - (Optional) Identifier of the EC2 Transit Gateway Route Table. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - EC2 Transit Gateway Route Table ARN. +* `defaultAssociationRouteTable` - Boolean whether this is the default association route table for the EC2 Transit Gateway +* `defaultPropagationRouteTable` - Boolean whether this is the default propagation route table for the EC2 Transit Gateway +* `id` - EC2 Transit Gateway Route Table identifier +* `transitGatewayId` - EC2 Transit Gateway identifier +* `tags` - Key-value tags for the EC2 Transit Gateway Route Table + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_route_table_associations.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_route_table_associations.html.markdown new file mode 100644 index 00000000000..962adeaeb85 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_route_table_associations.html.markdown @@ -0,0 +1,49 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route_table_associations" +description: |- + Provides information for multiple EC2 Transit Gateway Route Table Associations +--- + +# Data Source: aws_ec2_transit_gateway_route_table_associations + +Provides information for multiple EC2 Transit Gateway Route Table Associations, such as their identifiers. + +## Example Usage + +### By Transit Gateway Identifier + +```terraform +data "aws_ec2_transit_gateway_route_table_associations" "example" { + transit_gateway_route_table_id = aws_ec2_transit_gateway_route_table.example.id +} +``` + +## Argument Reference + +The following arguments are required: + +* `transitGatewayRouteTableId` - (Required) Identifier of EC2 Transit Gateway Route Table. + +The following arguments are optional: + +* `filter` - (Optional) Custom filter block as described below. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetTransitGatewayRouteTableAssociations.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A Transit Gateway Route Table will be selected if any one of the given values matches. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `ids` - Set of Transit Gateway Route Table Association identifiers. + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_route_table_propagations.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_route_table_propagations.html.markdown new file mode 100644 index 00000000000..1cf37dfd563 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_route_table_propagations.html.markdown @@ -0,0 +1,49 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transitgateway_route_table_propagations" +description: |- + Provides information for multiple EC2 Transit Gateway Route Table Propagations +--- + +# Data Source: aws_ec2_transitgateway_route_table_propagations + +Provides information for multiple EC2 Transit Gateway Route Table Propagations, such as their identifiers. + +## Example Usage + +### By Transit Gateway Identifier + +```terraform +data "aws_ec2_transit_gateway_route_table_propagations" "example" { + transit_gateway_route_table_id = aws_ec2_transit_gateway_route_table.example.id +} +``` + +## Argument Reference + +The following arguments are required: + +* `transitGatewayRouteTableId` - (Required) Identifier of EC2 Transit Gateway Route Table. + +The following arguments are optional: + +* `filter` - (Optional) Custom filter block as described below. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetTransitGatewayRouteTablePropagations.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A Transit Gateway Route Table will be selected if any one of the given values matches. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `ids` - Set of Transit Gateway Route Table Association identifiers. + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_route_tables.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_route_tables.html.markdown new file mode 100644 index 00000000000..77961c10613 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_route_tables.html.markdown @@ -0,0 +1,56 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route_tables" +description: |- + Provides information for multiple EC2 Transit Gateway Route Tables +--- + +# Data Source: aws_ec2_transit_gateway_route_tables + +Provides information for multiple EC2 Transit Gateway Route Tables, such as their identifiers. + +## Example Usage + +The following shows outputting all Transit Gateway Route Table Ids. + +```terraform +data "aws_ec2_transit_gateway_route_tables" "example" {} + +output "example" { + value = data.aws_ec2_transit_gateway_route_table.example.ids +} +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) Custom filter block as described below. + +* `tags` - (Optional) Mapping of tags, each pair of which must exactly match + a pair on the desired transit gateway route table. + +More complex filters can be expressed using one or more `filter` sub-blocks, +which take the following arguments: + +* `name` - (Required) Name of the field to filter by, as defined by + [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayRouteTables.html). + +* `values` - (Required) Set of values that are accepted for the given field. + A Transit Gateway Route Table will be selected if any one of the given values matches. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - AWS Region. +* `ids` - Set of Transit Gateway Route Table identifiers. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_vpc_attachment.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_vpc_attachment.html.markdown new file mode 100644 index 00000000000..22e76d5a21a --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_vpc_attachment.html.markdown @@ -0,0 +1,98 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_vpc_attachment" +description: |- + Get information on an EC2 Transit Gateway VPC Attachment +--- + +# Data Source: aws_ec2_transit_gateway_vpc_attachment + +Get information on an EC2 Transit Gateway VPC Attachment. + +## Example Usage + +### By Filter + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGatewayVpcAttachment.DataAwsEc2TransitGatewayVpcAttachment( + this, + "example", + { + filter: [ + { + name: "vpc-id", + values: ["vpc-12345678"], + }, + ], + } + ); + } +} + +``` + +### By Identifier + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGatewayVpcAttachment.DataAwsEc2TransitGatewayVpcAttachment( + this, + "example", + { + id: "tgw-attach-12345678", + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. +* `id` - (Optional) Identifier of the EC2 Transit Gateway VPC Attachment. + +### filter Argument Reference + +* `name` - (Required) Name of the filter. +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `applianceModeSupport` - Whether Appliance Mode support is enabled. +* `dnsSupport` - Whether DNS support is enabled. +* `id` - EC2 Transit Gateway VPC Attachment identifier +* `ipv6Support` - Whether IPv6 support is enabled. +* `subnetIds` - Identifiers of EC2 Subnets. +* `transitGatewayId` - EC2 Transit Gateway identifier +* `tags` - Key-value tags for the EC2 Transit Gateway VPC Attachment +* `vpcId` - Identifier of EC2 VPC. +* `vpcOwnerId` - Identifier of the AWS account that owns the EC2 VPC. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_vpc_attachments.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_vpc_attachments.html.markdown new file mode 100644 index 00000000000..1d2b67dd3a2 --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_vpc_attachments.html.markdown @@ -0,0 +1,91 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_vpc_attachments" +description: |- + Get information on EC2 Transit Gateway VPC Attachments +--- + +# Data Source: aws_ec2_transit_gateway_vpc_attachments + +Get information on EC2 Transit Gateway VPC Attachments. + +## Example Usage + +### By Filter + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + const dataAwsEc2TransitGatewayVpcAttachmentsFiltered = + new aws.dataAwsEc2TransitGatewayVpcAttachments.DataAwsEc2TransitGatewayVpcAttachments( + this, + "filtered", + { + filter: [ + { + name: "state", + values: ["pendingAcceptance"], + }, + ], + } + ); + /*In most cases loops should be handled in the programming language context and + not inside of the Terraform context. If you are looping over something external, e.g. a variable or a file input + you should consider using a for loop. If you are looping over something only known to Terraform, e.g. a result of a data source + you need to keep this like it is.*/ + const dataAwsEc2TransitGatewayVpcAttachmentUnitCount = + cdktf.TerraformCount.of( + cdktf.Fn.lengthOf(dataAwsEc2TransitGatewayVpcAttachmentsFiltered.ids) + ); + new aws.dataAwsEc2TransitGatewayVpcAttachment.DataAwsEc2TransitGatewayVpcAttachment( + this, + "unit", + { + id: cdktf.Token.asString( + cdktf.propertyAccess( + dataAwsEc2TransitGatewayVpcAttachmentsFiltered.ids, + [dataAwsEc2TransitGatewayVpcAttachmentUnitCount.index] + ) + ), + count: dataAwsEc2TransitGatewayVpcAttachmentUnitCount, + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `filter` - (Optional) One or more configuration blocks containing name-values filters. Detailed below. + +### filter Argument Reference + +* `name` - (Required) Name of the filter check available value on [official documentation][1] +* `values` - (Required) List of one or more values for the filter. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `ids` A list of all attachments ids matching the filter. You can retrieve more information about the attachment using the [aws_ec2_transit_gateway_vpc_attachment][2] data source, searching by identifier. + +[1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayVpcAttachments.html +[2]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_transit_gateway_vpc_attachment + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ec2_transit_gateway_vpn_attachment.html.markdown b/website/docs/cdktf/typescript/d/ec2_transit_gateway_vpn_attachment.html.markdown new file mode 100644 index 00000000000..34ac73fbd3b --- /dev/null +++ b/website/docs/cdktf/typescript/d/ec2_transit_gateway_vpn_attachment.html.markdown @@ -0,0 +1,83 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_vpn_attachment" +description: |- + Get information on an EC2 Transit Gateway VPN Attachment +--- + +# Data Source: aws_ec2_transit_gateway_vpn_attachment + +Get information on an EC2 Transit Gateway VPN Attachment. + +-> EC2 Transit Gateway VPN Attachments are implicitly created by VPN Connections referencing an EC2 Transit Gateway so there is no managed resource. For ease, the [`awsVpnConnection` resource](/docs/providers/aws/r/vpn_connection.html) includes a `transitGatewayAttachmentId` attribute which can replace some usage of this data source. For tagging the attachment, see the [`awsEc2Tag` resource](/docs/providers/aws/r/ec2_tag.html). + +## Example Usage + +### By Transit Gateway and VPN Connection Identifiers + +```terraform +data "aws_ec2_transit_gateway_vpn_attachment" "example" { + transit_gateway_id = aws_ec2_transit_gateway.example.id + vpn_connection_id = aws_vpn_connection.example.id +} +``` + +### Filter + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.dataAwsEc2TransitGatewayVpnAttachment.DataAwsEc2TransitGatewayVpnAttachment( + this, + "test", + { + filter: [ + { + name: "resource-id", + values: ["some-resource"], + }, + ], + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `transitGatewayId` - (Optional) Identifier of the EC2 Transit Gateway. +* `vpnConnectionId` - (Optional) Identifier of the EC2 VPN Connection. +* `filter` - (Optional) Configuration block(s) for filtering. Detailed below. +* `tags` - (Optional) Map of tags, each pair of which must exactly match a pair on the desired Transit Gateway VPN Attachment. + +### filter Configuration Block + +The following arguments are supported by the `filter` configuration block: + +* `name` - (Required) Name of the filter field. Valid values can be found in the [EC2 DescribeTransitGatewayAttachments API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html). +* `values` - (Required) Set of values that are accepted for the given filter field. Results will be selected if any given value matches. + +## Attribute Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway VPN Attachment identifier +* `tags` - Key-value tags for the EC2 Transit Gateway VPN Attachment + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `read` - (Default `20M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_availability_zone_group.html.markdown b/website/docs/cdktf/typescript/r/ec2_availability_zone_group.html.markdown new file mode 100644 index 00000000000..d85ad9d6400 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_availability_zone_group.html.markdown @@ -0,0 +1,56 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_availability_zone_group" +description: |- + Manages an EC2 Availability Zone Group. +--- + +# Resource: aws_ec2_availability_zone_group + +Manages an EC2 Availability Zone Group, such as updating its opt-in status. + +~> **NOTE:** This is an advanced Terraform resource. Terraform will automatically assume management of the EC2 Availability Zone Group without import and perform no actions on removal from configuration. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.ec2AvailabilityZoneGroup.Ec2AvailabilityZoneGroup(this, "example", { + groupName: "us-west-2-lax-1", + optInStatus: "opted-in", + }); + } +} + +``` + +## Argument Reference + +The following arguments are required: + +* `groupName` - (Required) Name of the Availability Zone Group. +* `optInStatus` - (Required) Indicates whether to enable or disable Availability Zone Group. Valid values: `optedIn` or `notOptedIn`. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - Name of the Availability Zone Group. + +## Import + +EC2 Availability Zone Groups can be imported using the group name, e.g., + +``` +$ terraform import aws_ec2_availability_zone_group.example us-west-2-lax-1 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_capacity_reservation.html.markdown b/website/docs/cdktf/typescript/r/ec2_capacity_reservation.html.markdown new file mode 100644 index 00000000000..cff3cff8264 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_capacity_reservation.html.markdown @@ -0,0 +1,70 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_capacity_reservation" +description: |- + Provides an EC2 Capacity Reservation. This allows you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. +--- + +# Resource: aws_ec2_capacity_reservation + +Provides an EC2 Capacity Reservation. This allows you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.ec2CapacityReservation.Ec2CapacityReservation(this, "default", { + availabilityZone: "eu-west-1a", + instanceCount: 1, + instancePlatform: "Linux/UNIX", + instanceType: "t2.micro", + }); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `availabilityZone` - (Required) The Availability Zone in which to create the Capacity Reservation. +* `ebsOptimized` - (Optional) Indicates whether the Capacity Reservation supports EBS-optimized instances. +* `endDate` - (Optional) The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`yyyyMmDdthh:mm:ssz`) +* `endDateType` - (Optional) Indicates the way in which the Capacity Reservation ends. Specify either `unlimited` or `limited`. +* `ephemeralStorage` - (Optional) Indicates whether the Capacity Reservation supports instances with temporary, block-level storage. +* `instanceCount` - (Required) The number of instances for which to reserve capacity. +* `instanceMatchCriteria` - (Optional) Indicates the type of instance launches that the Capacity Reservation accepts. Specify either `open` or `targeted`. +* `instancePlatform` - (Required) The type of operating system for which to reserve capacity. Valid options are `linux/unix`, `Red Hat Enterprise Linux`, `SUSE Linux`, `windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. +* `instanceType` - (Required) The instance type for which to reserve capacity. +* `outpostArn` - (Optional) The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation. +* `placementGroupArn` - (Optional) The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. +* `tags` - (Optional) A map of tags to assign to the resource. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `tenancy` - (Optional) Indicates the tenancy of the Capacity Reservation. Specify either `default` or `dedicated`. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - The Capacity Reservation ID. +* `ownerId` - The ID of the AWS account that owns the Capacity Reservation. +* `arn` - The ARN of the Capacity Reservation. +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) + +## Import + +Capacity Reservations can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_capacity_reservation.web cr-0123456789abcdef0 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_carrier_gateway.html.markdown b/website/docs/cdktf/typescript/r/ec2_carrier_gateway.html.markdown new file mode 100644 index 00000000000..6f25fe24500 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_carrier_gateway.html.markdown @@ -0,0 +1,50 @@ +--- +subcategory: "Wavelength" +layout: "aws" +page_title: "AWS: aws_ec2_carrier_gateway" +description: |- + Manages an EC2 Carrier Gateway. +--- + +# Resource: aws_ec2_carrier_gateway + +Manages an EC2 Carrier Gateway. See the AWS [documentation](https://docs.aws.amazon.com/vpc/latest/userguide/Carrier_Gateway.html) for more information. + +## Example Usage + +```terraform +resource "aws_ec2_carrier_gateway" "example" { + vpc_id = aws_vpc.example.id + + tags = { + Name = "example-carrier-gateway" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `tags` - (Optional) A map of tags to assign to the resource. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `vpcId` - (Required) The ID of the VPC to associate with the carrier gateway. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - The ARN of the carrier gateway. +* `id` - The ID of the carrier gateway. +* `ownerId` - The AWS account ID of the owner of the carrier gateway. +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +`awsEc2CarrierGateway` can be imported using the carrier gateway's ID, +e.g., + +``` +$ terraform import aws_ec2_carrier_gateway.example cgw-12345 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_client_vpn_authorization_rule.html.markdown b/website/docs/cdktf/typescript/r/ec2_client_vpn_authorization_rule.html.markdown new file mode 100644 index 00000000000..acc80488b16 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_client_vpn_authorization_rule.html.markdown @@ -0,0 +1,57 @@ +--- +subcategory: "VPN (Client)" +layout: "aws" +page_title: "AWS: aws_ec2_client_vpn_authorization_rule" +description: |- + Provides authorization rules for AWS Client VPN endpoints. +--- + +# Resource: aws_ec2_client_vpn_authorization_rule + +Provides authorization rules for AWS Client VPN endpoints. For more information on usage, please see the +[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html). + +## Example Usage + +```terraform +resource "aws_ec2_client_vpn_authorization_rule" "example" { + client_vpn_endpoint_id = aws_ec2_client_vpn_endpoint.example.id + target_network_cidr = aws_subnet.example.cidr_block + authorize_all_groups = true +} +``` + +## Argument Reference + +The following arguments are supported: + +* `clientVpnEndpointId` - (Required) The ID of the Client VPN endpoint. +* `targetNetworkCidr` - (Required) The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies. +* `accessGroupId` - (Optional) The ID of the group to which the authorization rule grants access. One of `accessGroupId` or `authorizeAllGroups` must be set. +* `authorizeAllGroups` - (Optional) Indicates whether the authorization rule grants access to all clients. One of `accessGroupId` or `authorizeAllGroups` must be set. +* `description` - (Optional) A brief description of the authorization rule. + +## Attributes Reference + +No additional attributes are exported. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `10M`) +- `delete` - (Default `10M`) + +## Import + +AWS Client VPN authorization rules can be imported using the endpoint ID and target network CIDR. If there is a specific group name that is included as well. All values are separated by a `,`. + +``` +$ terraform import aws_ec2_client_vpn_authorization_rule.example cvpn-endpoint-0ac3a1abbccddd666,10.1.0.0/24 +``` + +``` +$ terraform import aws_ec2_client_vpn_authorization_rule.example cvpn-endpoint-0ac3a1abbccddd666,10.1.0.0/24,team-a +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_client_vpn_endpoint.html.markdown b/website/docs/cdktf/typescript/r/ec2_client_vpn_endpoint.html.markdown new file mode 100644 index 00000000000..eff705144e8 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_client_vpn_endpoint.html.markdown @@ -0,0 +1,101 @@ +--- +subcategory: "VPN (Client)" +layout: "aws" +page_title: "AWS: aws_ec2_client_vpn_endpoint" +description: |- + Provides an AWS Client VPN endpoint for OpenVPN clients. +--- + +# Resource: aws_ec2_client_vpn_endpoint + +Provides an AWS Client VPN endpoint for OpenVPN clients. For more information on usage, please see the +[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html). + +## Example Usage + +```terraform +resource "aws_ec2_client_vpn_endpoint" "example" { + description = "terraform-clientvpn-example" + server_certificate_arn = aws_acm_certificate.cert.arn + client_cidr_block = "10.0.0.0/16" + + authentication_options { + type = "certificate-authentication" + root_certificate_chain_arn = aws_acm_certificate.root_cert.arn + } + + connection_log_options { + enabled = true + cloudwatch_log_group = aws_cloudwatch_log_group.lg.name + cloudwatch_log_stream = aws_cloudwatch_log_stream.ls.name + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `authenticationOptions` - (Required) Information about the authentication method to be used to authenticate clients. +* `clientCidrBlock` - (Required) The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. The CIDR block should be /22 or greater. +* `clientConnectOptions` - (Optional) The options for managing connection authorization for new client connections. +* `clientLoginBannerOptions` - (Optional) Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established. +* `connectionLogOptions` - (Required) Information about the client connection logging options. +* `description` - (Optional) A brief description of the Client VPN endpoint. +* `dnsServers` - (Optional) Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address of the connecting device is used. +* `securityGroupIds` - (Optional) The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups. +* `selfServicePortal` - (Optional) Specify whether to enable the self-service portal for the Client VPN endpoint. Values can be `enabled` or `disabled`. Default value is `disabled`. +* `serverCertificateArn` - (Required) The ARN of the ACM server certificate. +* `sessionTimeoutHours` - (Optional) The maximum session duration is a trigger by which end-users are required to re-authenticate prior to establishing a VPN session. Default value is `24` - Valid values: `8 | 10 | 12 | 24` +* `splitTunnel` - (Optional) Indicates whether split-tunnel is enabled on VPN endpoint. Default value is `false`. +* `tags` - (Optional) A mapping of tags to assign to the resource. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `transportProtocol` - (Optional) The transport protocol to be used by the VPN session. Default value is `udp`. +* `vpcId` - (Optional) The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied. +* `vpnPort` - (Optional) The port number for the Client VPN endpoint. Valid values are `443` and `1194`. Default value is `443`. + +### `authenticationOptions` Argument Reference + +One of the following arguments must be supplied: + +* `activeDirectoryId` - (Optional) The ID of the Active Directory to be used for authentication if type is `directoryServiceAuthentication`. +* `rootCertificateChainArn` - (Optional) The ARN of the client certificate. The certificate must be signed by a certificate authority (CA) and it must be provisioned in AWS Certificate Manager (ACM). Only necessary when type is set to `certificateAuthentication`. +* `samlProviderArn` - (Optional) The ARN of the IAM SAML identity provider if type is `federatedAuthentication`. +* `selfServiceSamlProviderArn` - (Optional) The ARN of the IAM SAML identity provider for the self service portal if type is `federatedAuthentication`. +* `type` - (Required) The type of client authentication to be used. Specify `certificateAuthentication` to use certificate-based authentication, `directoryServiceAuthentication` to use Active Directory authentication, or `federatedAuthentication` to use Federated Authentication via SAML 2.0. + +### `clientConnectOptions` Argument reference + +* `enabled` - (Optional) Indicates whether client connect options are enabled. The default is `false` (not enabled). +* `lambdaFunctionArn` - (Optional) The Amazon Resource Name (ARN) of the Lambda function used for connection authorization. + +### `clientLoginBannerOptions` Argument reference + +* `bannerText` - (Optional) Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. +* `enabled` - (Optional) Enable or disable a customizable text banner that will be displayed on AWS provided clients when a VPN session is established. The default is `false` (not enabled). + +### `connectionLogOptions` Argument Reference + +One of the following arguments must be supplied: + +* `cloudwatchLogGroup` - (Optional) The name of the CloudWatch Logs log group. +* `cloudwatchLogStream` - (Optional) The name of the CloudWatch Logs log stream to which the connection data is published. +* `enabled` - (Required) Indicates whether connection logging is enabled. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - The ARN of the Client VPN endpoint. +* `dnsName` - The DNS name to be used by clients when establishing their VPN session. +* `id` - The ID of the Client VPN endpoint. +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +AWS Client VPN endpoints can be imported using the `id` value found via `aws ec2 describe-client-vpn-endpoints`, e.g., + +``` +$ terraform import aws_ec2_client_vpn_endpoint.example cvpn-endpoint-0ac3a1abbccddd666 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_client_vpn_network_association.html.markdown b/website/docs/cdktf/typescript/r/ec2_client_vpn_network_association.html.markdown new file mode 100644 index 00000000000..3aa5700d035 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_client_vpn_network_association.html.markdown @@ -0,0 +1,53 @@ +--- +subcategory: "VPN (Client)" +layout: "aws" +page_title: "AWS: aws_ec2_client_vpn_network_association" +description: |- + Provides network associations for AWS Client VPN endpoints. +--- + +# Resource: aws_ec2_client_vpn_network_association + +Provides network associations for AWS Client VPN endpoints. For more information on usage, please see the +[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html). + +## Example Usage + +```terraform +resource "aws_ec2_client_vpn_network_association" "example" { + client_vpn_endpoint_id = aws_ec2_client_vpn_endpoint.example.id + subnet_id = aws_subnet.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `clientVpnEndpointId` - (Required) The ID of the Client VPN endpoint. +* `subnetId` - (Required) The ID of the subnet to associate with the Client VPN endpoint. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - The unique ID of the target network association. +* `associationId` - The unique ID of the target network association. +* `vpcId` - The ID of the VPC in which the target subnet is located. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `30M`) +- `delete` - (Default `30M`) + +## Import + +AWS Client VPN network associations can be imported using the endpoint ID and the association ID. Values are separated by a `,`. + +``` +$ terraform import aws_ec2_client_vpn_network_association.example cvpn-endpoint-0ac3a1abbccddd666,vpn-assoc-0b8db902465d069ad +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_client_vpn_route.html.markdown b/website/docs/cdktf/typescript/r/ec2_client_vpn_route.html.markdown new file mode 100644 index 00000000000..41bf409c140 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_client_vpn_route.html.markdown @@ -0,0 +1,76 @@ +--- +subcategory: "VPN (Client)" +layout: "aws" +page_title: "AWS: aws_ec2_client_vpn_route" +description: |- + Provides additional routes for AWS Client VPN endpoints. +--- + +# Resource: aws_ec2_client_vpn_route + +Provides additional routes for AWS Client VPN endpoints. For more information on usage, please see the +[AWS Client VPN Administrator's Guide](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html). + +## Example Usage + +```terraform +resource "aws_ec2_client_vpn_route" "example" { + client_vpn_endpoint_id = aws_ec2_client_vpn_endpoint.example.id + destination_cidr_block = "0.0.0.0/0" + target_vpc_subnet_id = aws_ec2_client_vpn_network_association.example.subnet_id +} + +resource "aws_ec2_client_vpn_network_association" "example" { + client_vpn_endpoint_id = aws_ec2_client_vpn_endpoint.example.id + subnet_id = aws_subnet.example.id +} + +resource "aws_ec2_client_vpn_endpoint" "example" { + description = "Example Client VPN endpoint" + server_certificate_arn = aws_acm_certificate.example.arn + client_cidr_block = "10.0.0.0/16" + + authentication_options { + type = "certificate-authentication" + root_certificate_chain_arn = aws_acm_certificate.example.arn + } + + connection_log_options { + enabled = false + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `clientVpnEndpointId` - (Required) The ID of the Client VPN endpoint. +* `destinationCidrBlock` - (Required) The IPv4 address range, in CIDR notation, of the route destination. +* `description` - (Optional) A brief description of the route. +* `targetVpcSubnetId` - (Required) The ID of the Subnet to route the traffic through. It must already be attached to the Client VPN. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - The ID of the Client VPN endpoint. +* `origin` - Indicates how the Client VPN route was added. Will be `addRoute` for routes created by this resource. +* `type` - The type of the route. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `4M`) +- `delete` - (Default `4M`) + +## Import + +AWS Client VPN routes can be imported using the endpoint ID, target subnet ID, and destination CIDR block. All values are separated by a `,`. + +``` +$ terraform import aws_ec2_client_vpn_route.example cvpn-endpoint-1234567890abcdef,subnet-9876543210fedcba,10.1.0.0/24 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_fleet.html.markdown b/website/docs/cdktf/typescript/r/ec2_fleet.html.markdown new file mode 100644 index 00000000000..1a3f6c29677 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_fleet.html.markdown @@ -0,0 +1,234 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_fleet" +description: |- + Provides a resource to manage EC2 Fleets +--- + +# Resource: aws_ec2_fleet + +Provides a resource to manage EC2 Fleets. + +## Example Usage + +```terraform +resource "aws_ec2_fleet" "example" { + launch_template_config { + launch_template_specification { + launch_template_id = aws_launch_template.example.id + version = aws_launch_template.example.latest_version + } + } + + target_capacity_specification { + default_target_capacity_type = "spot" + total_target_capacity = 5 + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `context` - (Optional) Reserved. +* `excessCapacityTerminationPolicy` - (Optional) Whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2. Valid values: `noTermination`, `termination`. Defaults to `termination`. Supported only for fleets of type `maintain`. +* `launchTemplateConfig` - (Required) Nested argument containing EC2 Launch Template configurations. Defined below. +* `onDemandOptions` - (Optional) Nested argument containing On-Demand configurations. Defined below. +* `replaceUnhealthyInstances` - (Optional) Whether EC2 Fleet should replace unhealthy instances. Defaults to `false`. Supported only for fleets of type `maintain`. +* `spotOptions` - (Optional) Nested argument containing Spot configurations. Defined below. +* `tags` - (Optional) Map of Fleet tags. To tag instances at launch, specify the tags in the Launch Template. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `targetCapacitySpecification` - (Required) Nested argument containing target capacity configurations. Defined below. +* `terminateInstances` - (Optional) Whether to terminate instances for an EC2 Fleet if it is deleted successfully. Defaults to `false`. +* `terminateInstancesWithExpiration` - (Optional) Whether running instances should be terminated when the EC2 Fleet expires. Defaults to `false`. +* `type` - (Optional) The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. Valid values: `maintain`, `request`, `instant`. Defaults to `maintain`. +* `validFrom` - (Optional) The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately. +* `validUntil` - (Optional) The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it. + +### launch_template_config + +Describes a launch template and overrides. + +* `launchTemplateSpecification` - (Optional) Nested argument containing EC2 Launch Template to use. Defined below. +* `override` - (Optional) Nested argument(s) containing parameters to override the same parameters in the Launch Template. Defined below. + +#### launch_template_specification + +The launch template to use. You must specify either the launch template ID or launch template name in the request. + +* `launchTemplateId` - (Optional) The ID of the launch template. +* `launchTemplateName` - (Optional) The name of the launch template. +* `version` - (Required) The launch template version number, `$latest`, or `$default` + +#### override + +Any parameters that you specify override the same parameters in the launch template. For fleets of type `request` and `maintain`, a maximum of 300 items is allowed across all launch templates. + +Example: + +```terraform +resource "aws_ec2_fleet" "example" { + # ... other configuration ... + + launch_template_config { + # ... other configuration ... + + override { + instance_type = "m4.xlarge" + weighted_capacity = 1 + } + + override { + instance_type = "m4.2xlarge" + weighted_capacity = 2 + } + } +} +``` + +* `availabilityZone` - (Optional) Availability Zone in which to launch the instances. +* `instanceRequirements` - (Optional) Override the instance type in the Launch Template with instance types that satisfy the requirements. +* `instanceType` - (Optional) Instance type. +* `maxPrice` - (Optional) Maximum price per unit hour that you are willing to pay for a Spot Instance. +* `priority` - (Optional) Priority for the launch template override. If `onDemandOptions` `allocationStrategy` is set to `prioritized`, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. Valid values are whole numbers starting at 0. +* `subnetId` - (Optional) ID of the subnet in which to launch the instances. +* `weightedCapacity` - (Optional) Number of units provided by the specified instance type. + +##### instance_requirements + +The attributes for the instance types. For a list of currently supported values, please see ['InstanceRequirementsRequest'](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceRequirementsRequest.html). + +This configuration block supports the following: + +~> **NOTE:** Both `memoryMibMin` and `vcpuCountMin` must be specified. + +* `acceleratorCount` - (Optional) Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum limits. + * `min` - (Optional) Minimum. + * `max` - (Optional) Maximum. Set to `0` to exclude instance types with accelerators. +* `acceleratorManufacturers` - (Optional) List of accelerator manufacturer names. Default is any manufacturer. +* `acceleratorNames` - (Optional) List of accelerator names. Default is any acclerator. +* `acceleratorTotalMemoryMib` - (Optional) Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. + * `min` - (Optional) The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter. + * `max` - (Optional) The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter. +* `acceleratorTypes` - (Optional) The accelerator types that must be on the instance type. Default is any accelerator type. +* `allowedInstanceTypes` - (Optional) The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards,represented by an asterisk (\*). The following are examples: `c5*`, `m5A.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5A.*`, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types. Default is any instance type. + + If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. + +* `bareMetal` - (Optional) Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. +* `baselineEbsBandwidthMbps` - (Optional) Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. + * `min` - (Optional) The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.. + * `max` - (Optional) The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.. +* `burstablePerformance` - (Optional) Indicates whether burstable performance T instance types are `included`, `excluded`, or `required`. Default is `excluded`. +* `cpuManufacturers` (Optional) The CPU manufacturers to include. Default is any manufacturer. + ~> **NOTE:** Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. +* `excludedInstanceTypes` - (Optional) The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\*). The following are examples: `c5*`, `m5A.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5A.*`, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types. + + If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. + +* `instanceGenerations` - (Optional) Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Valid values are `current` and `previous`. Default is `current` and `previous` generation instance types. +* `localStorage` - (Optional) Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. +* `localStorageTypes` - (Optional) List of local storage type names. Valid values are `hdd` and `ssd`. Default any storage type. +* `memoryGibPerVcpu` - (Optional) Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. + * `min` - (Optional) The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter. + * `max` - (Optional) The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter. +* `memoryMib` - (Required) The minimum and maximum amount of memory per vCPU, in GiB. Default is no minimum or maximum limits. + * `min` - (Required) The minimum amount of memory, in MiB. To specify no minimum limit, specify `0`. + * `max` - (Optional) The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter. +* `networkBandwidthGbps` - (Optional) The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is No minimum or maximum. + * `min` - (Optional) The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter. + * `max` - (Optional) The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter. +* `networkInterfaceCount` - (Optional) Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. + * `min` - (Optional) The minimum number of network interfaces. To specify no minimum limit, omit this parameter. + * `max` - (Optional) The maximum number of network interfaces. To specify no maximum limit, omit this parameter. +* `onDemandMaxPricePercentageOverLowestPrice` - (Optional) The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. + + If you set `targetCapacityUnitType` to `vcpu` or `memoryMib`, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. + +* `requireHibernateSupport` - (Optional) Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. +* `spotMaxPricePercentageOverLowestPrice` - (Optional) The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. + + If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. + +* `totalLocalStorageGb` - (Optional) Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. + * `min` - (Optional) The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter. + * `max` - (Optional) The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter. +* `vcpuCount` - (Required) Block describing the minimum and maximum number of vCPUs. Default is no maximum. + * `min` - (Required) The minimum number of vCPUs. To specify no minimum limit, specify `0`. + * `max` - (Optional) The maximum number of vCPUs. To specify no maximum limit, omit this parameter. + +### on_demand_options + +* `allocationStrategy` - (Optional) The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. +* `capacityReservationOptions` (Optional) The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + * `usageStrategy` - (Optional) Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `useCapacityReservationsFirst`. +* `maxTotalPrice` - (Optional) The maximum amount per hour for On-Demand Instances that you're willing to pay. +* `minTargetCapacity` - (Optional) The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. + If you specify `minTargetCapacity`, at least one of the following must be specified: `singleAvailabilityZone` or `singleInstanceType`. + +* `singleAvailabilityZone` - (Optional) Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported only for fleets of type `instant`. +* `singleInstanceType` - (Optional) Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. Supported only for fleets of type `instant`. + +### spot_options + +* `allocationStrategy` - (Optional) How to allocate the target capacity across the Spot pools. Valid values: `diversified`, `lowestPrice`, `capacityOptimized`, `capacityOptimizedPrioritized` and `priceCapacityOptimized`. Default: `lowestPrice`. +* `instanceInterruptionBehavior` - (Optional) Behavior when a Spot Instance is interrupted. Valid values: `hibernate`, `stop`, `terminate`. Default: `terminate`. +* `instancePoolsToUseCount` - (Optional) Number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot `allocationStrategy` is set to `lowestPrice`. Default: `1`. +* `maintenanceStrategies` - (Optional) Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below. +* `maxTotalPrice` - (Optional) The maximum amount per hour for Spot Instances that you're willing to pay. +* `minTargetCapacity` - (Optional) The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. +* `singleAvailabilityZone` - (Optional) Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported only for fleets of type `instant`. +* `singleInstanceType` - (Optional) Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. Supported only for fleets of type `instant`. + +### maintenance_strategies + +* `capacityRebalance` - (Optional) Nested argument containing the capacity rebalance for your fleet request. Defined below. + +### capacity_rebalance + +* `replacementStrategy` - (Optional) The replacement strategy to use. Only available for fleets of `type` set to `maintain`. Valid values: `launch`. + +### target_capacity_specification + +* `defaultTargetCapacityType` - (Required) Default target capacity type. Valid values: `onDemand`, `spot`. +* `onDemandTargetCapacity` - (Optional) The number of On-Demand units to request. +* `spotTargetCapacity` - (Optional) The number of Spot units to request. +* `targetCapacityUnitType` - (Optional) The unit for the target capacity. + If you specify `targetCapacityUnitType`, `instanceRequirements` must be specified. + +* `totalTargetCapacity` - (Required) The number of units to request, filled using `defaultTargetCapacityType`. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - Fleet identifier +* `arn` - The ARN of the fleet +* `fleetInstanceSet` - Information about the instances that were launched by the fleet. Available only when `type` is set to `instant`. + * `instanceIds` - The IDs of the instances. + * `instanceType` - The instance type. + * `lifecycle` - Indicates if the instance that was launched is a Spot Instance or On-Demand Instance. + * `platform` - The value is `windows` for Windows instances. Otherwise, the value is blank. +* `fleetState` - The state of the EC2 Fleet. +* `fulfilledCapacity` - The number of units fulfilled by this request compared to the set target capacity. +* `fulfilledOnDemandCapacity` - The number of units fulfilled by this request compared to the set target On-Demand capacity. +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `10M`) +* `update` - (Default `10M`) +* `delete` - (Default `10M`) + +## Import + +`awsEc2Fleet` can be imported by using the Fleet identifier, e.g., + +``` +$ terraform import aws_ec2_fleet.example fleet-b9b55d27-c5fc-41ac-a6f3-48fcc91f080c +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_host.html.markdown b/website/docs/cdktf/typescript/r/ec2_host.html.markdown new file mode 100644 index 00000000000..2036435dbc9 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_host.html.markdown @@ -0,0 +1,64 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_host" +description: |- + Provides an EC2 Host resource. This allows Dedicated Hosts to be allocated, modified, and released. +--- + +# Resource: aws_ec2_host + +Provides an EC2 Host resource. This allows Dedicated Hosts to be allocated, modified, and released. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.ec2Host.Ec2Host(this, "test", { + autoPlacement: "on", + availabilityZone: "us-west-2a", + hostRecovery: "on", + instanceType: "c5.18xlarge", + }); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `autoPlacement` - (Optional) Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. Valid values: `on`, `off`. Default: `on`. +* `availabilityZone` - (Required) The Availability Zone in which to allocate the Dedicated Host. +* `hostRecovery` - (Optional) Indicates whether to enable or disable host recovery for the Dedicated Host. Valid values: `on`, `off`. Default: `off`. +* `instanceFamily` - (Optional) Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family. Exactly one of `instanceFamily` or `instanceType` must be specified. +* `instanceType` - (Optional) Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only. Exactly one of `instanceFamily` or `instanceType` must be specified. +* `outpostArn` - (Optional) The Amazon Resource Name (ARN) of the AWS Outpost on which to allocate the Dedicated Host. +* `tags` - (Optional) Map of tags to assign to this resource. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - The ID of the allocated Dedicated Host. This is used to launch an instance onto a specific host. +* `arn` - The ARN of the Dedicated Host. +* `ownerId` - The ID of the AWS account that owns the Dedicated Host. +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +Hosts can be imported using the host `id`, e.g., + +``` +$ terraform import aws_ec2_host.example h-0385a99d0e4b20cbb +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_instance_state.html.markdown b/website/docs/cdktf/typescript/r/ec2_instance_state.html.markdown new file mode 100644 index 00000000000..bb48123e169 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_instance_state.html.markdown @@ -0,0 +1,95 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_instance_state" +description: |- + Provides an EC2 instance state resource. This allows managing an instance power state. +--- + +# Resource: aws_ec2_instance_state + +Provides an EC2 instance state resource. This allows managing an instance power state. + +~> **NOTE on Instance State Management:** AWS does not currently have an EC2 API operation to determine an instance has finished processing user data. As a result, this resource can interfere with user data processing. For example, this resource may stop an instance while the user data script is in mid run. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + const dataAwsAmiUbuntu = new aws.dataAwsAmi.DataAwsAmi(this, "ubuntu", { + filter: [ + { + name: "name", + values: ["ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*"], + }, + { + name: "virtualization-type", + values: ["hvm"], + }, + ], + mostRecent: true, + owners: ["099720109477"], + }); + const awsInstanceTest = new aws.instance.Instance(this, "test", { + ami: cdktf.Token.asString(dataAwsAmiUbuntu.id), + instanceType: "t3.micro", + tags: { + Name: "HelloWorld", + }, + }); + const awsEc2InstanceStateTest = new aws.ec2InstanceState.Ec2InstanceState( + this, + "test_2", + { + instanceId: cdktf.Token.asString(awsInstanceTest.id), + state: "stopped", + } + ); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsEc2InstanceStateTest.overrideLogicalId("test"); + } +} + +``` + +## Argument Reference + +The following arguments are required: + +* `instanceId` - (Required) ID of the instance. +* `state` - (Required) - State of the instance. Valid values are `stopped`, `running`. + +The following arguments are optional: + +* `force` - (Optional) Whether to request a forced stop when `state` is `stopped`. Otherwise (_i.e._, `state` is `running`), ignored. When an instance is forced to stop, it does not flush file system caches or file system metadata, and you must subsequently perform file system check and repair. Not recommended for Windows instances. Defaults to `false`. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the instance (matches `instanceId`). + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `10M`) +* `update` - (Default `10M`) +* `delete` - (Default `1M`) + +## Import + +`awsEc2InstanceState` can be imported by using the `instanceId` attribute, e.g., + +``` +$ terraform import aws_ec2_instance_state.test i-02cae6557dfcf2f96 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_local_gateway_route.html.markdown b/website/docs/cdktf/typescript/r/ec2_local_gateway_route.html.markdown new file mode 100644 index 00000000000..28e1e07636b --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_local_gateway_route.html.markdown @@ -0,0 +1,45 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_route" +description: |- + Manages an EC2 Local Gateway Route +--- + +# Resource: aws_ec2_local_gateway_route + +Manages an EC2 Local Gateway Route. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + +## Example Usage + +```terraform +resource "aws_ec2_local_gateway_route" "example" { + destination_cidr_block = "172.16.0.0/16" + local_gateway_route_table_id = data.aws_ec2_local_gateway_route_table.example.id + local_gateway_virtual_interface_group_id = data.aws_ec2_local_gateway_virtual_interface_group.example.id +} +``` + +## Argument Reference + +The following arguments are required: + +* `destinationCidrBlock` - (Required) IPv4 CIDR range used for destination matches. Routing decisions are based on the most specific match. +* `localGatewayRouteTableId` - (Required) Identifier of EC2 Local Gateway Route Table. +* `localGatewayVirtualInterfaceGroupId` - (Required) Identifier of EC2 Local Gateway Virtual Interface Group. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Local Gateway Route Table identifier and destination CIDR block separated by underscores (`_`) + +## Import + +`awsEc2LocalGatewayRoute` can be imported by using the EC2 Local Gateway Route Table identifier and destination CIDR block separated by underscores (`_`), e.g., + +``` +$ terraform import aws_ec2_local_gateway_route.example lgw-rtb-12345678_172.16.0.0/16 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_local_gateway_route_table_vpc_association.html.markdown b/website/docs/cdktf/typescript/r/ec2_local_gateway_route_table_vpc_association.html.markdown new file mode 100644 index 00000000000..c9c869c999f --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_local_gateway_route_table_vpc_association.html.markdown @@ -0,0 +1,84 @@ +--- +subcategory: "Outposts (EC2)" +layout: "aws" +page_title: "AWS: aws_ec2_local_gateway_route_table_vpc_association" +description: |- + Manages an EC2 Local Gateway Route Table VPC Association +--- + +# Resource: aws_ec2_local_gateway_route_table_vpc_association + +Manages an EC2 Local Gateway Route Table VPC Association. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html#vpc-associations). + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + const awsVpcExample = new aws.vpc.Vpc(this, "example", { + cidrBlock: "10.0.0.0/16", + }); + const dataAwsEc2LocalGatewayRouteTableExample = + new aws.dataAwsEc2LocalGatewayRouteTable.DataAwsEc2LocalGatewayRouteTable( + this, + "example_1", + { + outpostArn: + "arn:aws:outposts:us-west-2:123456789012:outpost/op-1234567890abcdef", + } + ); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + dataAwsEc2LocalGatewayRouteTableExample.overrideLogicalId("example"); + const awsEc2LocalGatewayRouteTableVpcAssociationExample = + new aws.ec2LocalGatewayRouteTableVpcAssociation.Ec2LocalGatewayRouteTableVpcAssociation( + this, + "example_2", + { + localGatewayRouteTableId: cdktf.Token.asString( + dataAwsEc2LocalGatewayRouteTableExample.id + ), + vpcId: cdktf.Token.asString(awsVpcExample.id), + } + ); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsEc2LocalGatewayRouteTableVpcAssociationExample.overrideLogicalId( + "example" + ); + } +} + +``` + +## Argument Reference + +The following arguments are required: + +* `localGatewayRouteTableId` - (Required) Identifier of EC2 Local Gateway Route Table. +* `vpcId` - (Required) Identifier of EC2 VPC. + +The following arguments are optional: + +* `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - Identifier of EC2 Local Gateway Route Table VPC Association. +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +`awsEc2LocalGatewayRouteTableVpcAssociation` can be imported by using the Local Gateway Route Table VPC Association identifier, e.g., + +``` +$ terraform import aws_ec2_local_gateway_route_table_vpc_association.example lgw-vpc-assoc-1234567890abcdef +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_managed_prefix_list.html.markdown b/website/docs/cdktf/typescript/r/ec2_managed_prefix_list.html.markdown new file mode 100644 index 00000000000..af7161ae114 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_managed_prefix_list.html.markdown @@ -0,0 +1,84 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_managed_prefix_list" +description: |- + Provides a managed prefix list resource. +--- + +# Resource: aws_ec2_managed_prefix_list + +Provides a managed prefix list resource. + +~> **NOTE on Managed Prefix Lists and Managed Prefix List Entries:** Terraform +currently provides both a standalone [Managed Prefix List Entry resource](ec2_managed_prefix_list_entry.html) (a single entry), +and a Managed Prefix List resource with entries defined in-line. At this time you +cannot use a Managed Prefix List with in-line rules in conjunction with any Managed +Prefix List Entry resources. Doing so will cause a conflict of entries and will overwrite entries. + +~> **NOTE on `maxEntries`:** When you reference a Prefix List in a resource, +the maximum number of entries for the prefix lists counts as the same number of rules +or entries for the resource. For example, if you create a prefix list with a maximum +of 20 entries and you reference that prefix list in a security group rule, this counts +as 20 rules for the security group. + +## Example Usage + +Basic usage + +```terraform +resource "aws_ec2_managed_prefix_list" "example" { + name = "All VPC CIDR-s" + address_family = "IPv4" + max_entries = 5 + + entry { + cidr = aws_vpc.example.cidr_block + description = "Primary" + } + + entry { + cidr = aws_vpc_ipv4_cidr_block_association.example.cidr_block + description = "Secondary" + } + + tags = { + Env = "live" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `addressFamily` - (Required, Forces new resource) Address family (`iPv4` or `iPv6`) of this prefix list. +* `entry` - (Optional) Configuration block for prefix list entry. Detailed below. Different entries may have overlapping CIDR blocks, but a particular CIDR should not be duplicated. +* `maxEntries` - (Required) Maximum number of entries that this prefix list can contain. +* `name` - (Required) Name of this resource. The name must not start with `comAmazonaws`. +* `tags` - (Optional) Map of tags to assign to this resource. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +### `entry` + +* `cidr` - (Required) CIDR block of this entry. +* `description` - (Optional) Description of this entry. Due to API limitations, updating only the description of an existing entry requires temporarily removing and re-adding the entry. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - ARN of the prefix list. +* `id` - ID of the prefix list. +* `ownerId` - ID of the AWS account that owns this prefix list. +* `tagsAll` - Map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `version` - Latest version of this prefix list. + +## Import + +Prefix Lists can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_managed_prefix_list.default pl-0570a1d2d725c16be +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_managed_prefix_list_entry.html.markdown b/website/docs/cdktf/typescript/r/ec2_managed_prefix_list_entry.html.markdown new file mode 100644 index 00000000000..8dc5c9c2981 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_managed_prefix_list_entry.html.markdown @@ -0,0 +1,69 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_managed_prefix_list_entry" +description: |- + Provides a managed prefix list entry resource. +--- + +# Resource: aws_ec2_managed_prefix_list_entry + +Provides a managed prefix list entry resource. + +~> **NOTE on Managed Prefix Lists and Managed Prefix List Entries:** Terraform +currently provides both a standalone Managed Prefix List Entry resource (a single entry), +and a [Managed Prefix List resource](ec2_managed_prefix_list.html) with entries defined +in-line. At this time you cannot use a Managed Prefix List with in-line rules in +conjunction with any Managed Prefix List Entry resources. Doing so will cause a conflict +of entries and will overwrite entries. + +~> **NOTE on Managed Prefix Lists with many entries:** To improved execution times on larger +updates, if you plan to create a prefix list with more than 100 entries, it is **recommended** +that you use the inline `entry` block as part of the [Managed Prefix List resource](ec2_managed_prefix_list.html) +resource instead. + +## Example Usage + +Basic usage + +```terraform +resource "aws_ec2_managed_prefix_list" "example" { + name = "All VPC CIDR-s" + address_family = "IPv4" + max_entries = 5 + + tags = { + Env = "live" + } +} + +resource "aws_ec2_managed_prefix_list_entry" "entry_1" { + cidr = aws_vpc.example.cidr_block + description = "Primary" + prefix_list_id = aws_ec2_managed_prefix_list.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `cidr` - (Required) CIDR block of this entry. +* `description` - (Optional) Description of this entry. Due to API limitations, updating only the description of an entry requires recreating the entry. +* `prefixListId` - (Required) CIDR block of this entry. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the managed prefix list entry. + +## Import + +Prefix List Entries can be imported using the `prefixListId` and `cidr` separated by a `,`, e.g., + +``` +$ terraform import aws_ec2_managed_prefix_list_entry.default pl-0570a1d2d725c16be,10.0.3.0/24 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_network_insights_analysis.html.markdown b/website/docs/cdktf/typescript/r/ec2_network_insights_analysis.html.markdown new file mode 100644 index 00000000000..151003b3057 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_network_insights_analysis.html.markdown @@ -0,0 +1,69 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_network_insights_analysis" +description: |- + Provides a Network Insights Analysis resource. +--- + +# Resource: aws_ec2_network_insights_analysis + +Provides a Network Insights Analysis resource. Part of the "Reachability Analyzer" service in the AWS VPC console. + +## Example Usage + +```terraform +resource "aws_ec2_network_insights_path" "path" { + source = aws_network_interface.source.id + destination = aws_network_interface.destination.id + protocol = "tcp" +} + +resource "aws_ec2_network_insights_analysis" "analysis" { + network_insights_path_id = aws_ec2_network_insights_path.path.id +} +``` + +## Argument Reference + +The following arguments are required: + +* `networkInsightsPathId` - (Required) ID of the Network Insights Path to run an analysis on. + +The following arguments are optional: + +* `filterInArns` - (Optional) A list of ARNs for resources the path must traverse. +* `waitForCompletion` - (Optional) If enabled, the resource will wait for the Network Insights Analysis status to change to `succeeded` or `failed`. Setting this to `false` will skip the process. Default: `true`. +* `tags` - (Optional) Map of tags to assign to the resource. If configured with a provider [`defaultTags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `alternatePathHints` - Potential intermediate components of a feasible path. Described below. +* `arn` - ARN of the Network Insights Analysis. +* `explanations` - Explanation codes for an unreachable path. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Explanation.html) for details. +* `forwardPathComponents` - The components in the path from source to destination. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_PathComponent.html) for details. +* `id` - ID of the Network Insights Analysis. +* `pathFound` - Set to `true` if the destination was reachable. +* `returnPathComponents` - The components in the path from destination to source. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_PathComponent.html) for details. +* `startDate` - The date/time the analysis was started. +* `status` - The status of the analysis. `succeeded` means the analysis was completed, not that a path was found, for that see `pathFound`. +* `statusMessage` - A message to provide more context when the `status` is `failed`. +* `tagsAll` - Map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block). +* `warningMessage` - The warning message. + +The `alternatePathHints` object supports the following: + +* `componentArn` - The Amazon Resource Name (ARN) of the component. +* `componentId` - The ID of the component. + +## Import + +Network Insights Analyses can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_network_insights_analysis.test nia-0462085c957f11a55 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_network_insights_path.html.markdown b/website/docs/cdktf/typescript/r/ec2_network_insights_path.html.markdown new file mode 100644 index 00000000000..db27bf3ed0b --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_network_insights_path.html.markdown @@ -0,0 +1,54 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_network_insights_path" +description: |- + Provides a Network Insights Path resource. +--- + +# Resource: aws_ec2_network_insights_path + +Provides a Network Insights Path resource. Part of the "Reachability Analyzer" service in the AWS VPC console. + +## Example Usage + +```terraform +resource "aws_ec2_network_insights_path" "test" { + source = aws_network_interface.source.id + destination = aws_network_interface.destination.id + protocol = "tcp" +} +``` + +## Argument Reference + +The following arguments are required: + +* `source` - (Required) ID of the resource which is the source of the path. Can be an Instance, Internet Gateway, Network Interface, Transit Gateway, VPC Endpoint, VPC Peering Connection or VPN Gateway. +* `destination` - (Required) ID of the resource which is the source of the path. Can be an Instance, Internet Gateway, Network Interface, Transit Gateway, VPC Endpoint, VPC Peering Connection or VPN Gateway. +* `protocol` - (Required) Protocol to use for analysis. Valid options are `tcp` or `udp`. + +The following arguments are optional: + +* `sourceIp` - (Optional) IP address of the source resource. +* `destinationIp` - (Optional) IP address of the destination resource. +* `destinationPort` - (Optional) Destination port to analyze access to. +* `tags` - (Optional) Map of tags to assign to the resource. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - ARN of the Network Insights Path. +* `id` - ID of the Network Insights Path. +* `tagsAll` - Map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +Network Insights Paths can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_network_insights_path.test nip-00edfba169923aefd +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_serial_console_access.html.markdown b/website/docs/cdktf/typescript/r/ec2_serial_console_access.html.markdown new file mode 100644 index 00000000000..e4778997a8d --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_serial_console_access.html.markdown @@ -0,0 +1,52 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_serial_console_access" +description: |- + Manages whether serial console access is enabled for your AWS account in the current AWS region. +--- + +# Resource: aws_ec2_serial_console_access + +Provides a resource to manage whether serial console access is enabled for your AWS account in the current AWS region. + +~> **NOTE:** Removing this Terraform resource disables serial console access. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.ec2SerialConsoleAccess.Ec2SerialConsoleAccess(this, "example", { + enabled: true, + }); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `enabled` - (Optional) Whether or not serial console access is enabled. Valid values are `true` or `false`. Defaults to `true`. + +## Attributes Reference + +No additional attributes are exported. + +## Import + +Serial console access state can be imported, e.g., + +``` +$ terraform import aws_ec2_serial_console_access.example default +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_subnet_cidr_reservation.html.markdown b/website/docs/cdktf/typescript/r/ec2_subnet_cidr_reservation.html.markdown new file mode 100644 index 00000000000..2047c1e5cf4 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_subnet_cidr_reservation.html.markdown @@ -0,0 +1,47 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_subnet_cidr_reservation" +description: |- + Provides a subnet CIDR reservation resource. +--- + +# Resource: aws_ec2_subnet_cidr_reservation + +Provides a subnet CIDR reservation resource. + +## Example Usage + +```terraform +resource "aws_ec2_subnet_cidr_reservation" "example" { + cidr_block = "10.0.0.16/28" + reservation_type = "prefix" + subnet_id = aws_subnet.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `cidrBlock` - (Required) The CIDR block for the reservation. +* `reservationType` - (Required) The type of reservation to create. Valid values: `explicit`, `prefix` +* `subnetId` - (Required) The ID of the subnet to create the reservation for. +* `description` - (Optional) A brief description of the reservation. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the CIDR reservation. +* `ownerId` - ID of the AWS account that owns this CIDR reservation. + +## Import + +Existing CIDR reservations can be imported using `subnetId:reservationId`, e.g., + +``` +$ terraform import aws_ec2_subnet_cidr_reservation.example subnet-01llsxvsxabqiymcz:scr-4mnvz6wb7otksjcs9 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_tag.html.markdown b/website/docs/cdktf/typescript/r/ec2_tag.html.markdown new file mode 100644 index 00000000000..b928731433f --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_tag.html.markdown @@ -0,0 +1,88 @@ +--- +subcategory: "EC2 (Elastic Compute Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_tag" +description: |- + Manages an individual EC2 resource tag +--- + +# Resource: aws_ec2_tag + +Manages an individual EC2 resource tag. This resource should only be used in cases where EC2 resources are created outside Terraform (e.g., AMIs), being shared via Resource Access Manager (RAM), or implicitly created by other means (e.g., Transit Gateway VPN Attachments). + +~> **NOTE:** This tagging resource should not be combined with the Terraform resource for managing the parent resource. For example, using `awsVpc` and `awsEc2Tag` to manage tags of the same VPC will cause a perpetual difference where the `awsVpc` resource will try to remove the tag being added by the `awsEc2Tag` resource. + +~> **NOTE:** This tagging resource does not use the [provider `ignoreTags` configuration](/docs/providers/aws/index.html#ignore_tags). + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + const awsCustomerGatewayExample = new aws.customerGateway.CustomerGateway( + this, + "example", + { + bgpAsn: cdktf.Token.asString(65000), + ipAddress: "172.0.0.1", + type: "ipsec.1", + } + ); + const awsEc2TransitGatewayExample = + new aws.ec2TransitGateway.Ec2TransitGateway(this, "example_1", {}); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsEc2TransitGatewayExample.overrideLogicalId("example"); + const awsVpnConnectionExample = new aws.vpnConnection.VpnConnection( + this, + "example_2", + { + customerGatewayId: cdktf.Token.asString(awsCustomerGatewayExample.id), + transitGatewayId: cdktf.Token.asString(awsEc2TransitGatewayExample.id), + type: cdktf.Token.asString(awsCustomerGatewayExample.type), + } + ); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsVpnConnectionExample.overrideLogicalId("example"); + const awsEc2TagExample = new aws.ec2Tag.Ec2Tag(this, "example_3", { + key: "Name", + resourceId: cdktf.Token.asString( + awsVpnConnectionExample.transitGatewayAttachmentId + ), + value: "Hello World", + }); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsEc2TagExample.overrideLogicalId("example"); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `resourceId` - (Required) The ID of the EC2 resource to manage the tag for. +* `key` - (Required) The tag name. +* `value` - (Required) The value of the tag. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 resource identifier and key, separated by a comma (`,`) + +## Import + +`awsEc2Tag` can be imported by using the EC2 resource identifier and key, separated by a comma (`,`), e.g., + +``` +$ terraform import aws_ec2_tag.example tgw-attach-1234567890abcdef,Name +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_traffic_mirror_filter.html.markdown b/website/docs/cdktf/typescript/r/ec2_traffic_mirror_filter.html.markdown new file mode 100644 index 00000000000..8ede9b4237a --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_traffic_mirror_filter.html.markdown @@ -0,0 +1,60 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_traffic_mirror_filter" +description: |- + Provides an Traffic mirror filter +--- + +# Resource: aws_ec2_traffic_mirror_filter + +Provides an Traffic mirror filter. +Read [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring + +## Example Usage + +To create a basic traffic mirror filter + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.ec2TrafficMirrorFilter.Ec2TrafficMirrorFilter(this, "foo", { + description: "traffic mirror filter - terraform example", + networkServices: ["amazon-dns"], + }); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `description` - (Optional, Forces new resource) A description of the filter. +* `networkServices` - (Optional) List of amazon network services that should be mirrored. Valid values: `amazonDns`. +* `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - The ARN of the traffic mirror filter. +* `id` - The name of the filter. +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +Traffic mirror filter can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_traffic_mirror_filter.foo tmf-0fbb93ddf38198f64 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_traffic_mirror_filter_rule.html.markdown b/website/docs/cdktf/typescript/r/ec2_traffic_mirror_filter_rule.html.markdown new file mode 100644 index 00000000000..5a28fc21392 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_traffic_mirror_filter_rule.html.markdown @@ -0,0 +1,111 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_traffic_mirror_filter_rule" +description: |- + Provides an Traffic mirror filter rule +--- + +# Resource: aws_ec2_traffic_mirror_filter_rule + +Provides an Traffic mirror filter rule. +Read [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring + +## Example Usage + +To create a basic traffic mirror session + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + const awsEc2TrafficMirrorFilterFilter = + new aws.ec2TrafficMirrorFilter.Ec2TrafficMirrorFilter(this, "filter", { + description: "traffic mirror filter - terraform example", + networkServices: ["amazon-dns"], + }); + new aws.ec2TrafficMirrorFilterRule.Ec2TrafficMirrorFilterRule( + this, + "rulein", + { + description: "test rule", + destinationCidrBlock: "10.0.0.0/8", + destinationPortRange: { + fromPort: 22, + toPort: 53, + }, + protocol: 6, + ruleAction: "accept", + ruleNumber: 1, + sourceCidrBlock: "10.0.0.0/8", + sourcePortRange: { + fromPort: 0, + toPort: 10, + }, + trafficDirection: "ingress", + trafficMirrorFilterId: cdktf.Token.asString( + awsEc2TrafficMirrorFilterFilter.id + ), + } + ); + new aws.ec2TrafficMirrorFilterRule.Ec2TrafficMirrorFilterRule( + this, + "ruleout", + { + description: "test rule", + destinationCidrBlock: "10.0.0.0/8", + ruleAction: "accept", + ruleNumber: 1, + sourceCidrBlock: "10.0.0.0/8", + trafficDirection: "egress", + trafficMirrorFilterId: cdktf.Token.asString( + awsEc2TrafficMirrorFilterFilter.id + ), + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `description` - (Optional) Description of the traffic mirror filter rule. +* `trafficMirrorFilterId` - (Required) ID of the traffic mirror filter to which this rule should be added +* `destinationCidrBlock` - (Required) Destination CIDR block to assign to the Traffic Mirror rule. +* `destinationPortRange` - (Optional) Destination port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below +* `protocol` - (Optional) Protocol number, for example 17 (UDP), to assign to the Traffic Mirror rule. For information about the protocol value, see [Protocol Numbers](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) on the Internet Assigned Numbers Authority (IANA) website. +* `ruleAction` - (Required) Action to take (accept | reject) on the filtered traffic. Valid values are `accept` and `reject` +* `ruleNumber` - (Required) Number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number. +* `sourceCidrBlock` - (Required) Source CIDR block to assign to the Traffic Mirror rule. +* `sourcePortRange` - (Optional) Source port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below +* `trafficDirection` - (Required) Direction of traffic to be captured. Valid values are `ingress` and `egress` + +Traffic mirror port range support following attributes: + +* `fromPort` - (Optional) Starting port of the range +* `toPort` - (Optional) Ending port of the range + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - ARN of the traffic mirror filter rule. +* `id` - Name of the traffic mirror filter rule. + +## Import + +Traffic mirror rules can be imported using the `trafficMirrorFilterId` and `id` separated by `:` e.g., + +``` +$ terraform import aws_ec2_traffic_mirror_filter_rule.rule tmf-0fbb93ddf38198f64:tmfr-05a458f06445d0aee +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_traffic_mirror_session.html.markdown b/website/docs/cdktf/typescript/r/ec2_traffic_mirror_session.html.markdown new file mode 100644 index 00000000000..deed6b09f89 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_traffic_mirror_session.html.markdown @@ -0,0 +1,67 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_traffic_mirror_session" +description: |- + Provides a Traffic mirror session +--- + +# Resource: aws_ec2_traffic_mirror_session + +Provides an Traffic mirror session. +Read [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring + +## Example Usage + +To create a basic traffic mirror session + +```terraform +resource "aws_ec2_traffic_mirror_filter" "filter" { + description = "traffic mirror filter - terraform example" + network_services = ["amazon-dns"] +} + +resource "aws_ec2_traffic_mirror_target" "target" { + network_load_balancer_arn = aws_lb.lb.arn +} + +resource "aws_ec2_traffic_mirror_session" "session" { + description = "traffic mirror session - terraform example" + network_interface_id = aws_instance.test.primary_network_interface_id + session_number = 1 + traffic_mirror_filter_id = aws_ec2_traffic_mirror_filter.filter.id + traffic_mirror_target_id = aws_ec2_traffic_mirror_target.target.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `description` - (Optional) A description of the traffic mirror session. +* `networkInterfaceId` - (Required, Forces new) ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring. +* `trafficMirrorFilterId` - (Required) ID of the traffic mirror filter to be used +* `trafficMirrorTargetId` - (Required) ID of the traffic mirror target to be used +* `packetLength` - (Optional) The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. +* `sessionNumber` - (Required) - The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets. +* `virtualNetworkId` - (Optional) - The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random. +* `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - The ARN of the traffic mirror session. +* `id` - The name of the session. +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `ownerId` - The AWS account ID of the session owner. + +## Import + +Traffic mirror sessions can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_traffic_mirror_session.session tms-0d8aa3ca35897b82e +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_traffic_mirror_target.html.markdown b/website/docs/cdktf/typescript/r/ec2_traffic_mirror_target.html.markdown new file mode 100644 index 00000000000..a1f502299e1 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_traffic_mirror_target.html.markdown @@ -0,0 +1,64 @@ +--- +subcategory: "VPC (Virtual Private Cloud)" +layout: "aws" +page_title: "AWS: aws_ec2_traffic_mirror_target" +description: |- + Provides a Traffic mirror target +--- + +# Resource: aws_ec2_traffic_mirror_target + +Provides a Traffic mirror target. +Read [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring + +## Example Usage + +To create a basic traffic mirror session + +```terraform +resource "aws_ec2_traffic_mirror_target" "nlb" { + description = "NLB target" + network_load_balancer_arn = aws_lb.lb.arn +} + +resource "aws_ec2_traffic_mirror_target" "eni" { + description = "ENI target" + network_interface_id = aws_instance.test.primary_network_interface_id +} + +resource "aws_ec2_traffic_mirror_target" "gwlb" { + description = "GWLB target" + gateway_load_balancer_endpoint_id = aws_vpc_endpoint.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `description` - (Optional, Forces new) A description of the traffic mirror session. +* `networkInterfaceId` - (Optional, Forces new) The network interface ID that is associated with the target. +* `networkLoadBalancerArn` - (Optional, Forces new) The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target. +* `gatewayLoadBalancerEndpointId` - (Optional, Forces new) The VPC Endpoint Id of the Gateway Load Balancer that is associated with the target. +* `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +**NOTE:** Either `networkInterfaceId` or `networkLoadBalancerArn` should be specified and both should not be specified together + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - The ID of the Traffic Mirror target. +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `arn` - The ARN of the traffic mirror target. +* `ownerId` - The ID of the AWS account that owns the traffic mirror target. + +## Import + +Traffic mirror targets can be imported using the `id`, e.g., + +``` +$ terraform import aws_ec2_traffic_mirror_target.target tmt-0c13a005422b86606 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway.html.markdown new file mode 100644 index 00000000000..e073514f633 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway.html.markdown @@ -0,0 +1,77 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway" +description: |- + Manages an EC2 Transit Gateway +--- + +# Resource: aws_ec2_transit_gateway + +Manages an EC2 Transit Gateway. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + new aws.ec2TransitGateway.Ec2TransitGateway(this, "example", { + description: "example", + }); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `amazonSideAsn` - (Optional) Private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is `64512` to `65534` for 16-bit ASNs and `4200000000` to `4294967294` for 32-bit ASNs. Default value: `64512`. + +-> **NOTE:** Modifying `amazonSideAsn` on a Transit Gateway with active BGP sessions is [not allowed](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTransitGatewayOptions.html). You must first delete all Transit Gateway attachments that have BGP configured prior to modifying `amazonSideAsn`. + +* `autoAcceptSharedAttachments` - (Optional) Whether resource attachment requests are automatically accepted. Valid values: `disable`, `enable`. Default value: `disable`. +* `defaultRouteTableAssociation` - (Optional) Whether resource attachments are automatically associated with the default association route table. Valid values: `disable`, `enable`. Default value: `enable`. +* `defaultRouteTablePropagation` - (Optional) Whether resource attachments automatically propagate routes to the default propagation route table. Valid values: `disable`, `enable`. Default value: `enable`. +* `description` - (Optional) Description of the EC2 Transit Gateway. +* `dnsSupport` - (Optional) Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. +* `multicastSupport` - (Optional) Whether Multicast support is enabled. Required to use `ec2TransitGatewayMulticastDomain`. Valid values: `disable`, `enable`. Default value: `disable`. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `transitGatewayCidrBlocks` - (Optional) One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6. +* `vpnEcmpSupport` - (Optional) Whether VPN Equal Cost Multipath Protocol support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - EC2 Transit Gateway Amazon Resource Name (ARN) +* `associationDefaultRouteTableId` - Identifier of the default association route table +* `id` - EC2 Transit Gateway identifier +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `ownerId` - Identifier of the AWS account that owns the EC2 Transit Gateway +* `propagationDefaultRouteTableId` - Identifier of the default propagation route table + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `10M`) +- `update` - (Default `10M`) +- `delete` - (Default `10M`) + +## Import + +`awsEc2TransitGateway` can be imported by using the EC2 Transit Gateway identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway.example tgw-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_connect.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_connect.html.markdown new file mode 100644 index 00000000000..59e486de9a5 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_connect.html.markdown @@ -0,0 +1,62 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_connect" +description: |- + Manages an EC2 Transit Gateway Connect +--- + +# Resource: aws_ec2_transit_gateway_connect + +Manages an EC2 Transit Gateway Connect. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_vpc_attachment" "example" { + subnet_ids = [aws_subnet.example.id] + transit_gateway_id = aws_ec2_transit_gateway.example.id + vpc_id = aws_vpc.example.id +} + +resource "aws_ec2_transit_gateway_connect" "attachment" { + transport_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_id = aws_ec2_transit_gateway.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `protocol` - (Optional) The tunnel protocol. Valida values: `gre`. Default is `gre`. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Connect. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `transitGatewayDefaultRouteTableAssociation` - (Optional) Boolean whether the Connect should be associated with the EC2 Transit Gateway association default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. +* `transitGatewayDefaultRouteTablePropagation` - (Optional) Boolean whether the Connect should propagate routes with the EC2 Transit Gateway propagation default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. +* `transitGatewayId` - (Required) Identifier of EC2 Transit Gateway. +* `transportAttachmentId` - (Required) The underlaying VPC attachment + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Attachment identifier +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `10M`) +- `update` - (Default `10M`) +- `delete` - (Default `10M`) + +## Import + +`awsEc2TransitGatewayConnect` can be imported by using the EC2 Transit Gateway Connect identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_connect.example tgw-attach-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_connect_peer.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_connect_peer.html.markdown new file mode 100644 index 00000000000..5c05f186fd7 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_connect_peer.html.markdown @@ -0,0 +1,62 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_connect_peer" +description: |- + Manages an EC2 Transit Gateway Connect Peer +--- + +# Resource: aws_ec2_transit_gateway_connect_peer + +Manages an EC2 Transit Gateway Connect Peer. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_connect" "example" { + transport_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_id = aws_ec2_transit_gateway.example.id +} + +resource "aws_ec2_transit_gateway_connect_peer" "example" { + peer_address = "10.1.2.3" + inside_cidr_blocks = ["169.254.100.0/29"] + transit_gateway_attachment_id = aws_ec2_transit_gateway_connect.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `bgpAsn` - (Optional) The BGP ASN number assigned customer device. If not provided, it will use the same BGP ASN as is associated with Transit Gateway. +* `insideCidrBlocks` - (Required) The CIDR block that will be used for addressing within the tunnel. It must contain exactly one IPv4 CIDR block and up to one IPv6 CIDR block. The IPv4 CIDR block must be /29 size and must be within 169.254.0.0/16 range, with exception of: 169.254.0.0/29, 169.254.1.0/29, 169.254.2.0/29, 169.254.3.0/29, 169.254.4.0/29, 169.254.5.0/29, 169.254.169.248/29. The IPv6 CIDR block must be /125 size and must be within fd00::/8. The first IP from each CIDR block is assigned for customer gateway, the second and third is for Transit Gateway (An example: from range 169.254.100.0/29, .1 is assigned to customer gateway and .2 and .3 are assigned to Transit Gateway) +* `peerAddress` - (Required) The IP addressed assigned to customer device, which will be used as tunnel endpoint. It can be IPv4 or IPv6 address, but must be the same address family as `transitGatewayAddress` +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Connect Peer. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `transitGatewayAddress` - (Optional) The IP address assigned to Transit Gateway, which will be used as tunnel endpoint. This address must be from associated Transit Gateway CIDR block. The address must be from the same address family as `peerAddress`. If not set explicitly, it will be selected from associated Transit Gateway CIDR blocks +* `transitGatewayAttachmentId` - (Required) The Transit Gateway Connect + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Connect Peer identifier +* `arn` - EC2 Transit Gateway Connect Peer ARN +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `10M`) +- `delete` - (Default `10M`) + +## Import + +`awsEc2TransitGatewayConnectPeer` can be imported by using the EC2 Transit Gateway Connect Peer identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_connect_peer.example tgw-connect-peer-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_domain.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_domain.html.markdown new file mode 100644 index 00000000000..02f15ef5c67 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_domain.html.markdown @@ -0,0 +1,253 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_multicast_domain" +description: |- + Manages an EC2 Transit Gateway Multicast Domain +--- + +# Resource: aws_ec2_transit_gateway_multicast_domain + +Manages an EC2 Transit Gateway Multicast Domain. + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + const awsEc2TransitGatewayTgw = new aws.ec2TransitGateway.Ec2TransitGateway( + this, + "tgw", + { + multicastSupport: "enable", + } + ); + const awsEc2TransitGatewayMulticastDomainDomain = + new aws.ec2TransitGatewayMulticastDomain.Ec2TransitGatewayMulticastDomain( + this, + "domain", + { + staticSourcesSupport: "enable", + tags: { + Name: "Transit_Gateway_Multicast_Domain_Example", + }, + transitGatewayId: cdktf.Token.asString(awsEc2TransitGatewayTgw.id), + } + ); + const awsVpcVpc1 = new aws.vpc.Vpc(this, "vpc1", { + cidrBlock: "10.0.0.0/16", + }); + const awsVpcVpc2 = new aws.vpc.Vpc(this, "vpc2", { + cidrBlock: "10.1.0.0/16", + }); + const dataAwsAmiAmazonLinux = new aws.dataAwsAmi.DataAwsAmi( + this, + "amazon_linux", + { + filter: [ + { + name: "name", + values: ["amzn-ami-hvm-*-x86_64-gp2"], + }, + { + name: "owner-alias", + values: ["amazon"], + }, + ], + mostRecent: true, + owners: ["amazon"], + } + ); + const dataAwsAvailabilityZonesAvailable = + new aws.dataAwsAvailabilityZones.DataAwsAvailabilityZones( + this, + "available", + { + state: "available", + } + ); + const awsSubnetSubnet1 = new aws.subnet.Subnet(this, "subnet1", { + availabilityZone: cdktf.Token.asString( + cdktf.propertyAccess(dataAwsAvailabilityZonesAvailable.names, ["0"]) + ), + cidrBlock: "10.0.1.0/24", + vpcId: cdktf.Token.asString(awsVpcVpc1.id), + }); + const awsSubnetSubnet2 = new aws.subnet.Subnet(this, "subnet2", { + availabilityZone: cdktf.Token.asString( + cdktf.propertyAccess(dataAwsAvailabilityZonesAvailable.names, ["1"]) + ), + cidrBlock: "10.0.2.0/24", + vpcId: cdktf.Token.asString(awsVpcVpc1.id), + }); + const awsSubnetSubnet3 = new aws.subnet.Subnet(this, "subnet3", { + availabilityZone: cdktf.Token.asString( + cdktf.propertyAccess(dataAwsAvailabilityZonesAvailable.names, ["0"]) + ), + cidrBlock: "10.1.1.0/24", + vpcId: cdktf.Token.asString(awsVpcVpc2.id), + }); + const awsEc2TransitGatewayVpcAttachmentAttachment1 = + new aws.ec2TransitGatewayVpcAttachment.Ec2TransitGatewayVpcAttachment( + this, + "attachment1", + { + subnetIds: [ + cdktf.Token.asString(awsSubnetSubnet1.id), + cdktf.Token.asString(awsSubnetSubnet2.id), + ], + transitGatewayId: cdktf.Token.asString(awsEc2TransitGatewayTgw.id), + vpcId: cdktf.Token.asString(awsVpcVpc1.id), + } + ); + const awsEc2TransitGatewayVpcAttachmentAttachment2 = + new aws.ec2TransitGatewayVpcAttachment.Ec2TransitGatewayVpcAttachment( + this, + "attachment2", + { + subnetIds: [cdktf.Token.asString(awsSubnetSubnet3.id)], + transitGatewayId: cdktf.Token.asString(awsEc2TransitGatewayTgw.id), + vpcId: cdktf.Token.asString(awsVpcVpc2.id), + } + ); + const awsInstanceInstance1 = new aws.instance.Instance(this, "instance1", { + ami: cdktf.Token.asString(dataAwsAmiAmazonLinux.id), + instanceType: "t2.micro", + subnetId: cdktf.Token.asString(awsSubnetSubnet1.id), + }); + const awsInstanceInstance2 = new aws.instance.Instance(this, "instance2", { + ami: cdktf.Token.asString(dataAwsAmiAmazonLinux.id), + instanceType: "t2.micro", + subnetId: cdktf.Token.asString(awsSubnetSubnet2.id), + }); + const awsInstanceInstance3 = new aws.instance.Instance(this, "instance3", { + ami: cdktf.Token.asString(dataAwsAmiAmazonLinux.id), + instanceType: "t2.micro", + subnetId: cdktf.Token.asString(awsSubnetSubnet3.id), + }); + const awsEc2TransitGatewayMulticastDomainAssociationAssociation1 = + new aws.ec2TransitGatewayMulticastDomainAssociation.Ec2TransitGatewayMulticastDomainAssociation( + this, + "association1", + { + subnetId: cdktf.Token.asString(awsSubnetSubnet1.id), + transitGatewayAttachmentId: cdktf.Token.asString( + awsEc2TransitGatewayVpcAttachmentAttachment1.id + ), + transitGatewayMulticastDomainId: cdktf.Token.asString( + awsEc2TransitGatewayMulticastDomainDomain.id + ), + } + ); + new aws.ec2TransitGatewayMulticastDomainAssociation.Ec2TransitGatewayMulticastDomainAssociation( + this, + "association2", + { + subnetId: cdktf.Token.asString(awsSubnetSubnet2.id), + transitGatewayAttachmentId: cdktf.Token.asString( + awsEc2TransitGatewayVpcAttachmentAttachment2.id + ), + transitGatewayMulticastDomainId: cdktf.Token.asString( + awsEc2TransitGatewayMulticastDomainDomain.id + ), + } + ); + const awsEc2TransitGatewayMulticastDomainAssociationAssociation3 = + new aws.ec2TransitGatewayMulticastDomainAssociation.Ec2TransitGatewayMulticastDomainAssociation( + this, + "association3", + { + subnetId: cdktf.Token.asString(awsSubnetSubnet3.id), + transitGatewayAttachmentId: cdktf.Token.asString( + awsEc2TransitGatewayVpcAttachmentAttachment2.id + ), + transitGatewayMulticastDomainId: cdktf.Token.asString( + awsEc2TransitGatewayMulticastDomainDomain.id + ), + } + ); + new aws.ec2TransitGatewayMulticastGroupMember.Ec2TransitGatewayMulticastGroupMember( + this, + "member1", + { + groupIpAddress: "224.0.0.1", + networkInterfaceId: cdktf.Token.asString( + awsInstanceInstance1.primaryNetworkInterfaceId + ), + transitGatewayMulticastDomainId: cdktf.Token.asString( + awsEc2TransitGatewayMulticastDomainAssociationAssociation1.transitGatewayMulticastDomainId + ), + } + ); + new aws.ec2TransitGatewayMulticastGroupMember.Ec2TransitGatewayMulticastGroupMember( + this, + "member2", + { + groupIpAddress: "224.0.0.1", + networkInterfaceId: cdktf.Token.asString( + awsInstanceInstance2.primaryNetworkInterfaceId + ), + transitGatewayMulticastDomainId: cdktf.Token.asString( + awsEc2TransitGatewayMulticastDomainAssociationAssociation1.transitGatewayMulticastDomainId + ), + } + ); + new aws.ec2TransitGatewayMulticastGroupSource.Ec2TransitGatewayMulticastGroupSource( + this, + "source", + { + groupIpAddress: "224.0.0.1", + networkInterfaceId: cdktf.Token.asString( + awsInstanceInstance3.primaryNetworkInterfaceId + ), + transitGatewayMulticastDomainId: cdktf.Token.asString( + awsEc2TransitGatewayMulticastDomainAssociationAssociation3.transitGatewayMulticastDomainId + ), + } + ); + } +} + +``` + +## Argument Reference + +The following arguments are supported: + +* `transitGatewayId` - (Required) EC2 Transit Gateway identifier. The EC2 Transit Gateway must have `multicastSupport` enabled. +* `autoAcceptSharedAssociations` - (Optional) Whether to automatically accept cross-account subnet associations that are associated with the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. +* `igmpv2Support` - (Optional) Whether to enable Internet Group Management Protocol (IGMP) version 2 for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. +* `staticSourcesSupport` - (Optional) Whether to enable support for statically configuring multicast group sources for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Multicast Domain. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Multicast Domain identifier. +* `arn` - EC2 Transit Gateway Multicast Domain Amazon Resource Name (ARN). +* `ownerId` - Identifier of the AWS account that owns the EC2 Transit Gateway Multicast Domain. +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `10M`) +- `delete` - (Default `10M`) + +## Import + +`awsEc2TransitGatewayMulticastDomain` can be imported by using the EC2 Transit Gateway Multicast Domain identifier, e.g., + +``` +terraform import aws_ec2_transit_gateway_multicast_domain.example tgw-mcast-domain-12345 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_domain_association.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_domain_association.html.markdown new file mode 100644 index 00000000000..cfb4ded0a39 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_domain_association.html.markdown @@ -0,0 +1,58 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_multicast_domain_association" +description: |- + Manages an EC2 Transit Gateway Multicast Domain Association +--- + +# Resource: aws_ec2_transit_gateway_multicast_domain_association + +Associates the specified subnet and transit gateway attachment with the specified transit gateway multicast domain. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway" "example" { + multicast_support = "enable" +} + +resource "aws_ec2_transit_gateway_vpc_attachment" "example" { + subnet_ids = [aws_subnet.example.id] + transit_gateway_id = aws_ec2_transit_gateway.example.id + vpc_id = aws_vpc.example.id +} + +resource "aws_ec2_transit_gateway_multicast_domain" "example" { + transit_gateway_id = aws_ec2_transit_gateway.example.id +} + +resource "aws_ec2_transit_gateway_multicast_domain_association" "example" { + subnet_id = aws_subnet.example.id + transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_multicast_domain_id = aws_ec2_transit_gateway_multicast_domain.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `subnetId` - (Required) The ID of the subnet to associate with the transit gateway multicast domain. +* `transitGatewayAttachmentId` - (Required) The ID of the transit gateway attachment. +* `transitGatewayMulticastDomainId` - (Required) The ID of the transit gateway multicast domain. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Multicast Domain Association identifier. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +- `create` - (Default `10M`) +- `delete` - (Default `10M`) + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_group_member.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_group_member.html.markdown new file mode 100644 index 00000000000..614c940b015 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_group_member.html.markdown @@ -0,0 +1,38 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_multicast_group_member" +description: |- + Manages an EC2 Transit Gateway Multicast Group Member +--- + +# Resource: aws_ec2_transit_gateway_multicast_group_member + +Registers members (network interfaces) with the transit gateway multicast group. +A member is a network interface associated with a supported EC2 instance that receives multicast traffic. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_multicast_group_member" "example" { + group_ip_address = "224.0.0.1" + network_interface_id = aws_network_interface.example.id + transit_gateway_multicast_domain_id = aws_ec2_transit_gateway_multicast_domain.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `groupIpAddress` - (Required) The IP address assigned to the transit gateway multicast group. +* `networkInterfaceId` - (Required) The group members' network interface ID to register with the transit gateway multicast group. +* `transitGatewayMulticastDomainId` - (Required) The ID of the transit gateway multicast domain. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Multicast Group Member identifier. + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_group_source.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_group_source.html.markdown new file mode 100644 index 00000000000..265105d03c8 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_multicast_group_source.html.markdown @@ -0,0 +1,38 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_multicast_group_source" +description: |- + Manages an EC2 Transit Gateway Multicast Group Source +--- + +# Resource: aws_ec2_transit_gateway_multicast_group_source + +Registers sources (network interfaces) with the transit gateway multicast group. +A multicast source is a network interface attached to a supported instance that sends multicast traffic. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_multicast_group_source" "example" { + group_ip_address = "224.0.0.1" + network_interface_id = aws_network_interface.example.id + transit_gateway_multicast_domain_id = aws_ec2_transit_gateway_multicast_domain.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `groupIpAddress` - (Required) The IP address assigned to the transit gateway multicast group. +* `networkInterfaceId` - (Required) The group members' network interface ID to register with the transit gateway multicast group. +* `transitGatewayMulticastDomainId` - (Required) The ID of the transit gateway multicast domain. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Multicast Group Member identifier. + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_peering_attachment.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_peering_attachment.html.markdown new file mode 100644 index 00000000000..5ac8ab0ffbd --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_peering_attachment.html.markdown @@ -0,0 +1,103 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_peering_attachment" +description: |- + Manages an EC2 Transit Gateway Peering Attachment +--- + +# Resource: aws_ec2_transit_gateway_peering_attachment + +Manages an EC2 Transit Gateway Peering Attachment. +For examples of custom route table association and propagation, see the [EC2 Transit Gateway Networking Examples Guide](https://docs.aws.amazon.com/vpc/latest/tgw/TGW_Scenarios.html). + +## Example Usage + +```typescript +import * as constructs from "constructs"; +import * as cdktf from "cdktf"; +/*Provider bindings are generated by running cdktf get. +See https://cdk.tf/provider-generation for more details.*/ +import * as aws from "./.gen/providers/aws"; +class MyConvertedCode extends cdktf.TerraformStack { + constructor(scope: constructs.Construct, name: string) { + super(scope, name); + const awsLocal = new aws.provider.AwsProvider(this, "aws", { + alias: "local", + region: "us-east-1", + }); + const awsPeer = new aws.provider.AwsProvider(this, "aws_1", { + alias: "peer", + region: "us-west-2", + }); + const awsEc2TransitGatewayLocal = + new aws.ec2TransitGateway.Ec2TransitGateway(this, "local", { + provider: awsLocal, + tags: { + Name: "Local TGW", + }, + }); + const awsEc2TransitGatewayPeer = + new aws.ec2TransitGateway.Ec2TransitGateway(this, "peer", { + provider: awsPeer, + tags: { + Name: "Peer TGW", + }, + }); + const dataAwsRegionPeer = new aws.dataAwsRegion.DataAwsRegion( + this, + "peer_4", + { + provider: awsPeer, + } + ); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + dataAwsRegionPeer.overrideLogicalId("peer"); + new aws.ec2TransitGatewayPeeringAttachment.Ec2TransitGatewayPeeringAttachment( + this, + "example", + { + peerAccountId: cdktf.Token.asString(awsEc2TransitGatewayPeer.ownerId), + peerRegion: cdktf.Token.asString(dataAwsRegionPeer.name), + peerTransitGatewayId: cdktf.Token.asString(awsEc2TransitGatewayPeer.id), + tags: { + Name: "TGW Peering Requestor", + }, + transitGatewayId: cdktf.Token.asString(awsEc2TransitGatewayLocal.id), + } + ); + } +} + +``` + +A full example of how to create a Transit Gateway in one AWS account, share it with a second AWS account, and attach a to a Transit Gateway in the second account via the `awsEc2TransitGatewayPeeringAttachment` resource can be found in [the `/examples/transitGatewayCrossAccountPeeringAttachment` directory within the Github Repository](https://github.com/hashicorp/terraform-provider-aws/tree/main/examples/transit-gateway-cross-account-peering-attachment). + +## Argument Reference + +The following arguments are supported: + +* `peerAccountId` - (Optional) Account ID of EC2 Transit Gateway to peer with. Defaults to the account ID the [AWS provider][1] is currently connected to. +* `peerRegion` - (Required) Region of EC2 Transit Gateway to peer with. +* `peerTransitGatewayId` - (Required) Identifier of EC2 Transit Gateway to peer with. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Peering Attachment. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `transitGatewayId` - (Required) Identifier of EC2 Transit Gateway. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Attachment identifier +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +`awsEc2TransitGatewayPeeringAttachment` can be imported by using the EC2 Transit Gateway Attachment identifier, e.g., + +```sh +terraform import aws_ec2_transit_gateway_peering_attachment.example tgw-attach-12345678 +``` + +[1]: /docs/providers/aws/index.html + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_peering_attachment_accepter.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_peering_attachment_accepter.html.markdown new file mode 100644 index 00000000000..fb86c563aa0 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_peering_attachment_accepter.html.markdown @@ -0,0 +1,52 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_peering_attachment_accepter" +description: |- + Manages the accepter's side of an EC2 Transit Gateway peering Attachment +--- + +# Resource: aws_ec2_transit_gateway_peering_attachment_accepter + +Manages the accepter's side of an EC2 Transit Gateway Peering Attachment. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_peering_attachment_accepter" "example" { + transit_gateway_attachment_id = aws_ec2_transit_gateway_peering_attachment.example.id + + tags = { + Name = "Example cross-account attachment" + } +} +``` + +A full example of how to create a Transit Gateway in one AWS account, share it with a second AWS account, and attach a to a Transit Gateway in the second account via the `awsEc2TransitGatewayPeeringAttachment` resource can be found in [the `/examples/transitGatewayCrossAccountPeeringAttachment` directory within the Github Repository](https://github.com/hashicorp/terraform-provider-aws/tree/main/examples/transit-gateway-cross-account-peering-attachment). + +## Argument Reference + +The following arguments are supported: + +* `transitGatewayAttachmentId` - (Required) The ID of the EC2 Transit Gateway Peering Attachment to manage. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Peering Attachment. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Attachment identifier +* `transitGatewayId` - Identifier of EC2 Transit Gateway. +* `peerTransitGatewayId` - Identifier of EC2 Transit Gateway to peer with. +* `peerAccountId` - Identifier of the AWS account that owns the EC2 TGW peering. +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +`awsEc2TransitGatewayPeeringAttachmentAccepter` can be imported by using the EC2 Transit Gateway Attachment identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_peering_attachment_accepter.example tgw-attach-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_policy_table.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_policy_table.html.markdown new file mode 100644 index 00000000000..9e57efea412 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_policy_table.html.markdown @@ -0,0 +1,49 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_policy_table" +description: |- + Manages an EC2 Transit Gateway Policy Table +--- + +# Resource: aws_ec2_transit_gateway_policy_table + +Manages an EC2 Transit Gateway Policy Table. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_policy_table" "example" { + transit_gateway_id = aws_ec2_transit_gateway.example.id + + tags = { + Name = "Example Policy Table" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `transitGatewayId` - (Required) EC2 Transit Gateway identifier. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Policy Table. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - EC2 Transit Gateway Policy Table Amazon Resource Name (ARN). +* `id` - EC2 Transit Gateway Policy Table identifier. +* `state` - The state of the EC2 Transit Gateway Policy Table. +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +`awsEc2TransitGatewayPolicyTable` can be imported by using the EC2 Transit Gateway Policy Table identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_policy_table.example tgw-rtb-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_policy_table_association.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_policy_table_association.html.markdown new file mode 100644 index 00000000000..f895a0e215c --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_policy_table_association.html.markdown @@ -0,0 +1,45 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_policy_table_association" +description: |- + Manages an EC2 Transit Gateway Policy Table association +--- + +# Resource: aws_ec2_transit_gateway_policy_table_association + +Manages an EC2 Transit Gateway Policy Table association. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_policy_table_association" "example" { + transit_gateway_attachment_id = aws_networkmanager_transit_gateway_peering.example.transit_gateway_peering_attachment_id + transit_gateway_policy_table_id = aws_ec2_transit_gateway_policy_table.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `transitGatewayAttachmentId` - (Required) Identifier of EC2 Transit Gateway Attachment. +* `transitGatewayPolicyTableId` - (Required) Identifier of EC2 Transit Gateway Policy Table. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Policy Table identifier combined with EC2 Transit Gateway Attachment identifier +* `resourceId` - Identifier of the resource +* `resourceType` - Type of the resource + +## Import + +`awsEc2TransitGatewayPolicyTableAssociation` can be imported by using the EC2 Transit Gateway Policy Table identifier, an underscore, and the EC2 Transit Gateway Attachment identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_policy_table_association.example tgw-rtb-12345678_tgw-attach-87654321 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_prefix_list_reference.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_prefix_list_reference.html.markdown new file mode 100644 index 00000000000..1b191a17c9d --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_prefix_list_reference.html.markdown @@ -0,0 +1,61 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_prefix_list_reference" +description: |- + Manages an EC2 Transit Gateway Prefix List Reference +--- + +# Resource: aws_ec2_transit_gateway_prefix_list_reference + +Manages an EC2 Transit Gateway Prefix List Reference. + +## Example Usage + +### Attachment Routing + +```terraform +resource "aws_ec2_transit_gateway_prefix_list_reference" "example" { + prefix_list_id = aws_ec2_managed_prefix_list.example.id + transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_route_table_id = aws_ec2_transit_gateway.example.association_default_route_table_id +} +``` + +### Blackhole Routing + +```terraform +resource "aws_ec2_transit_gateway_prefix_list_reference" "example" { + blackhole = true + prefix_list_id = aws_ec2_managed_prefix_list.example.id + transit_gateway_route_table_id = aws_ec2_transit_gateway.example.association_default_route_table_id +} +``` + +## Argument Reference + +The following arguments are required: + +* `prefixListId` - (Required) Identifier of EC2 Prefix List. +* `transitGatewayRouteTableId` - (Required) Identifier of EC2 Transit Gateway Route Table. + +The following arguments are optional: + +* `blackhole` - (Optional) Indicates whether to drop traffic that matches the Prefix List. Defaults to `false`. +* `transitGatewayAttachmentId` - (Optional) Identifier of EC2 Transit Gateway Attachment. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Route Table identifier and EC2 Prefix List identifier, separated by an underscore (`_`) + +## Import + +`awsEc2TransitGatewayPrefixListReference` can be imported by using the EC2 Transit Gateway Route Table identifier and EC2 Prefix List identifier, separated by an underscore (`_`), e.g., + +```console +$ terraform import aws_ec2_transit_gateway_prefix_list_reference.example tgw-rtb-12345678_pl-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_route.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_route.html.markdown new file mode 100644 index 00000000000..df3c812a24e --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_route.html.markdown @@ -0,0 +1,58 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route" +description: |- + Manages an EC2 Transit Gateway Route +--- + +# Resource: aws_ec2_transit_gateway_route + +Manages an EC2 Transit Gateway Route. + +## Example Usage + +### Standard usage + +```terraform +resource "aws_ec2_transit_gateway_route" "example" { + destination_cidr_block = "0.0.0.0/0" + transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_route_table_id = aws_ec2_transit_gateway.example.association_default_route_table_id +} +``` + +### Blackhole route + +```terraform +resource "aws_ec2_transit_gateway_route" "example" { + destination_cidr_block = "0.0.0.0/0" + blackhole = true + transit_gateway_route_table_id = aws_ec2_transit_gateway.example.association_default_route_table_id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `destinationCidrBlock` - (Required) IPv4 or IPv6 RFC1924 CIDR used for destination matches. Routing decisions are based on the most specific match. +* `transitGatewayAttachmentId` - (Optional) Identifier of EC2 Transit Gateway Attachment (required if `blackhole` is set to false). +* `blackhole` - (Optional) Indicates whether to drop traffic that matches this route (default to `false`). +* `transitGatewayRouteTableId` - (Required) Identifier of EC2 Transit Gateway Route Table. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Route Table identifier combined with destination + +## Import + +`awsEc2TransitGatewayRoute` can be imported by using the EC2 Transit Gateway Route Table, an underscore, and the destination, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_route.example tgw-rtb-12345678_0.0.0.0/0 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_route_table.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_route_table.html.markdown new file mode 100644 index 00000000000..61103f6bd36 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_route_table.html.markdown @@ -0,0 +1,46 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route_table" +description: |- + Manages an EC2 Transit Gateway Route Table +--- + +# Resource: aws_ec2_transit_gateway_route_table + +Manages an EC2 Transit Gateway Route Table. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_route_table" "example" { + transit_gateway_id = aws_ec2_transit_gateway.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `transitGatewayId` - (Required) Identifier of EC2 Transit Gateway. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway Route Table. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `arn` - EC2 Transit Gateway Route Table Amazon Resource Name (ARN). +* `defaultAssociationRouteTable` - Boolean whether this is the default association route table for the EC2 Transit Gateway. +* `defaultPropagationRouteTable` - Boolean whether this is the default propagation route table for the EC2 Transit Gateway. +* `id` - EC2 Transit Gateway Route Table identifier +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +`awsEc2TransitGatewayRouteTable` can be imported by using the EC2 Transit Gateway Route Table identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_route_table.example tgw-rtb-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_route_table_association.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_route_table_association.html.markdown new file mode 100644 index 00000000000..e8aa797c703 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_route_table_association.html.markdown @@ -0,0 +1,45 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route_table_association" +description: |- + Manages an EC2 Transit Gateway Route Table association +--- + +# Resource: aws_ec2_transit_gateway_route_table_association + +Manages an EC2 Transit Gateway Route Table association. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_route_table_association" "example" { + transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_route_table_id = aws_ec2_transit_gateway_route_table.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `transitGatewayAttachmentId` - (Required) Identifier of EC2 Transit Gateway Attachment. +* `transitGatewayRouteTableId` - (Required) Identifier of EC2 Transit Gateway Route Table. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Route Table identifier combined with EC2 Transit Gateway Attachment identifier +* `resourceId` - Identifier of the resource +* `resourceType` - Type of the resource + +## Import + +`awsEc2TransitGatewayRouteTableAssociation` can be imported by using the EC2 Transit Gateway Route Table identifier, an underscore, and the EC2 Transit Gateway Attachment identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_route_table_association.example tgw-rtb-12345678_tgw-attach-87654321 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_route_table_propagation.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_route_table_propagation.html.markdown new file mode 100644 index 00000000000..49921b2b128 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_route_table_propagation.html.markdown @@ -0,0 +1,45 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_route_table_propagation" +description: |- + Manages an EC2 Transit Gateway Route Table propagation +--- + +# Resource: aws_ec2_transit_gateway_route_table_propagation + +Manages an EC2 Transit Gateway Route Table propagation. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_route_table_propagation" "example" { + transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + transit_gateway_route_table_id = aws_ec2_transit_gateway_route_table.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `transitGatewayAttachmentId` - (Required) Identifier of EC2 Transit Gateway Attachment. +* `transitGatewayRouteTableId` - (Required) Identifier of EC2 Transit Gateway Route Table. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Route Table identifier combined with EC2 Transit Gateway Attachment identifier +* `resourceId` - Identifier of the resource +* `resourceType` - Type of the resource + +## Import + +`awsEc2TransitGatewayRouteTablePropagation` can be imported by using the EC2 Transit Gateway Route Table identifier, an underscore, and the EC2 Transit Gateway Attachment identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_route_table_propagation.example tgw-rtb-12345678_tgw-attach-87654321 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_vpc_attachment.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_vpc_attachment.html.markdown new file mode 100644 index 00000000000..d188b741ff5 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_vpc_attachment.html.markdown @@ -0,0 +1,55 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_vpc_attachment" +description: |- + Manages an EC2 Transit Gateway VPC Attachment +--- + +# Resource: aws_ec2_transit_gateway_vpc_attachment + +Manages an EC2 Transit Gateway VPC Attachment. For examples of custom route table association and propagation, see the EC2 Transit Gateway Networking Examples Guide. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_vpc_attachment" "example" { + subnet_ids = [aws_subnet.example.id] + transit_gateway_id = aws_ec2_transit_gateway.example.id + vpc_id = aws_vpc.example.id +} +``` + +A full example of how to create a Transit Gateway in one AWS account, share it with a second AWS account, and attach a VPC in the second account to the Transit Gateway via the `awsEc2TransitGatewayVpcAttachment` and `awsEc2TransitGatewayVpcAttachmentAccepter` resources can be found in [the `/examples/transitGatewayCrossAccountVpcAttachment` directory within the Github Repository](https://github.com/hashicorp/terraform-provider-aws/tree/main/examples/transit-gateway-cross-account-vpc-attachment). + +## Argument Reference + +The following arguments are supported: + +* `subnetIds` - (Required) Identifiers of EC2 Subnets. +* `transitGatewayId` - (Required) Identifier of EC2 Transit Gateway. +* `vpcId` - (Required) Identifier of EC2 VPC. +* `applianceModeSupport` - (Optional) Whether Appliance Mode support is enabled. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. Valid values: `disable`, `enable`. Default value: `disable`. +* `dnsSupport` - (Optional) Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. +* `ipv6Support` - (Optional) Whether IPv6 support is enabled. Valid values: `disable`, `enable`. Default value: `disable`. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway VPC Attachment. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `transitGatewayDefaultRouteTableAssociation` - (Optional) Boolean whether the VPC Attachment should be associated with the EC2 Transit Gateway association default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. +* `transitGatewayDefaultRouteTablePropagation` - (Optional) Boolean whether the VPC Attachment should propagate routes with the EC2 Transit Gateway propagation default route table. This cannot be configured or perform drift detection with Resource Access Manager shared EC2 Transit Gateways. Default value: `true`. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Attachment identifier +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `vpcOwnerId` - Identifier of the AWS account that owns the EC2 VPC. + +## Import + +`awsEc2TransitGatewayVpcAttachment` can be imported by using the EC2 Transit Gateway Attachment identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_vpc_attachment.example tgw-attach-12345678 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown b/website/docs/cdktf/typescript/r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown new file mode 100644 index 00000000000..90fe5a37126 --- /dev/null +++ b/website/docs/cdktf/typescript/r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown @@ -0,0 +1,64 @@ +--- +subcategory: "Transit Gateway" +layout: "aws" +page_title: "AWS: aws_ec2_transit_gateway_vpc_attachment_accepter" +description: |- + Manages the accepter's side of an EC2 Transit Gateway VPC Attachment +--- + +# Resource: aws_ec2_transit_gateway_vpc_attachment_accepter + +Manages the accepter's side of an EC2 Transit Gateway VPC Attachment. + +When a cross-account (requester's AWS account differs from the accepter's AWS account) EC2 Transit Gateway VPC Attachment +is created, an EC2 Transit Gateway VPC Attachment resource is automatically created in the accepter's account. +The requester can use the `awsEc2TransitGatewayVpcAttachment` resource to manage its side of the connection +and the accepter can use the `awsEc2TransitGatewayVpcAttachmentAccepter` resource to "adopt" its side of the +connection into management. + +## Example Usage + +```terraform +resource "aws_ec2_transit_gateway_vpc_attachment_accepter" "example" { + transit_gateway_attachment_id = aws_ec2_transit_gateway_vpc_attachment.example.id + + tags = { + Name = "Example cross-account attachment" + } +} +``` + +A full example of how to create a Transit Gateway in one AWS account, share it with a second AWS account, and attach a VPC in the second account to the Transit Gateway via the `awsEc2TransitGatewayVpcAttachment` and `awsEc2TransitGatewayVpcAttachmentAccepter` resources can be found in [the `/examples/transitGatewayCrossAccountVpcAttachment` directory within the Github Repository](https://github.com/hashicorp/terraform-provider-aws/tree/main/examples/transit-gateway-cross-account-vpc-attachment). + +## Argument Reference + +The following arguments are supported: + +* `transitGatewayAttachmentId` - (Required) The ID of the EC2 Transit Gateway Attachment to manage. +* `transitGatewayDefaultRouteTableAssociation` - (Optional) Boolean whether the VPC Attachment should be associated with the EC2 Transit Gateway association default route table. Default value: `true`. +* `transitGatewayDefaultRouteTablePropagation` - (Optional) Boolean whether the VPC Attachment should propagate routes with the EC2 Transit Gateway propagation default route table. Default value: `true`. +* `tags` - (Optional) Key-value tags for the EC2 Transit Gateway VPC Attachment. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - EC2 Transit Gateway Attachment identifier +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `applianceModeSupport` - Whether Appliance Mode support is enabled. Valid values: `disable`, `enable`. +* `dnsSupport` - Whether DNS support is enabled. Valid values: `disable`, `enable`. +* `ipv6Support` - Whether IPv6 support is enabled. Valid values: `disable`, `enable`. +* `subnetIds` - Identifiers of EC2 Subnets. +* `transitGatewayId` - Identifier of EC2 Transit Gateway. +* `vpcId` - Identifier of EC2 VPC. +* `vpcOwnerId` - Identifier of the AWS account that owns the EC2 VPC. + +## Import + +`awsEc2TransitGatewayVpcAttachmentAccepter` can be imported by using the EC2 Transit Gateway Attachment identifier, e.g., + +``` +$ terraform import aws_ec2_transit_gateway_vpc_attachment_accepter.example tgw-attach-12345678 +``` + + \ No newline at end of file