google-cloud-recommender 2.18.2__tar.gz → 2.20.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. {google_cloud_recommender-2.18.2/google_cloud_recommender.egg-info → google_cloud_recommender-2.20.0}/PKG-INFO +5 -2
  2. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/README.rst +1 -1
  3. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender/gapic_version.py +1 -1
  4. google_cloud_recommender-2.20.0/google/cloud/recommender_v1/__init__.py +195 -0
  5. {google_cloud_recommender-2.18.2/google/cloud/recommender_v1beta1 → google_cloud_recommender-2.20.0/google/cloud/recommender_v1}/gapic_version.py +1 -1
  6. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/async_client.py +36 -36
  7. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/client.py +68 -50
  8. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/transports/base.py +3 -2
  9. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/transports/grpc.py +14 -12
  10. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/transports/grpc_asyncio.py +14 -12
  11. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/transports/rest.py +3 -2
  12. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/types/insight_type_config.py +1 -1
  13. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/types/recommendation.py +10 -10
  14. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/types/recommender_config.py +1 -1
  15. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/types/recommender_service.py +36 -36
  16. google_cloud_recommender-2.20.0/google/cloud/recommender_v1beta1/__init__.py +202 -0
  17. {google_cloud_recommender-2.18.2/google/cloud/recommender_v1 → google_cloud_recommender-2.20.0/google/cloud/recommender_v1beta1}/gapic_version.py +1 -1
  18. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/async_client.py +31 -31
  19. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/client.py +63 -45
  20. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/transports/base.py +3 -2
  21. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/transports/grpc.py +13 -11
  22. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/transports/grpc_asyncio.py +13 -11
  23. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/transports/rest.py +3 -2
  24. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/types/insight_type_config.py +1 -1
  25. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/types/recommendation.py +10 -10
  26. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/types/recommender_config.py +1 -1
  27. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/types/recommender_service.py +30 -30
  28. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0/google_cloud_recommender.egg-info}/PKG-INFO +5 -2
  29. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google_cloud_recommender.egg-info/requires.txt +4 -0
  30. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/setup.py +3 -0
  31. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/tests/unit/gapic/recommender_v1/test_recommender.py +226 -29
  32. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/tests/unit/gapic/recommender_v1beta1/test_recommender.py +226 -29
  33. google_cloud_recommender-2.18.2/google/cloud/recommender_v1/__init__.py +0 -91
  34. google_cloud_recommender-2.18.2/google/cloud/recommender_v1beta1/__init__.py +0 -98
  35. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/LICENSE +0 -0
  36. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/MANIFEST.in +0 -0
  37. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender/__init__.py +0 -0
  38. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender/py.typed +0 -0
  39. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/gapic_metadata.json +0 -0
  40. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/py.typed +0 -0
  41. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/__init__.py +0 -0
  42. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/__init__.py +0 -0
  43. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/pagers.py +0 -0
  44. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/transports/__init__.py +0 -0
  45. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/transports/rest_base.py +0 -0
  46. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/types/__init__.py +0 -0
  47. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/types/insight.py +0 -0
  48. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/gapic_metadata.json +0 -0
  49. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/py.typed +0 -0
  50. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/__init__.py +0 -0
  51. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/__init__.py +0 -0
  52. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/pagers.py +0 -0
  53. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/transports/__init__.py +0 -0
  54. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/transports/rest_base.py +0 -0
  55. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/types/__init__.py +0 -0
  56. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/types/insight.py +0 -0
  57. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google_cloud_recommender.egg-info/SOURCES.txt +0 -0
  58. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google_cloud_recommender.egg-info/dependency_links.txt +0 -0
  59. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google_cloud_recommender.egg-info/not-zip-safe +0 -0
  60. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google_cloud_recommender.egg-info/top_level.txt +0 -0
  61. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/setup.cfg +0 -0
  62. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/tests/__init__.py +0 -0
  63. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/tests/unit/__init__.py +0 -0
  64. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/tests/unit/gapic/__init__.py +0 -0
  65. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/tests/unit/gapic/recommender_v1/__init__.py +0 -0
  66. {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/tests/unit/gapic/recommender_v1beta1/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-cloud-recommender
3
- Version: 2.18.2
3
+ Version: 2.20.0
4
4
  Summary: Google Cloud Recommender API client library
5
5
  Home-page: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-recommender
6
6
  Author: Google LLC
@@ -19,12 +19,15 @@ Classifier: Programming Language :: Python :: 3.10
19
19
  Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
21
  Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3.14
22
23
  Classifier: Operating System :: OS Independent
23
24
  Classifier: Topic :: Internet
24
25
  Requires-Python: >=3.7
25
26
  License-File: LICENSE
26
27
  Requires-Dist: google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0,>=1.34.1
27
28
  Requires-Dist: google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1
29
+ Requires-Dist: grpcio<2.0.0,>=1.33.2
30
+ Requires-Dist: grpcio<2.0.0,>=1.75.1; python_version >= "3.14"
28
31
  Requires-Dist: proto-plus<2.0.0,>=1.22.3
29
32
  Requires-Dist: proto-plus<2.0.0,>=1.25.0; python_version >= "3.13"
30
33
  Requires-Dist: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<7.0.0,>=3.20.2
@@ -103,7 +106,7 @@ Supported Python Versions
103
106
  Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
104
107
  Python.
105
108
 
106
- Python >= 3.7
109
+ Python >= 3.7, including 3.14
107
110
 
108
111
  .. _active: https://devguide.python.org/devcycle/#in-development-main-branch
109
112
  .. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
@@ -61,7 +61,7 @@ Supported Python Versions
61
61
  Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
62
62
  Python.
63
63
 
64
- Python >= 3.7
64
+ Python >= 3.7, including 3.14
65
65
 
66
66
  .. _active: https://devguide.python.org/devcycle/#in-development-main-branch
67
67
  .. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- __version__ = "2.18.2" # {x-release-please-version}
16
+ __version__ = "2.20.0" # {x-release-please-version}
@@ -0,0 +1,195 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2025 Google LLC
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ import sys
17
+
18
+ import google.api_core as api_core
19
+
20
+ from google.cloud.recommender_v1 import gapic_version as package_version
21
+
22
+ __version__ = package_version.__version__
23
+
24
+ if sys.version_info >= (3, 8): # pragma: NO COVER
25
+ from importlib import metadata
26
+ else: # pragma: NO COVER
27
+ # TODO(https://github.com/googleapis/python-api-core/issues/835): Remove
28
+ # this code path once we drop support for Python 3.7
29
+ import importlib_metadata as metadata
30
+
31
+ from .services.recommender import RecommenderAsyncClient, RecommenderClient
32
+ from .types.insight import Insight, InsightStateInfo
33
+ from .types.insight_type_config import InsightTypeConfig, InsightTypeGenerationConfig
34
+ from .types.recommendation import (
35
+ CostProjection,
36
+ Impact,
37
+ Operation,
38
+ OperationGroup,
39
+ Recommendation,
40
+ RecommendationContent,
41
+ RecommendationStateInfo,
42
+ ReliabilityProjection,
43
+ SecurityProjection,
44
+ SustainabilityProjection,
45
+ ValueMatcher,
46
+ )
47
+ from .types.recommender_config import RecommenderConfig, RecommenderGenerationConfig
48
+ from .types.recommender_service import (
49
+ GetInsightRequest,
50
+ GetInsightTypeConfigRequest,
51
+ GetRecommendationRequest,
52
+ GetRecommenderConfigRequest,
53
+ ListInsightsRequest,
54
+ ListInsightsResponse,
55
+ ListRecommendationsRequest,
56
+ ListRecommendationsResponse,
57
+ MarkInsightAcceptedRequest,
58
+ MarkRecommendationClaimedRequest,
59
+ MarkRecommendationDismissedRequest,
60
+ MarkRecommendationFailedRequest,
61
+ MarkRecommendationSucceededRequest,
62
+ UpdateInsightTypeConfigRequest,
63
+ UpdateRecommenderConfigRequest,
64
+ )
65
+
66
+ if hasattr(api_core, "check_python_version") and hasattr(
67
+ api_core, "check_dependency_versions"
68
+ ): # pragma: NO COVER
69
+ api_core.check_python_version("google.cloud.recommender_v1") # type: ignore
70
+ api_core.check_dependency_versions("google.cloud.recommender_v1") # type: ignore
71
+ else: # pragma: NO COVER
72
+ # An older version of api_core is installed which does not define the
73
+ # functions above. We do equivalent checks manually.
74
+ try:
75
+ import sys
76
+ import warnings
77
+
78
+ _py_version_str = sys.version.split()[0]
79
+ _package_label = "google.cloud.recommender_v1"
80
+ if sys.version_info < (3, 9):
81
+ warnings.warn(
82
+ "You are using a non-supported Python version "
83
+ + f"({_py_version_str}). Google will not post any further "
84
+ + f"updates to {_package_label} supporting this Python version. "
85
+ + "Please upgrade to the latest Python version, or at "
86
+ + f"least to Python 3.9, and then update {_package_label}.",
87
+ FutureWarning,
88
+ )
89
+ if sys.version_info[:2] == (3, 9):
90
+ warnings.warn(
91
+ f"You are using a Python version ({_py_version_str}) "
92
+ + f"which Google will stop supporting in {_package_label} in "
93
+ + "January 2026. Please "
94
+ + "upgrade to the latest Python version, or at "
95
+ + "least to Python 3.10, before then, and "
96
+ + f"then update {_package_label}.",
97
+ FutureWarning,
98
+ )
99
+
100
+ def parse_version_to_tuple(version_string: str):
101
+ """Safely converts a semantic version string to a comparable tuple of integers.
102
+ Example: "4.25.8" -> (4, 25, 8)
103
+ Ignores non-numeric parts and handles common version formats.
104
+ Args:
105
+ version_string: Version string in the format "x.y.z" or "x.y.z<suffix>"
106
+ Returns:
107
+ Tuple of integers for the parsed version string.
108
+ """
109
+ parts = []
110
+ for part in version_string.split("."):
111
+ try:
112
+ parts.append(int(part))
113
+ except ValueError:
114
+ # If it's a non-numeric part (e.g., '1.0.0b1' -> 'b1'), stop here.
115
+ # This is a simplification compared to 'packaging.parse_version', but sufficient
116
+ # for comparing strictly numeric semantic versions.
117
+ break
118
+ return tuple(parts)
119
+
120
+ def _get_version(dependency_name):
121
+ try:
122
+ version_string: str = metadata.version(dependency_name)
123
+ parsed_version = parse_version_to_tuple(version_string)
124
+ return (parsed_version, version_string)
125
+ except Exception:
126
+ # Catch exceptions from metadata.version() (e.g., PackageNotFoundError)
127
+ # or errors during parse_version_to_tuple
128
+ return (None, "--")
129
+
130
+ _dependency_package = "google.protobuf"
131
+ _next_supported_version = "4.25.8"
132
+ _next_supported_version_tuple = (4, 25, 8)
133
+ _recommendation = " (we recommend 6.x)"
134
+ (_version_used, _version_used_string) = _get_version(_dependency_package)
135
+ if _version_used and _version_used < _next_supported_version_tuple:
136
+ warnings.warn(
137
+ f"Package {_package_label} depends on "
138
+ + f"{_dependency_package}, currently installed at version "
139
+ + f"{_version_used_string}. Future updates to "
140
+ + f"{_package_label} will require {_dependency_package} at "
141
+ + f"version {_next_supported_version} or higher{_recommendation}."
142
+ + " Please ensure "
143
+ + "that either (a) your Python environment doesn't pin the "
144
+ + f"version of {_dependency_package}, so that updates to "
145
+ + f"{_package_label} can require the higher version, or "
146
+ + "(b) you manually update your Python environment to use at "
147
+ + f"least version {_next_supported_version} of "
148
+ + f"{_dependency_package}.",
149
+ FutureWarning,
150
+ )
151
+ except Exception:
152
+ warnings.warn(
153
+ "Could not determine the version of Python "
154
+ + "currently being used. To continue receiving "
155
+ + "updates for {_package_label}, ensure you are "
156
+ + "using a supported version of Python; see "
157
+ + "https://devguide.python.org/versions/"
158
+ )
159
+
160
+ __all__ = (
161
+ "RecommenderAsyncClient",
162
+ "CostProjection",
163
+ "GetInsightRequest",
164
+ "GetInsightTypeConfigRequest",
165
+ "GetRecommendationRequest",
166
+ "GetRecommenderConfigRequest",
167
+ "Impact",
168
+ "Insight",
169
+ "InsightStateInfo",
170
+ "InsightTypeConfig",
171
+ "InsightTypeGenerationConfig",
172
+ "ListInsightsRequest",
173
+ "ListInsightsResponse",
174
+ "ListRecommendationsRequest",
175
+ "ListRecommendationsResponse",
176
+ "MarkInsightAcceptedRequest",
177
+ "MarkRecommendationClaimedRequest",
178
+ "MarkRecommendationDismissedRequest",
179
+ "MarkRecommendationFailedRequest",
180
+ "MarkRecommendationSucceededRequest",
181
+ "Operation",
182
+ "OperationGroup",
183
+ "Recommendation",
184
+ "RecommendationContent",
185
+ "RecommendationStateInfo",
186
+ "RecommenderClient",
187
+ "RecommenderConfig",
188
+ "RecommenderGenerationConfig",
189
+ "ReliabilityProjection",
190
+ "SecurityProjection",
191
+ "SustainabilityProjection",
192
+ "UpdateInsightTypeConfigRequest",
193
+ "UpdateRecommenderConfigRequest",
194
+ "ValueMatcher",
195
+ )
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- __version__ = "2.18.2" # {x-release-please-version}
16
+ __version__ = "2.20.0" # {x-release-please-version}
@@ -329,7 +329,7 @@ class RecommenderAsyncClient:
329
329
  metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
330
330
  ) -> pagers.ListInsightsAsyncPager:
