Trait ClientVpcsExt

Source
pub trait ClientVpcsExt {
Show 33 methods // Required methods fn internet_gateway_ip_address_list( &self, ) -> InternetGatewayIpAddressList<'_>; fn internet_gateway_ip_address_create( &self, ) -> InternetGatewayIpAddressCreate<'_>; fn internet_gateway_ip_address_delete( &self, ) -> InternetGatewayIpAddressDelete<'_>; fn internet_gateway_ip_pool_list(&self) -> InternetGatewayIpPoolList<'_>; fn internet_gateway_ip_pool_create(&self) -> InternetGatewayIpPoolCreate<'_>; fn internet_gateway_ip_pool_delete(&self) -> InternetGatewayIpPoolDelete<'_>; fn internet_gateway_list(&self) -> InternetGatewayList<'_>; fn internet_gateway_create(&self) -> InternetGatewayCreate<'_>; fn internet_gateway_view(&self) -> InternetGatewayView<'_>; fn internet_gateway_delete(&self) -> InternetGatewayDelete<'_>; fn vpc_firewall_rules_view(&self) -> VpcFirewallRulesView<'_>; fn vpc_firewall_rules_update(&self) -> VpcFirewallRulesUpdate<'_>; fn vpc_router_route_list(&self) -> VpcRouterRouteList<'_>; fn vpc_router_route_create(&self) -> VpcRouterRouteCreate<'_>; fn vpc_router_route_view(&self) -> VpcRouterRouteView<'_>; fn vpc_router_route_update(&self) -> VpcRouterRouteUpdate<'_>; fn vpc_router_route_delete(&self) -> VpcRouterRouteDelete<'_>; fn vpc_router_list(&self) -> VpcRouterList<'_>; fn vpc_router_create(&self) -> VpcRouterCreate<'_>; fn vpc_router_view(&self) -> VpcRouterView<'_>; fn vpc_router_update(&self) -> VpcRouterUpdate<'_>; fn vpc_router_delete(&self) -> VpcRouterDelete<'_>; fn vpc_subnet_list(&self) -> VpcSubnetList<'_>; fn vpc_subnet_create(&self) -> VpcSubnetCreate<'_>; fn vpc_subnet_view(&self) -> VpcSubnetView<'_>; fn vpc_subnet_update(&self) -> VpcSubnetUpdate<'_>; fn vpc_subnet_delete(&self) -> VpcSubnetDelete<'_>; fn vpc_subnet_list_network_interfaces( &self, ) -> VpcSubnetListNetworkInterfaces<'_>; fn vpc_list(&self) -> VpcList<'_>; fn vpc_create(&self) -> VpcCreate<'_>; fn vpc_view(&self) -> VpcView<'_>; fn vpc_update(&self) -> VpcUpdate<'_>; fn vpc_delete(&self) -> VpcDelete<'_>;
}
Expand description

Virtual Private Clouds (VPCs) provide isolated network environments for managing and deploying services.

Required Methods§

Source

fn internet_gateway_ip_address_list(&self) -> InternetGatewayIpAddressList<'_>

List IP addresses attached to internet gateway

Sends a GET request to /v1/internet-gateway-ip-addresses

Arguments:

  • gateway: Name or ID of the internet gateway
  • limit: Maximum number of items returned by a single call
  • page_token: Token returned by previous call to retrieve the subsequent page
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • sort_by
  • vpc: Name or ID of the VPC, only required if gateway is provided as a Name
let response = client.internet_gateway_ip_address_list()
   .gateway(gateway)
   .limit(limit)
   .page_token(page_token)
   .project(project)
   .sort_by(sort_by)
   .vpc(vpc)
   .send()
   .await;
Source

fn internet_gateway_ip_address_create( &self, ) -> InternetGatewayIpAddressCreate<'_>

Attach IP address to internet gateway

Sends a POST request to /v1/internet-gateway-ip-addresses

Arguments:

  • gateway: Name or ID of the internet gateway
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC, only required if gateway is provided as a Name
  • body
let response = client.internet_gateway_ip_address_create()
   .gateway(gateway)
   .project(project)
   .vpc(vpc)
   .body(body)
   .send()
   .await;
Source

fn internet_gateway_ip_address_delete( &self, ) -> InternetGatewayIpAddressDelete<'_>

Detach IP address from internet gateway

Sends a DELETE request to /v1/internet-gateway-ip-addresses/{address}

Arguments:

  • address: Name or ID of the IP address
  • cascade: Also delete routes targeting this gateway element.
  • gateway: Name or ID of the internet gateway
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC, only required if gateway is provided as a Name
let response = client.internet_gateway_ip_address_delete()
   .address(address)
   .cascade(cascade)
   .gateway(gateway)
   .project(project)
   .vpc(vpc)
   .send()
   .await;
