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.
- {google_cloud_recommender-2.18.2/google_cloud_recommender.egg-info → google_cloud_recommender-2.20.0}/PKG-INFO +5 -2
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/README.rst +1 -1
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender/gapic_version.py +1 -1
- google_cloud_recommender-2.20.0/google/cloud/recommender_v1/__init__.py +195 -0
- {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
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/async_client.py +36 -36
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/client.py +68 -50
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/transports/base.py +3 -2
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/transports/grpc.py +14 -12
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/transports/grpc_asyncio.py +14 -12
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/transports/rest.py +3 -2
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/types/insight_type_config.py +1 -1
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/types/recommendation.py +10 -10
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/types/recommender_config.py +1 -1
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/types/recommender_service.py +36 -36
- google_cloud_recommender-2.20.0/google/cloud/recommender_v1beta1/__init__.py +202 -0
- {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
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/async_client.py +31 -31
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/client.py +63 -45
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/transports/base.py +3 -2
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/transports/grpc.py +13 -11
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/transports/grpc_asyncio.py +13 -11
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/transports/rest.py +3 -2
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/types/insight_type_config.py +1 -1
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/types/recommendation.py +10 -10
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/types/recommender_config.py +1 -1
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/types/recommender_service.py +30 -30
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0/google_cloud_recommender.egg-info}/PKG-INFO +5 -2
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google_cloud_recommender.egg-info/requires.txt +4 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/setup.py +3 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/tests/unit/gapic/recommender_v1/test_recommender.py +226 -29
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/tests/unit/gapic/recommender_v1beta1/test_recommender.py +226 -29
- google_cloud_recommender-2.18.2/google/cloud/recommender_v1/__init__.py +0 -91
- google_cloud_recommender-2.18.2/google/cloud/recommender_v1beta1/__init__.py +0 -98
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/LICENSE +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/MANIFEST.in +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender/__init__.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender/py.typed +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/gapic_metadata.json +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/py.typed +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/__init__.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/__init__.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/pagers.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/transports/__init__.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/services/recommender/transports/rest_base.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/types/__init__.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1/types/insight.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/gapic_metadata.json +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/py.typed +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/__init__.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/__init__.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/pagers.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/transports/__init__.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/services/recommender/transports/rest_base.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/types/__init__.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google/cloud/recommender_v1beta1/types/insight.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google_cloud_recommender.egg-info/SOURCES.txt +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google_cloud_recommender.egg-info/dependency_links.txt +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google_cloud_recommender.egg-info/not-zip-safe +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/google_cloud_recommender.egg-info/top_level.txt +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/setup.cfg +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/tests/__init__.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/tests/unit/__init__.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/tests/unit/gapic/__init__.py +0 -0
- {google_cloud_recommender-2.18.2 → google_cloud_recommender-2.20.0}/tests/unit/gapic/recommender_v1/__init__.py +0 -0
- {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.
|
|
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
|
|
@@ -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
|
+
)
|
|
@@ -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
|
|
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
|
-
-
|
|
369
|
+
- ``projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
|
|
370
370
|
|
|
371
|
-
-
|
|
371
|
+
- ``projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
|
|
372
372
|
|
|
373
|
-
-
|
|
373
|
+
- ``billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
|
|
374
374
|
|
|
375
|
-
-
|
|
375
|
+
- ``folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]``
|
|
376
376
|
|
|
377
|
-
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
-
|
|
765
|
+
- ``projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
|
|
766
766
|
|
|
767
|
-
-
|
|
767
|
+
- ``projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
|
|
768
768
|
|
|
769
|
-
-
|
|
769
|
+
- ``billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
|
|
770
770
|
|
|
771
|
-
-
|
|
771
|
+
- ``folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]``
|
|
772
772
|
|
|
773
|
-
-
|
|
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
|
-
-
|
|
787
|
+
- ``state_info.state``
|
|
788
788
|
|
|
789
|
-
-
|
|
789
|
+
- ``recommenderSubtype``
|
|
790
790
|
|
|
791
|
-
-
|
|
791
|
+
- ``priority``
|
|
792
792
|
|
|
793
|
-
-
|
|
793
|
+
- ``targetResources``
|
|
794
794
|
|
|
795
795
|
Examples:
|
|
796
796
|
|
|
797
|
-
-
|
|
797
|
+
- ``stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED``
|
|
798
798
|
|
|
799
|
-
-
|
|
799
|
+
- ``recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE``
|
|
800
800
|
|
|
801
|
-
-
|
|
801
|
+
- ``priority = P1 OR priority = P2``
|
|
802
802
|
|
|
803
|
-
-
|
|
803
|
+
- ``targetResources : //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1``
|
|
804
804
|
|
|
805
|
-
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
-
|
|
1598
|
+
- ``projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config``
|
|
1599
1599
|
|
|
1600
|
-
-
|
|
1600
|
+
- ``projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config``
|
|
1601
1601
|
|
|
1602
|
-
-
|
|
1602
|
+
- ``organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config``
|
|
1603
1603
|
|
|
1604
|
-
-
|
|
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
|
-
-
|
|
1838
|
+
- ``projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config``
|
|
1839
1839
|
|
|
1840
|
-
-
|
|
1840
|
+
- ``projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config``
|
|
1841
1841
|
|
|
1842
|
-
-
|
|
1842
|
+
- ``organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config``
|
|
1843
1843
|
|
|
1844
|
-
-
|
|
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
|