blob: 77c4cf307ee84d2dc61c1278584ae80321e17518 [file] [log] [blame]
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="recommender_v1.html">Recommender API</a> . <a href="recommender_v1.projects.html">projects</a> . <a href="recommender_v1.projects.locations.html">locations</a> . <a href="recommender_v1.projects.locations.recommenders.html">recommenders</a> . <a href="recommender_v1.projects.locations.recommenders.recommendations.html">recommendations</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070078 <code><a href="#close">close()</a></code></p>
79<p class="firstline">Close httplib2 connections.</p>
Bu Sun Kimd059ad82020-07-22 17:02:09 -070080<p class="toc_element">
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070081 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
82<p class="firstline">Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.</p>
83<p class="toc_element">
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -080084 <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
yoshi-code-bot4c9ccb02021-05-27 00:38:02 -070085<p class="firstline">Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.</p>
Bu Sun Kimd059ad82020-07-22 17:02:09 -070086<p class="toc_element">
87 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
88<p class="firstline">Retrieves the next page of results.</p>
89<p class="toc_element">
90 <code><a href="#markClaimed">markClaimed(name, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070091<p class="firstline">Marks the Recommendation State as Claimed. Users can use this method to indicate to the Recommender API that they are starting to apply the recommendation themselves. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationClaimed can be applied to recommendations in CLAIMED, SUCCEEDED, FAILED, or ACTIVE state. Requires the recommender.*.update IAM permission for the specified recommender.</p>
Bu Sun Kimd059ad82020-07-22 17:02:09 -070092<p class="toc_element">
93 <code><a href="#markFailed">markFailed(name, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070094<p class="firstline">Marks the Recommendation State as Failed. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation failed. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationFailed can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender.</p>
Bu Sun Kimd059ad82020-07-22 17:02:09 -070095<p class="toc_element">
96 <code><a href="#markSucceeded">markSucceeded(name, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070097<p class="firstline">Marks the Recommendation State as Succeeded. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation was successful. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationSucceeded can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender.</p>
Bu Sun Kimd059ad82020-07-22 17:02:09 -070098<h3>Method Details</h3>
99<div class="method">
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700100 <code class="details" id="close">close()</code>
101 <pre>Close httplib2 connections.</pre>
102</div>
103
104<div class="method">
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700105 <code class="details" id="get">get(name, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700106 <pre>Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700107
108Args:
109 name: string, Required. Name of the recommendation. (required)
110 x__xgafv: string, V1 error format.
111 Allowed values
112 1 - v1 error format
113 2 - v2 error format
114
115Returns:
116 An object of the form:
117
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700118 { # A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800119 &quot;additionalImpact&quot;: [ # Optional set of additional impact that this recommendation may have when trying to optimize for the primary category. These may be positive or negative.
120 { # Contains the impact a recommendation can have for a given category.
121 &quot;category&quot;: &quot;A String&quot;, # Category that is being targeted.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800122 &quot;costProjection&quot;: { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
123 &quot;cost&quot;: { # Represents an amount of money with its currency type. # An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800124 &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800125 &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800126 &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
Bu Sun Kim673ec5c2020-11-16 11:05:03 -0700127 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800128 &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800129 },
yoshi-code-botc2cd3262021-05-16 02:16:04 -0700130 &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
131 &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
132 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
133 },
134 },
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800135 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800136 ],
137 &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
138 { # Reference to an associated insight.
139 &quot;insight&quot;: &quot;A String&quot;, # Insight resource name, e.g. projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
140 },
141 ],
142 &quot;content&quot;: { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
143 &quot;operationGroups&quot;: [ # Operations to one or more Google Cloud resources grouped in such a way that, all operations within one group are expected to be performed atomically and in an order.
144 { # Group of operations that need to be performed atomically.
145 &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
146 { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
yoshi-code-bot4c9ccb02021-05-27 00:38:02 -0700147 &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800148 &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
149 &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
150 &quot;a_key&quot;: &quot;&quot;,
151 },
yoshi-code-bot69706592021-03-03 03:54:02 -0800152 &quot;pathValueMatchers&quot;: { # Similar to path_filters, this contains set of filters to apply if `path` field refers to array elements. This is meant to support value matching beyond exact match. To perform exact match, use path_filters. When both path_filters and path_value_matchers are set, an implicit AND must be performed.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800153 &quot;a_key&quot;: { # Contains various matching options for values for a GCP resource field.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800154 &quot;matchesPattern&quot;: &quot;A String&quot;, # To be used for full regex matching. The regular expression is using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be used with RE2::FullMatch
155 },
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800156 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800157 &quot;resource&quot;: &quot;A String&quot;, # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
158 &quot;resourceType&quot;: &quot;A String&quot;, # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
159 &quot;sourcePath&quot;: &quot;A String&quot;, # Can be set with action &#x27;copy&#x27; or &#x27;move&#x27; to indicate the source field within resource or source_resource, ignored if provided for other operation types.
160 &quot;sourceResource&quot;: &quot;A String&quot;, # Can be set with action &#x27;copy&#x27; to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = &#x27;copy&#x27;, path = &quot;/&quot;, from = &quot;/&quot;, source_resource = and resource_name = . This field is empty for all other values of `action`.
161 &quot;value&quot;: &quot;&quot;, # Value for the `path` field. Will be set for actions:&#x27;add&#x27;/&#x27;replace&#x27;. Maybe set for action: &#x27;test&#x27;. Either this or `value_matcher` will be set for &#x27;test&#x27; operation. An exact match must be performed.
162 &quot;valueMatcher&quot;: { # Contains various matching options for values for a GCP resource field. # Can be set for action &#x27;test&#x27; for advanced matching for the value of &#x27;path&#x27; field. Either this or `value` will be set for &#x27;test&#x27; operation.
163 &quot;matchesPattern&quot;: &quot;A String&quot;, # To be used for full regex matching. The regular expression is using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be used with RE2::FullMatch
164 },
165 },
166 ],
167 },
168 ],
yoshi-code-bot3e4b5db2021-08-10 00:22:29 -0700169 &quot;overview&quot;: { # Condensed overview information about the recommendation.
170 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
171 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800172 },
173 &quot;description&quot;: &quot;A String&quot;, # Free-form human readable summary in English. The maximum length is 500 characters.
174 &quot;etag&quot;: &quot;A String&quot;, # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
175 &quot;lastRefreshTime&quot;: &quot;A String&quot;, # Last time this recommendation was refreshed by the system that created it in the first place.
176 &quot;name&quot;: &quot;A String&quot;, # Name of recommendation.
177 &quot;primaryImpact&quot;: { # Contains the impact a recommendation can have for a given category. # The primary impact that this recommendation can have while trying to optimize for one category.
178 &quot;category&quot;: &quot;A String&quot;, # Category that is being targeted.
179 &quot;costProjection&quot;: { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
180 &quot;cost&quot;: { # Represents an amount of money with its currency type. # An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units.
181 &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
182 &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
183 &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
184 },
185 &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800186 },
yoshi-code-botc2cd3262021-05-16 02:16:04 -0700187 &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
188 &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
189 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
190 },
191 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800192 },
yoshi-code-botbfa2f1c2021-05-08 07:21:27 -0700193 &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800194 &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
195 &quot;stateInfo&quot;: { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
196 &quot;state&quot;: &quot;A String&quot;, # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
197 &quot;stateMetadata&quot;: { # A map of metadata for the state, provided by user or automations systems.
198 &quot;a_key&quot;: &quot;A String&quot;,
199 },
200 },
201}</pre>
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700202</div>
203
204<div class="method">
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800205 <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
yoshi-code-bot4c9ccb02021-05-27 00:38:02 -0700206 <pre>Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700207
208Args:
yoshi-code-bot04bafe12021-06-29 00:20:25 -0700209 parent: string, Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
yoshi-code-botc2cd3262021-05-16 02:16:04 -0700210 filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800211 pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
212 pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700213 x__xgafv: string, V1 error format.
214 Allowed values
215 1 - v1 error format
216 2 - v2 error format
217
218Returns:
219 An object of the form:
220
221 { # Response to the `ListRecommendations` method.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800222 &quot;nextPageToken&quot;: &quot;A String&quot;, # A token that can be used to request the next page of results. This field is empty if there are no additional results.
223 &quot;recommendations&quot;: [ # The set of recommendations for the `parent` resource.
224 { # A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc
225 &quot;additionalImpact&quot;: [ # Optional set of additional impact that this recommendation may have when trying to optimize for the primary category. These may be positive or negative.
226 { # Contains the impact a recommendation can have for a given category.
227 &quot;category&quot;: &quot;A String&quot;, # Category that is being targeted.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800228 &quot;costProjection&quot;: { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
229 &quot;cost&quot;: { # Represents an amount of money with its currency type. # An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800230 &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800231 &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800232 &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
Bu Sun Kim673ec5c2020-11-16 11:05:03 -0700233 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800234 &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800235 },
yoshi-code-botc2cd3262021-05-16 02:16:04 -0700236 &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
237 &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
238 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
239 },
240 },
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800241 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800242 ],
243 &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
244 { # Reference to an associated insight.
245 &quot;insight&quot;: &quot;A String&quot;, # Insight resource name, e.g. projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
246 },
247 ],
248 &quot;content&quot;: { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
249 &quot;operationGroups&quot;: [ # Operations to one or more Google Cloud resources grouped in such a way that, all operations within one group are expected to be performed atomically and in an order.
250 { # Group of operations that need to be performed atomically.
251 &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
252 { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
yoshi-code-bot4c9ccb02021-05-27 00:38:02 -0700253 &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800254 &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
255 &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
256 &quot;a_key&quot;: &quot;&quot;,
257 },
yoshi-code-bot69706592021-03-03 03:54:02 -0800258 &quot;pathValueMatchers&quot;: { # Similar to path_filters, this contains set of filters to apply if `path` field refers to array elements. This is meant to support value matching beyond exact match. To perform exact match, use path_filters. When both path_filters and path_value_matchers are set, an implicit AND must be performed.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800259 &quot;a_key&quot;: { # Contains various matching options for values for a GCP resource field.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800260 &quot;matchesPattern&quot;: &quot;A String&quot;, # To be used for full regex matching. The regular expression is using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be used with RE2::FullMatch
261 },
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800262 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800263 &quot;resource&quot;: &quot;A String&quot;, # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
264 &quot;resourceType&quot;: &quot;A String&quot;, # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
265 &quot;sourcePath&quot;: &quot;A String&quot;, # Can be set with action &#x27;copy&#x27; or &#x27;move&#x27; to indicate the source field within resource or source_resource, ignored if provided for other operation types.
266 &quot;sourceResource&quot;: &quot;A String&quot;, # Can be set with action &#x27;copy&#x27; to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = &#x27;copy&#x27;, path = &quot;/&quot;, from = &quot;/&quot;, source_resource = and resource_name = . This field is empty for all other values of `action`.
267 &quot;value&quot;: &quot;&quot;, # Value for the `path` field. Will be set for actions:&#x27;add&#x27;/&#x27;replace&#x27;. Maybe set for action: &#x27;test&#x27;. Either this or `value_matcher` will be set for &#x27;test&#x27; operation. An exact match must be performed.
268 &quot;valueMatcher&quot;: { # Contains various matching options for values for a GCP resource field. # Can be set for action &#x27;test&#x27; for advanced matching for the value of &#x27;path&#x27; field. Either this or `value` will be set for &#x27;test&#x27; operation.
269 &quot;matchesPattern&quot;: &quot;A String&quot;, # To be used for full regex matching. The regular expression is using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be used with RE2::FullMatch
270 },
271 },
272 ],
273 },
274 ],
yoshi-code-bot3e4b5db2021-08-10 00:22:29 -0700275 &quot;overview&quot;: { # Condensed overview information about the recommendation.
276 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
277 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700278 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800279 &quot;description&quot;: &quot;A String&quot;, # Free-form human readable summary in English. The maximum length is 500 characters.
280 &quot;etag&quot;: &quot;A String&quot;, # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
281 &quot;lastRefreshTime&quot;: &quot;A String&quot;, # Last time this recommendation was refreshed by the system that created it in the first place.
282 &quot;name&quot;: &quot;A String&quot;, # Name of recommendation.
283 &quot;primaryImpact&quot;: { # Contains the impact a recommendation can have for a given category. # The primary impact that this recommendation can have while trying to optimize for one category.
284 &quot;category&quot;: &quot;A String&quot;, # Category that is being targeted.
285 &quot;costProjection&quot;: { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
286 &quot;cost&quot;: { # Represents an amount of money with its currency type. # An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units.
287 &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
288 &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
289 &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
290 },
291 &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
292 },
yoshi-code-botc2cd3262021-05-16 02:16:04 -0700293 &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
294 &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
295 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
296 },
297 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800298 },
yoshi-code-botbfa2f1c2021-05-08 07:21:27 -0700299 &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800300 &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
301 &quot;stateInfo&quot;: { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
302 &quot;state&quot;: &quot;A String&quot;, # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
303 &quot;stateMetadata&quot;: { # A map of metadata for the state, provided by user or automations systems.
304 &quot;a_key&quot;: &quot;A String&quot;,
305 },
306 },
307 },
308 ],
309}</pre>
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700310</div>
311
312<div class="method">
313 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
314 <pre>Retrieves the next page of results.
315
316Args:
317 previous_request: The request for the previous page. (required)
318 previous_response: The response from the request for the previous page. (required)
319
320Returns:
321 A request object that you can call &#x27;execute()&#x27; on to request the next
322 page. Returns None if there are no more items in the collection.
323 </pre>
324</div>
325
326<div class="method">
327 <code class="details" id="markClaimed">markClaimed(name, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700328 <pre>Marks the Recommendation State as Claimed. Users can use this method to indicate to the Recommender API that they are starting to apply the recommendation themselves. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationClaimed can be applied to recommendations in CLAIMED, SUCCEEDED, FAILED, or ACTIVE state. Requires the recommender.*.update IAM permission for the specified recommender.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700329
330Args:
331 name: string, Required. Name of the recommendation. (required)
332 body: object, The request body.
333 The object takes the form of:
334
335{ # Request for the `MarkRecommendationClaimed` Method.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800336 &quot;etag&quot;: &quot;A String&quot;, # Required. Fingerprint of the Recommendation. Provides optimistic locking.
337 &quot;stateMetadata&quot;: { # State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.
338 &quot;a_key&quot;: &quot;A String&quot;,
339 },
340}
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700341
342 x__xgafv: string, V1 error format.
343 Allowed values
344 1 - v1 error format
345 2 - v2 error format
346
347Returns:
348 An object of the form:
349
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700350 { # A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800351 &quot;additionalImpact&quot;: [ # Optional set of additional impact that this recommendation may have when trying to optimize for the primary category. These may be positive or negative.
352 { # Contains the impact a recommendation can have for a given category.
353 &quot;category&quot;: &quot;A String&quot;, # Category that is being targeted.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800354 &quot;costProjection&quot;: { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
355 &quot;cost&quot;: { # Represents an amount of money with its currency type. # An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800356 &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800357 &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800358 &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
Bu Sun Kim673ec5c2020-11-16 11:05:03 -0700359 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800360 &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800361 },
yoshi-code-botc2cd3262021-05-16 02:16:04 -0700362 &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
363 &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
364 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
365 },
366 },
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800367 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800368 ],
369 &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
370 { # Reference to an associated insight.
371 &quot;insight&quot;: &quot;A String&quot;, # Insight resource name, e.g. projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
372 },
373 ],
374 &quot;content&quot;: { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
375 &quot;operationGroups&quot;: [ # Operations to one or more Google Cloud resources grouped in such a way that, all operations within one group are expected to be performed atomically and in an order.
376 { # Group of operations that need to be performed atomically.
377 &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
378 { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
yoshi-code-bot4c9ccb02021-05-27 00:38:02 -0700379 &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800380 &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
381 &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
382 &quot;a_key&quot;: &quot;&quot;,
383 },
yoshi-code-bot69706592021-03-03 03:54:02 -0800384 &quot;pathValueMatchers&quot;: { # Similar to path_filters, this contains set of filters to apply if `path` field refers to array elements. This is meant to support value matching beyond exact match. To perform exact match, use path_filters. When both path_filters and path_value_matchers are set, an implicit AND must be performed.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800385 &quot;a_key&quot;: { # Contains various matching options for values for a GCP resource field.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800386 &quot;matchesPattern&quot;: &quot;A String&quot;, # To be used for full regex matching. The regular expression is using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be used with RE2::FullMatch
387 },
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800388 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800389 &quot;resource&quot;: &quot;A String&quot;, # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
390 &quot;resourceType&quot;: &quot;A String&quot;, # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
391 &quot;sourcePath&quot;: &quot;A String&quot;, # Can be set with action &#x27;copy&#x27; or &#x27;move&#x27; to indicate the source field within resource or source_resource, ignored if provided for other operation types.
392 &quot;sourceResource&quot;: &quot;A String&quot;, # Can be set with action &#x27;copy&#x27; to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = &#x27;copy&#x27;, path = &quot;/&quot;, from = &quot;/&quot;, source_resource = and resource_name = . This field is empty for all other values of `action`.
393 &quot;value&quot;: &quot;&quot;, # Value for the `path` field. Will be set for actions:&#x27;add&#x27;/&#x27;replace&#x27;. Maybe set for action: &#x27;test&#x27;. Either this or `value_matcher` will be set for &#x27;test&#x27; operation. An exact match must be performed.
394 &quot;valueMatcher&quot;: { # Contains various matching options for values for a GCP resource field. # Can be set for action &#x27;test&#x27; for advanced matching for the value of &#x27;path&#x27; field. Either this or `value` will be set for &#x27;test&#x27; operation.
395 &quot;matchesPattern&quot;: &quot;A String&quot;, # To be used for full regex matching. The regular expression is using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be used with RE2::FullMatch
396 },
397 },
398 ],
399 },
400 ],
yoshi-code-bot3e4b5db2021-08-10 00:22:29 -0700401 &quot;overview&quot;: { # Condensed overview information about the recommendation.
402 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
403 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800404 },
405 &quot;description&quot;: &quot;A String&quot;, # Free-form human readable summary in English. The maximum length is 500 characters.
406 &quot;etag&quot;: &quot;A String&quot;, # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
407 &quot;lastRefreshTime&quot;: &quot;A String&quot;, # Last time this recommendation was refreshed by the system that created it in the first place.
408 &quot;name&quot;: &quot;A String&quot;, # Name of recommendation.
409 &quot;primaryImpact&quot;: { # Contains the impact a recommendation can have for a given category. # The primary impact that this recommendation can have while trying to optimize for one category.
410 &quot;category&quot;: &quot;A String&quot;, # Category that is being targeted.
411 &quot;costProjection&quot;: { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
412 &quot;cost&quot;: { # Represents an amount of money with its currency type. # An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units.
413 &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
414 &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
415 &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
416 },
417 &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800418 },
yoshi-code-botc2cd3262021-05-16 02:16:04 -0700419 &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
420 &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
421 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
422 },
423 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800424 },
yoshi-code-botbfa2f1c2021-05-08 07:21:27 -0700425 &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800426 &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
427 &quot;stateInfo&quot;: { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
428 &quot;state&quot;: &quot;A String&quot;, # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
429 &quot;stateMetadata&quot;: { # A map of metadata for the state, provided by user or automations systems.
430 &quot;a_key&quot;: &quot;A String&quot;,
431 },
432 },
433}</pre>
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700434</div>
435
436<div class="method">
437 <code class="details" id="markFailed">markFailed(name, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700438 <pre>Marks the Recommendation State as Failed. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation failed. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationFailed can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700439
440Args:
441 name: string, Required. Name of the recommendation. (required)
442 body: object, The request body.
443 The object takes the form of:
444
445{ # Request for the `MarkRecommendationFailed` Method.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800446 &quot;etag&quot;: &quot;A String&quot;, # Required. Fingerprint of the Recommendation. Provides optimistic locking.
447 &quot;stateMetadata&quot;: { # State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.
448 &quot;a_key&quot;: &quot;A String&quot;,
449 },
450}
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700451
452 x__xgafv: string, V1 error format.
453 Allowed values
454 1 - v1 error format
455 2 - v2 error format
456
457Returns:
458 An object of the form:
459
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700460 { # A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800461 &quot;additionalImpact&quot;: [ # Optional set of additional impact that this recommendation may have when trying to optimize for the primary category. These may be positive or negative.
462 { # Contains the impact a recommendation can have for a given category.
463 &quot;category&quot;: &quot;A String&quot;, # Category that is being targeted.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800464 &quot;costProjection&quot;: { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
465 &quot;cost&quot;: { # Represents an amount of money with its currency type. # An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800466 &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800467 &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800468 &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
Bu Sun Kim673ec5c2020-11-16 11:05:03 -0700469 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800470 &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800471 },
yoshi-code-botc2cd3262021-05-16 02:16:04 -0700472 &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
473 &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
474 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
475 },
476 },
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800477 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800478 ],
479 &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
480 { # Reference to an associated insight.
481 &quot;insight&quot;: &quot;A String&quot;, # Insight resource name, e.g. projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
482 },
483 ],
484 &quot;content&quot;: { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
485 &quot;operationGroups&quot;: [ # Operations to one or more Google Cloud resources grouped in such a way that, all operations within one group are expected to be performed atomically and in an order.
486 { # Group of operations that need to be performed atomically.
487 &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
488 { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
yoshi-code-bot4c9ccb02021-05-27 00:38:02 -0700489 &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800490 &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
491 &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
492 &quot;a_key&quot;: &quot;&quot;,
493 },
yoshi-code-bot69706592021-03-03 03:54:02 -0800494 &quot;pathValueMatchers&quot;: { # Similar to path_filters, this contains set of filters to apply if `path` field refers to array elements. This is meant to support value matching beyond exact match. To perform exact match, use path_filters. When both path_filters and path_value_matchers are set, an implicit AND must be performed.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800495 &quot;a_key&quot;: { # Contains various matching options for values for a GCP resource field.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800496 &quot;matchesPattern&quot;: &quot;A String&quot;, # To be used for full regex matching. The regular expression is using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be used with RE2::FullMatch
497 },
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800498 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800499 &quot;resource&quot;: &quot;A String&quot;, # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
500 &quot;resourceType&quot;: &quot;A String&quot;, # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
501 &quot;sourcePath&quot;: &quot;A String&quot;, # Can be set with action &#x27;copy&#x27; or &#x27;move&#x27; to indicate the source field within resource or source_resource, ignored if provided for other operation types.
502 &quot;sourceResource&quot;: &quot;A String&quot;, # Can be set with action &#x27;copy&#x27; to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = &#x27;copy&#x27;, path = &quot;/&quot;, from = &quot;/&quot;, source_resource = and resource_name = . This field is empty for all other values of `action`.
503 &quot;value&quot;: &quot;&quot;, # Value for the `path` field. Will be set for actions:&#x27;add&#x27;/&#x27;replace&#x27;. Maybe set for action: &#x27;test&#x27;. Either this or `value_matcher` will be set for &#x27;test&#x27; operation. An exact match must be performed.
504 &quot;valueMatcher&quot;: { # Contains various matching options for values for a GCP resource field. # Can be set for action &#x27;test&#x27; for advanced matching for the value of &#x27;path&#x27; field. Either this or `value` will be set for &#x27;test&#x27; operation.
505 &quot;matchesPattern&quot;: &quot;A String&quot;, # To be used for full regex matching. The regular expression is using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be used with RE2::FullMatch
506 },
507 },
508 ],
509 },
510 ],
yoshi-code-bot3e4b5db2021-08-10 00:22:29 -0700511 &quot;overview&quot;: { # Condensed overview information about the recommendation.
512 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
513 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800514 },
515 &quot;description&quot;: &quot;A String&quot;, # Free-form human readable summary in English. The maximum length is 500 characters.
516 &quot;etag&quot;: &quot;A String&quot;, # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
517 &quot;lastRefreshTime&quot;: &quot;A String&quot;, # Last time this recommendation was refreshed by the system that created it in the first place.
518 &quot;name&quot;: &quot;A String&quot;, # Name of recommendation.
519 &quot;primaryImpact&quot;: { # Contains the impact a recommendation can have for a given category. # The primary impact that this recommendation can have while trying to optimize for one category.
520 &quot;category&quot;: &quot;A String&quot;, # Category that is being targeted.
521 &quot;costProjection&quot;: { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
522 &quot;cost&quot;: { # Represents an amount of money with its currency type. # An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units.
523 &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
524 &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
525 &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
526 },
527 &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800528 },
yoshi-code-botc2cd3262021-05-16 02:16:04 -0700529 &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
530 &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
531 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
532 },
533 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800534 },
yoshi-code-botbfa2f1c2021-05-08 07:21:27 -0700535 &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800536 &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
537 &quot;stateInfo&quot;: { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
538 &quot;state&quot;: &quot;A String&quot;, # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
539 &quot;stateMetadata&quot;: { # A map of metadata for the state, provided by user or automations systems.
540 &quot;a_key&quot;: &quot;A String&quot;,
541 },
542 },
543}</pre>
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700544</div>
545
546<div class="method">
547 <code class="details" id="markSucceeded">markSucceeded(name, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700548 <pre>Marks the Recommendation State as Succeeded. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation was successful. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationSucceeded can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700549
550Args:
551 name: string, Required. Name of the recommendation. (required)
552 body: object, The request body.
553 The object takes the form of:
554
555{ # Request for the `MarkRecommendationSucceeded` Method.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800556 &quot;etag&quot;: &quot;A String&quot;, # Required. Fingerprint of the Recommendation. Provides optimistic locking.
557 &quot;stateMetadata&quot;: { # State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.
558 &quot;a_key&quot;: &quot;A String&quot;,
559 },
560}
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700561
562 x__xgafv: string, V1 error format.
563 Allowed values
564 1 - v1 error format
565 2 - v2 error format
566
567Returns:
568 An object of the form:
569
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700570 { # A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800571 &quot;additionalImpact&quot;: [ # Optional set of additional impact that this recommendation may have when trying to optimize for the primary category. These may be positive or negative.
572 { # Contains the impact a recommendation can have for a given category.
573 &quot;category&quot;: &quot;A String&quot;, # Category that is being targeted.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800574 &quot;costProjection&quot;: { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
575 &quot;cost&quot;: { # Represents an amount of money with its currency type. # An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800576 &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800577 &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800578 &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
Bu Sun Kim673ec5c2020-11-16 11:05:03 -0700579 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800580 &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800581 },
yoshi-code-botc2cd3262021-05-16 02:16:04 -0700582 &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
583 &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
584 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
585 },
586 },
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800587 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800588 ],
589 &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
590 { # Reference to an associated insight.
591 &quot;insight&quot;: &quot;A String&quot;, # Insight resource name, e.g. projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
592 },
593 ],
594 &quot;content&quot;: { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
595 &quot;operationGroups&quot;: [ # Operations to one or more Google Cloud resources grouped in such a way that, all operations within one group are expected to be performed atomically and in an order.
596 { # Group of operations that need to be performed atomically.
597 &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
598 { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
yoshi-code-bot4c9ccb02021-05-27 00:38:02 -0700599 &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800600 &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
601 &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
602 &quot;a_key&quot;: &quot;&quot;,
603 },
yoshi-code-bot69706592021-03-03 03:54:02 -0800604 &quot;pathValueMatchers&quot;: { # Similar to path_filters, this contains set of filters to apply if `path` field refers to array elements. This is meant to support value matching beyond exact match. To perform exact match, use path_filters. When both path_filters and path_value_matchers are set, an implicit AND must be performed.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800605 &quot;a_key&quot;: { # Contains various matching options for values for a GCP resource field.
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800606 &quot;matchesPattern&quot;: &quot;A String&quot;, # To be used for full regex matching. The regular expression is using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be used with RE2::FullMatch
607 },
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800608 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800609 &quot;resource&quot;: &quot;A String&quot;, # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
610 &quot;resourceType&quot;: &quot;A String&quot;, # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
611 &quot;sourcePath&quot;: &quot;A String&quot;, # Can be set with action &#x27;copy&#x27; or &#x27;move&#x27; to indicate the source field within resource or source_resource, ignored if provided for other operation types.
612 &quot;sourceResource&quot;: &quot;A String&quot;, # Can be set with action &#x27;copy&#x27; to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = &#x27;copy&#x27;, path = &quot;/&quot;, from = &quot;/&quot;, source_resource = and resource_name = . This field is empty for all other values of `action`.
613 &quot;value&quot;: &quot;&quot;, # Value for the `path` field. Will be set for actions:&#x27;add&#x27;/&#x27;replace&#x27;. Maybe set for action: &#x27;test&#x27;. Either this or `value_matcher` will be set for &#x27;test&#x27; operation. An exact match must be performed.
614 &quot;valueMatcher&quot;: { # Contains various matching options for values for a GCP resource field. # Can be set for action &#x27;test&#x27; for advanced matching for the value of &#x27;path&#x27; field. Either this or `value` will be set for &#x27;test&#x27; operation.
615 &quot;matchesPattern&quot;: &quot;A String&quot;, # To be used for full regex matching. The regular expression is using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be used with RE2::FullMatch
616 },
617 },
618 ],
619 },
620 ],
yoshi-code-bot3e4b5db2021-08-10 00:22:29 -0700621 &quot;overview&quot;: { # Condensed overview information about the recommendation.
622 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
623 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800624 },
625 &quot;description&quot;: &quot;A String&quot;, # Free-form human readable summary in English. The maximum length is 500 characters.
626 &quot;etag&quot;: &quot;A String&quot;, # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
627 &quot;lastRefreshTime&quot;: &quot;A String&quot;, # Last time this recommendation was refreshed by the system that created it in the first place.
628 &quot;name&quot;: &quot;A String&quot;, # Name of recommendation.
629 &quot;primaryImpact&quot;: { # Contains the impact a recommendation can have for a given category. # The primary impact that this recommendation can have while trying to optimize for one category.
630 &quot;category&quot;: &quot;A String&quot;, # Category that is being targeted.
631 &quot;costProjection&quot;: { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
632 &quot;cost&quot;: { # Represents an amount of money with its currency type. # An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units.
633 &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
634 &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
635 &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
636 },
637 &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800638 },
yoshi-code-botc2cd3262021-05-16 02:16:04 -0700639 &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
640 &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
641 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
642 },
643 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800644 },
yoshi-code-botbfa2f1c2021-05-08 07:21:27 -0700645 &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800646 &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
647 &quot;stateInfo&quot;: { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
648 &quot;state&quot;: &quot;A String&quot;, # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
649 &quot;stateMetadata&quot;: { # A map of metadata for the state, provided by user or automations systems.
650 &quot;a_key&quot;: &quot;A String&quot;,
651 },
652 },
653}</pre>
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700654</div>
655
656</body></html>