|
14 | 14 | ) |
15 | 15 | from .types import ( |
16 | 16 | ListPrivateNetworksRequestOrderBy, |
| 17 | + ListSubnetsRequestOrderBy, |
17 | 18 | ListVPCsRequestOrderBy, |
18 | 19 | AddSubnetsRequest, |
19 | 20 | AddSubnetsResponse, |
|
22 | 23 | DeleteSubnetsRequest, |
23 | 24 | DeleteSubnetsResponse, |
24 | 25 | ListPrivateNetworksResponse, |
| 26 | + ListSubnetsResponse, |
25 | 27 | ListVPCsResponse, |
26 | 28 | MigrateZonalPrivateNetworksRequest, |
27 | 29 | PrivateNetwork, |
28 | 30 | SetSubnetsRequest, |
29 | 31 | SetSubnetsResponse, |
| 32 | + Subnet, |
30 | 33 | UpdatePrivateNetworkRequest, |
31 | 34 | UpdateVPCRequest, |
32 | 35 | VPC, |
|
37 | 40 | unmarshal_AddSubnetsResponse, |
38 | 41 | unmarshal_DeleteSubnetsResponse, |
39 | 42 | unmarshal_ListPrivateNetworksResponse, |
| 43 | + unmarshal_ListSubnetsResponse, |
40 | 44 | unmarshal_ListVPCsResponse, |
41 | 45 | unmarshal_SetSubnetsResponse, |
42 | 46 | marshal_AddSubnetsRequest, |
@@ -732,6 +736,102 @@ async def enable_routing( |
732 | 736 | self._throw_on_error(res) |
733 | 737 | return unmarshal_VPC(res.json()) |
734 | 738 |
|
| 739 | + async def list_subnets( |
| 740 | + self, |
| 741 | + *, |
| 742 | + region: Optional[Region] = None, |
| 743 | + order_by: Optional[ListSubnetsRequestOrderBy] = None, |
| 744 | + page: Optional[int] = None, |
| 745 | + page_size: Optional[int] = None, |
| 746 | + organization_id: Optional[str] = None, |
| 747 | + project_id: Optional[str] = None, |
| 748 | + subnet_ids: Optional[List[str]] = None, |
| 749 | + vpc_id: Optional[str] = None, |
| 750 | + ) -> ListSubnetsResponse: |
| 751 | + """ |
| 752 | + :param region: Region to target. If none is passed will use default region from the config. |
| 753 | + :param order_by: |
| 754 | + :param page: |
| 755 | + :param page_size: |
| 756 | + :param organization_id: |
| 757 | + :param project_id: |
| 758 | + :param subnet_ids: |
| 759 | + :param vpc_id: |
| 760 | + :return: :class:`ListSubnetsResponse <ListSubnetsResponse>` |
| 761 | +
|
| 762 | + Usage: |
| 763 | + :: |
| 764 | +
|
| 765 | + result = await api.list_subnets() |
| 766 | + """ |
| 767 | + |
| 768 | + param_region = validate_path_param( |
| 769 | + "region", region or self.client.default_region |
| 770 | + ) |
| 771 | + |
| 772 | + res = self._request( |
| 773 | + "GET", |
| 774 | + f"/vpc/v2/regions/{param_region}/subnets", |
| 775 | + params={ |
| 776 | + "order_by": order_by, |
| 777 | + "organization_id": organization_id |
| 778 | + or self.client.default_organization_id, |
| 779 | + "page": page, |
| 780 | + "page_size": page_size or self.client.default_page_size, |
| 781 | + "project_id": project_id or self.client.default_project_id, |
| 782 | + "subnet_ids": subnet_ids, |
| 783 | + "vpc_id": vpc_id, |
| 784 | + }, |
| 785 | + ) |
| 786 | + |
| 787 | + self._throw_on_error(res) |
| 788 | + return unmarshal_ListSubnetsResponse(res.json()) |
| 789 | + |
| 790 | + async def list_subnets_all( |
| 791 | + self, |
| 792 | + *, |
| 793 | + region: Optional[Region] = None, |
| 794 | + order_by: Optional[ListSubnetsRequestOrderBy] = None, |
| 795 | + page: Optional[int] = None, |
| 796 | + page_size: Optional[int] = None, |
| 797 | + organization_id: Optional[str] = None, |
| 798 | + project_id: Optional[str] = None, |
| 799 | + subnet_ids: Optional[List[str]] = None, |
| 800 | + vpc_id: Optional[str] = None, |
| 801 | + ) -> List[Subnet]: |
| 802 | + """ |
| 803 | + :param region: Region to target. If none is passed will use default region from the config. |
| 804 | + :param order_by: |
| 805 | + :param page: |
| 806 | + :param page_size: |
| 807 | + :param organization_id: |
| 808 | + :param project_id: |
| 809 | + :param subnet_ids: |
| 810 | + :param vpc_id: |
| 811 | + :return: :class:`List[Subnet] <List[Subnet]>` |
| 812 | +
|
| 813 | + Usage: |
| 814 | + :: |
| 815 | +
|
| 816 | + result = await api.list_subnets_all() |
| 817 | + """ |
| 818 | + |
| 819 | + return await fetch_all_pages_async( |
| 820 | + type=ListSubnetsResponse, |
| 821 | + key="subnets", |
| 822 | + fetcher=self.list_subnets, |
| 823 | + args={ |
| 824 | + "region": region, |
| 825 | + "order_by": order_by, |
| 826 | + "page": page, |
| 827 | + "page_size": page_size, |
| 828 | + "organization_id": organization_id, |
| 829 | + "project_id": project_id, |
| 830 | + "subnet_ids": subnet_ids, |
| 831 | + "vpc_id": vpc_id, |
| 832 | + }, |
| 833 | + ) |
| 834 | + |
735 | 835 | async def set_subnets( |
736 | 836 | self, |
737 | 837 | *, |
|
0 commit comments