331
331
  r"""Lists insights for the specified Cloud Resource. Requires the
332
- recommender.*.list IAM permission for the specified insight
332
+ recommender.\*.list IAM permission for the specified insight
333
333
  type.
334
334
 
335
335
  .. code-block:: python
@@ -366,15 +366,15 @@ class RecommenderAsyncClient:
366
366
  Required. The container resource on which to execute the
367
367
  request. Acceptable formats:
368
368
 
369
- - ``projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
369
+ - ``projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
370
370
 
371
- - ``projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
371
+ - ``projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
372
372
 
373
- - ``billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
373
+ - ``billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
374
374
 
375
- - ``folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
375
+ - ``folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
376
376
 
377
- - ``organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
377
+ - ``organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
378
378
 
379
379
  LOCATION here refers to GCP Locations:
380
380
  https://cloud.google.com/about/locations/
@@ -469,7 +469,7 @@ class RecommenderAsyncClient:
469
469
  timeout: Union[float, object] = gapic_v1.method.DEFAULT,
470
470
  metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
471
471
  ) -> insight.Insight:
472
- r"""Gets the requested insight. Requires the recommender.*.get IAM
472
+ r"""Gets the requested insight. Requires the recommender.\*.get IAM
473
473
  permission for the specified insight type.
474
474
 
475
475
  .. code-block:: python
@@ -590,7 +590,7 @@ class RecommenderAsyncClient:
590
590
  being updated.
591
591
 
592
592
  MarkInsightAccepted can be applied to insights in ACTIVE state.
593
- Requires the recommender.*.update IAM permission for the
593
+ Requires the recommender.\*.update IAM permission for the
594
594
  specified insight.
595
595
 
596
596
  .. code-block:: python
@@ -725,7 +725,7 @@ class RecommenderAsyncClient:
725
725
  metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
726
726
  ) -> pagers.ListRecommendationsAsyncPager:
727
727
  r"""Lists recommendations for the specified Cloud Resource. Requires