Source

fn internet_gateway_ip_pool_list(&self) -> InternetGatewayIpPoolList<'_>

List IP pools attached to internet gateway

Sends a GET request to /v1/internet-gateway-ip-pools

Arguments:

  • gateway: Name or ID of the internet gateway
  • limit: Maximum number of items returned by a single call
  • page_token: Token returned by previous call to retrieve the subsequent page
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • sort_by
  • vpc: Name or ID of the VPC, only required if gateway is provided as a Name
let response = client.internet_gateway_ip_pool_list()
   .gateway(gateway)
   .limit(limit)
   .page_token(page_token)
   .project(project)
   .sort_by(sort_by)
   .vpc(vpc)
   .send()
   .await;
Source

fn internet_gateway_ip_pool_create(&self) -> InternetGatewayIpPoolCreate<'_>

Attach IP pool to internet gateway

Sends a POST request to /v1/internet-gateway-ip-pools

Arguments:

  • gateway: Name or ID of the internet gateway
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC, only required if gateway is provided as a Name
  • body
let response = client.internet_gateway_ip_pool_create()
   .gateway(gateway)
   .project(project)
   .vpc(vpc)
   .body(body)
   .send()
   .await;
Source

fn internet_gateway_ip_pool_delete(&self) -> InternetGatewayIpPoolDelete<'_>

Detach IP pool from internet gateway

Sends a DELETE request to /v1/internet-gateway-ip-pools/{pool}

Arguments:

  • pool: Name or ID of the IP pool
  • cascade: Also delete routes targeting this gateway element.
  • gateway: Name or ID of the internet gateway
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC, only required if gateway is provided as a Name
let response = client.internet_gateway_ip_pool_delete()
   .pool(pool)
   .cascade(cascade)
   .gateway(gateway)
   .project(project)
   .vpc(vpc)
   .send()
   .await;
Source

fn internet_gateway_list(&self) -> InternetGatewayList<'_>

List internet gateways

Sends a GET request to /v1/internet-gateways

Arguments:

  • limit: Maximum number of items returned by a single call
  • page_token: Token returned by previous call to retrieve the subsequent page
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • sort_by
  • vpc: Name or ID of the VPC
let response = client.internet_gateway_list()
   .limit(limit)
   .page_token(page_token)
   .project(project)
   .sort_by(sort_by)
   .vpc(vpc)
   .send()
   .await;
Source

fn internet_gateway_create(&self) -> InternetGatewayCreate<'_>

Create VPC internet gateway

Sends a POST request to /v1/internet-gateways

Arguments:

  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC
  • body
let response = client.internet_gateway_create()
   .project(project)
   .vpc(vpc)
   .body(body)
   .send()
   .await;
Source

fn internet_gateway_view(&self) -> InternetGatewayView<'_>

Fetch internet gateway

Sends a GET request to /v1/internet-gateways/{gateway}

Arguments:

  • gateway: Name or ID of the gateway
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC
let response = client.internet_gateway_view()
   .gateway(gateway)
   .project(project)
   .vpc(vpc)
   .send()
   .await;
Source

fn internet_gateway_delete(&self) -> InternetGatewayDelete<'_>

Delete internet gateway

Sends a DELETE request to /v1/internet-gateways/{gateway}

Arguments:

  • gateway: Name or ID of the gateway
  • cascade: Also delete routes targeting this gateway.
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC
let response = client.internet_gateway_delete()
   .gateway(gateway)
   .cascade(cascade)
   .project(project)
   .vpc(vpc)
   .send()
   .await;
Source

fn vpc_firewall_rules_view(&self) -> VpcFirewallRulesView<'_>

List firewall rules

Sends a GET request to /v1/vpc-firewall-rules

Arguments:

  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC
let response = client.vpc_firewall_rules_view()
   .project(project)
   .vpc(vpc)
   .send()
   .await;
Source

fn vpc_firewall_rules_update(&self) -> VpcFirewallRulesUpdate<'_>

Replace firewall rules

The maximum number of rules per VPC is 1024.

Targets are used to specify the set of instances to which a firewall rule applies. You can target instances directly by name, or specify a VPC, VPC subnet, IP, or IP subnet, which will apply the rule to traffic going to all matching instances. Targets are additive: the rule applies to instances matching ANY target. The maximum number of targets is 256.

Filters reduce the scope of a firewall rule. Without filters, the rule applies to all packets to the targets (or from the targets, if it’s an outbound rule). With multiple filters, the rule applies only to packets matching ALL filters. The maximum number of each type of filter is 256.

