|
23 | 23 | EphemeralProperties, |
24 | 24 | ListSecretVersionsResponse, |
25 | 25 | ListSecretsResponse, |
| 26 | + ListTagsResponse, |
26 | 27 | Secret, |
27 | 28 | SecretVersion, |
28 | 29 | CreateSecretRequest, |
|
43 | 44 | unmarshal_BrowseSecretsResponse, |
44 | 45 | unmarshal_ListSecretVersionsResponse, |
45 | 46 | unmarshal_ListSecretsResponse, |
| 47 | + unmarshal_ListTagsResponse, |
46 | 48 | ) |
47 | 49 |
|
48 | 50 |
|
@@ -911,3 +913,78 @@ async def disable_secret_version( |
911 | 913 |
|
912 | 914 | self._throw_on_error(res) |
913 | 915 | return unmarshal_SecretVersion(res.json()) |
| 916 | + |
| 917 | + async def list_tags( |
| 918 | + self, |
| 919 | + *, |
| 920 | + region: Optional[Region] = None, |
| 921 | + project_id: Optional[str] = None, |
| 922 | + page: Optional[int] = None, |
| 923 | + page_size: Optional[int] = None, |
| 924 | + ) -> ListTagsResponse: |
| 925 | + """ |
| 926 | + List tags. |
| 927 | + List all tags associated with secrets within a given Project. |
| 928 | + :param region: Region to target. If none is passed will use default region from the config. |
| 929 | + :param project_id: ID of the Project to target. |
| 930 | + :param page: |
| 931 | + :param page_size: |
| 932 | + :return: :class:`ListTagsResponse <ListTagsResponse>` |
| 933 | +
|
| 934 | + Usage: |
| 935 | + :: |
| 936 | +
|
| 937 | + result = await api.list_tags() |
| 938 | + """ |
| 939 | + |
| 940 | + param_region = validate_path_param( |
| 941 | + "region", region or self.client.default_region |
| 942 | + ) |
| 943 | + |
| 944 | + res = self._request( |
| 945 | + "GET", |
| 946 | + f"/secret-manager/v1beta1/regions/{param_region}/tags", |
| 947 | + params={ |
| 948 | + "page": page, |
| 949 | + "page_size": page_size or self.client.default_page_size, |
| 950 | + "project_id": project_id or self.client.default_project_id, |
| 951 | + }, |
| 952 | + ) |
| 953 | + |
| 954 | + self._throw_on_error(res) |
| 955 | + return unmarshal_ListTagsResponse(res.json()) |
| 956 | + |
| 957 | + async def list_tags_all( |
| 958 | + self, |
| 959 | + *, |
| 960 | + region: Optional[Region] = None, |
| 961 | + project_id: Optional[str] = None, |
| 962 | + page: Optional[int] = None, |
| 963 | + page_size: Optional[int] = None, |
| 964 | + ) -> List[str]: |
| 965 | + """ |
| 966 | + List tags. |
| 967 | + List all tags associated with secrets within a given Project. |
| 968 | + :param region: Region to target. If none is passed will use default region from the config. |
| 969 | + :param project_id: ID of the Project to target. |
| 970 | + :param page: |
| 971 | + :param page_size: |
| 972 | + :return: :class:`List[ListTagsResponse] <List[ListTagsResponse]>` |
| 973 | +
|
| 974 | + Usage: |
| 975 | + :: |
| 976 | +
|
| 977 | + result = await api.list_tags_all() |
| 978 | + """ |
| 979 | + |
| 980 | + return await fetch_all_pages_async( |
| 981 | + type=ListTagsResponse, |
| 982 | + key="tags", |
| 983 | + fetcher=self.list_tags, |
| 984 | + args={ |
| 985 | + "region": region, |
| 986 | + "project_id": project_id, |
| 987 | + "page": page, |
| 988 | + "page_size": page_size, |
| 989 | + }, |
| 990 | + ) |
0 commit comments