728
- the recommender.*.list IAM permission for the specified
728
+ the recommender.\*.list IAM permission for the specified
729
729
  recommender.
730
730
 
731
731
  .. code-block:: python
@@ -762,15 +762,15 @@ class RecommenderAsyncClient:
762
762
  Required. The container resource on which to execute the
763
763
  request. Acceptable formats:
764
764
 
765
- - ``projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
765
+ - ``projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
766
766
 
767
- - ``projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
767
+ - ``projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
768
768
 
769
- - ``billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
769
+ - ``billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
770
770
 
771
- - ``folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
771
+ - ``folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
772
772
 
773
- - ``organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
773
+ - ``organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
774
774
 
775
775
  LOCATION here refers to GCP Locations:
776
776
  https://cloud.google.com/about/locations/ RECOMMENDER_ID
@@ -784,25 +784,25 @@ class RecommenderAsyncClient:
784
784
  Filter expression to restrict the recommendations
785
785
  returned. Supported filter fields:
786
786
 
787
- - ``state_info.state``
787
+ - ``state_info.state``
788
788
 
789
- - ``recommenderSubtype``
789
+ - ``recommenderSubtype``
790
790
 
791
- - ``priority``
791
+ - ``priority``
792
792
 
793
- - ``targetResources``
793
+ - ``targetResources``
794
794
 