Sends a PUT request to /v1/vpc-firewall-rules

Arguments:

  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC
  • body
let response = client.vpc_firewall_rules_update()
   .project(project)
   .vpc(vpc)
   .body(body)
   .send()
   .await;
Source

fn vpc_router_route_list(&self) -> VpcRouterRouteList<'_>

List routes

List the routes associated with a router in a particular VPC.

Sends a GET request to /v1/vpc-router-routes

Arguments:

  • limit: Maximum number of items returned by a single call
  • page_token: Token returned by previous call to retrieve the subsequent page
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • router: Name or ID of the router
  • sort_by
  • vpc: Name or ID of the VPC, only required if router is provided as a Name
let response = client.vpc_router_route_list()
   .limit(limit)
   .page_token(page_token)
   .project(project)
   .router(router)
   .sort_by(sort_by)
   .vpc(vpc)
   .send()
   .await;
Source

fn vpc_router_route_create(&self) -> VpcRouterRouteCreate<'_>

Create route

Sends a POST request to /v1/vpc-router-routes

Arguments:

  • project: Name or ID of the project, only required if vpc is provided as a Name
  • router: Name or ID of the router
  • vpc: Name or ID of the VPC, only required if router is provided as a Name
  • body
let response = client.vpc_router_route_create()
   .project(project)
   .router(router)
   .vpc(vpc)
   .body(body)
   .send()
   .await;
Source

fn vpc_router_route_view(&self) -> VpcRouterRouteView<'_>

Fetch route

Sends a GET request to /v1/vpc-router-routes/{route}

Arguments:

  • route: Name or ID of the route
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • router: Name or ID of the router
  • vpc: Name or ID of the VPC, only required if router is provided as a Name
let response = client.vpc_router_route_view()
   .route(route)
   .project(project)
   .router(router)
   .vpc(vpc)
   .send()
   .await;
Source

fn vpc_router_route_update(&self) -> VpcRouterRouteUpdate<'_>

Update route

Sends a PUT request to /v1/vpc-router-routes/{route}

Arguments:

  • route: Name or ID of the route
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • router: Name or ID of the router
  • vpc: Name or ID of the VPC, only required if router is provided as a Name
  • body
let response = client.vpc_router_route_update()
   .route(route)
   .project(project)
   .router(router)
   .vpc(vpc)
   .body(body)
   .send()
   .await;
Source

fn vpc_router_route_delete(&self) -> VpcRouterRouteDelete<'_>

Delete route

Sends a DELETE request to /v1/vpc-router-routes/{route}

Arguments:

  • route: Name or ID of the route
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • router: Name or ID of the router
  • vpc: Name or ID of the VPC, only required if router is provided as a Name
let response = client.vpc_router_route_delete()
   .route(route)
   .project(project)
   .router(router)
   .vpc(vpc)
   .send()
   .await;
Source

fn vpc_router_list(&self) -> VpcRouterList<'_>

List routers

Sends a GET request to /v1/vpc-routers

Arguments:

  • limit: Maximum number of items returned by a single call
  • page_token: Token returned by previous call to retrieve the subsequent page
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • sort_by
  • vpc: Name or ID of the VPC
let response = client.vpc_router_list()
   .limit(limit)
   .page_token(page_token)
   .project(project)
   .sort_by(sort_by)
   .vpc(vpc)
   .send()
   .await;
Source

fn vpc_router_create(&self) -> VpcRouterCreate<'_>

Create VPC router

Sends a POST request to /v1/vpc-routers

Arguments:

  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC
  • body
let response = client.vpc_router_create()
   .project(project)
   .vpc(vpc)
   .body(body)
   .send()
   .await;
Source

fn vpc_router_view(&self) -> VpcRouterView<'_>

Fetch router

Sends a GET request to /v1/vpc-routers/{router}

Arguments:

  • router: Name or ID of the router
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC
let response = client.vpc_router_view()
   .router(router)
   .project(project)
   .vpc(vpc)
   .send()
   .await;
Source

fn vpc_router_update(&self) -> VpcRouterUpdate<'_>

Update router

Sends a PUT request to /v1/vpc-routers/{router}

Arguments:

  • router: Name or ID of the router
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC
  • body
let response = client.vpc_router_update()
   .router(router)
   .project(project)
   .vpc(vpc)
   .body(body)
   .send()
   .await;
Source

fn vpc_router_delete(&self) -> VpcRouterDelete<'_>

Delete router

Sends a DELETE request to /v1/vpc-routers/{router}

Arguments:

  • router: Name or ID of the router
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC
let response = client.vpc_router_delete()
   .router(router)
   .project(project)
   .vpc(vpc)
   .send()
   .await;
Source

fn vpc_subnet_list(&self) -> VpcSubnetList<'_>

List subnets

Sends a GET request to /v1/vpc-subnets

Arguments:

  • limit: Maximum number of items returned by a single call
  • page_token: Token returned by previous call to retrieve the subsequent page
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • sort_by
  • vpc: Name or ID of the VPC
let response = client.vpc_subnet_list()
   .limit(limit)
   .page_token(page_token)
   .project(project)
   .sort_by(sort_by)
   .vpc(vpc)
   .send()
   .await;
Source

fn vpc_subnet_create(&self) -> VpcSubnetCreate<'_>

Create subnet

Sends a POST request to /v1/vpc-subnets

Arguments:

  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC
  • body
let response = client.vpc_subnet_create()
   .project(project)
   .vpc(vpc)
   .body(body)
   .send()
   .await;
Source

fn vpc_subnet_view(&self) -> VpcSubnetView<'_>

Fetch subnet

Sends a GET request to /v1/vpc-subnets/{subnet}

Arguments:

  • subnet: Name or ID of the subnet
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC
let response = client.vpc_subnet_view()
   .subnet(subnet)
   .project(project)
   .vpc(vpc)
   .send()
   .await;
Source

fn vpc_subnet_update(&self) -> VpcSubnetUpdate<'_>

Update subnet

Sends a PUT request to /v1/vpc-subnets/{subnet}

Arguments:

  • subnet: Name or ID of the subnet
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC
  • body
let response = client.vpc_subnet_update()
   .subnet(subnet)
   .project(project)
   .vpc(vpc)
   .body(body)
   .send()
   .await;
Source

fn vpc_subnet_delete(&self) -> VpcSubnetDelete<'_>

Delete subnet

Sends a DELETE request to /v1/vpc-subnets/{subnet}

Arguments:

  • subnet: Name or ID of the subnet
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • vpc: Name or ID of the VPC
let response = client.vpc_subnet_delete()
   .subnet(subnet)
   .project(project)
   .vpc(vpc)
   .send()
   .await;
Source

fn vpc_subnet_list_network_interfaces( &self, ) -> VpcSubnetListNetworkInterfaces<'_>

List network interfaces

Sends a GET request to /v1/vpc-subnets/{subnet}/network-interfaces

Arguments:

  • subnet: Name or ID of the subnet
  • limit: Maximum number of items returned by a single call
  • page_token: Token returned by previous call to retrieve the subsequent page
  • project: Name or ID of the project, only required if vpc is provided as a Name
  • sort_by
  • vpc: Name or ID of the VPC
let response = client.vpc_subnet_list_network_interfaces()
   .subnet(subnet)
   .limit(limit)
   .page_token(page_token)
   .project(project)
   .sort_by(sort_by)
   .vpc(vpc)
   .send()
   .await;
Source

fn vpc_list(&self) -> VpcList<'_>

List VPCs

Sends a GET request to /v1/vpcs

Arguments:

  • limit: Maximum number of items returned by a single call
  • page_token: Token returned by previous call to retrieve the subsequent page
  • project: Name or ID of the project
  • sort_by
let response = client.vpc_list()
   .limit(limit)
   .page_token(page_token)
   .project(project)
   .sort_by(sort_by)
   .send()
   .await;
Source

fn vpc_create(&self) -> VpcCreate<'_>

Create VPC

Sends a POST request to /v1/vpcs

Arguments:

  • project: Name or ID of the project
  • body
let response = client.vpc_create()
   .project(project)
   .body(body)
   .send()
   .await;
Source

fn vpc_view(&self) -> VpcView<'_>

Fetch VPC

Sends a GET request to /v1/vpcs/{vpc}

Arguments:

  • vpc: Name or ID of the VPC
  • project: Name or ID of the project
let response = client.vpc_view()
   .vpc(vpc)
   .project(project)
   .send()
   .await;
Source

fn vpc_update(&self) -> VpcUpdate<'_>

Update a VPC

Sends a PUT request to /v1/vpcs/{vpc}

Arguments:

  • vpc: Name or ID of the VPC
  • project: Name or ID of the project
  • body
let response = client.vpc_update()
   .vpc(vpc)
   .project(project)
   .body(body)
   .send()
   .await;
Source

fn vpc_delete(&self) -> VpcDelete<'_>

Delete VPC

Sends a DELETE request to /v1/vpcs/{vpc}

Arguments:

  • vpc: Name or ID of the VPC
  • project: Name or ID of the project
let response = client.vpc_delete()
   .vpc(vpc)
   .project(project)
   .send()
   .await;

Implementors§