795
795
  Examples:
796
796
 
797
- - ``stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED``
797
+ - ``stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED``
798
798
 
799
- - ``recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE``
799
+ - ``recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE``
800
800
 
801
- - ``priority = P1 OR priority = P2``
801
+ - ``priority = P1 OR priority = P2``
802
802
 
803
- - ``targetResources : //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1``
803
+ - ``targetResources : //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1``
804
804
 
805
- - ``stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)``
805
+ - ``stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)``
806
806
 
807
807
  The max allowed filter length is 500 characters.
808
808
 
@@ -902,7 +902,7 @@ class RecommenderAsyncClient:
902
902
  metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
903
903
  ) -> recommendation.Recommendation:
904
904
  r"""Gets the requested recommendation. Requires the
905
- recommender.*.get IAM permission for the specified recommender.
905
+ recommender.\*.get IAM permission for the specified recommender.
906
906
 
907
907
  .. code-block:: python
908
908
 
@@ -1020,7 +1020,7 @@ class RecommenderAsyncClient:
1020
1020
  MarkRecommendationDismissed can be applied to recommendations in
1021
1021
  ACTIVE state.
1022
1022
 
1023
- Requires the recommender.*.update IAM permission for the
1023
+ Requires the recommender.\*.update IAM permission for the
1024
1024
  specified recommender.
1025
1025
 
1026
1026
  .. code-block:: python
@@ -1124,7 +1124,7 @@ class RecommenderAsyncClient:
1124
1124
  MarkRecommendationClaimed can be applied to recommendations in
1125
1125
  CLAIMED, SUCCEEDED, FAILED, or ACTIVE state.
1126
1126
 
1127
- Requires the recommender.*.update IAM permission for the
1127
+ Requires the recommender.\*.update IAM permission for the
1128
1128
  specified recommender.
1129
1129
 
1130
1130
  .. code-block:: python
@@ -1273,7 +1273,7 @@ class RecommenderAsyncClient:
1273
1273
  MarkRecommendationSucceeded can be applied to recommendations in
1274
1274
  ACTIVE, CLAIMED, SUCCEEDED, or FAILED state.
1275
1275
 
1276
- Requires the recommender.*.update IAM permission for the
1276
+ Requires the recommender.\*.update IAM permission for the
1277
1277
  specified recommender.
1278
1278
 
1279
1279
  .. code-block:: python
@@ -1422,7 +1422,7 @@ class RecommenderAsyncClient:
1422
1422
  MarkRecommendationFailed can be applied to recommendations in
1423
1423
  ACTIVE, CLAIMED, SUCCEEDED, or FAILED state.
1424
1424
 
1425
- Requires the recommender.*.update IAM permission for the
1425
+ Requires the recommender.\*.update IAM permission for the
1426
1426
  specified recommender.
1427
1427
 
1428
1428
  .. code-block:: python
@@ -1595,13 +1595,13 @@ class RecommenderAsyncClient:
1595
1595
 
1596
1596
  Acceptable formats:
1597
1597
 
1598
- - ``projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config``
1598
+ - ``projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config``
1599
1599
 
1600
- - ``projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config``
1600
+ - ``projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config``
1601
1601
 
1602
- - ``organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config``
1602
+ - ``organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config``
1603
1603
 
1604
- - ``billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config``
1604
+ - ``billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config``
1605
1605
 
1606
1606
  This corresponds to the ``name`` field
1607
1607
  on the ``request`` instance; if ``request`` is provided, this
@@ -1835,13 +1835,13 @@ class RecommenderAsyncClient:
1835
1835
 
1836
1836
  Acceptable formats:
1837
1837
 
1838
- - ``projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config``
1838
+ - ``projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config``
1839
1839
 
1840
- - ``projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config``
1840
+ - ``projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config``
1841
1841
 
1842
- - ``organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config``
1842
+ - ``organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config``
1843
1843
 
1844
- - ``billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config``
1844
+ - ``billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config``
1845
1845
 
1846
1846
  This corresponds to the ``name`` field
1847
1847
  on the ``request`` instance; if ``request`` is provided, this