docs: update docs/dyn (#1096)
This PR was generated using Autosynth. :rainbow:
Synth log will be available here:
https://source.cloud.google.com/results/invocations/6f0f288a-a1e8-4b2d-a85f-00b1c6150185/targets
- [ ] To automatically regenerate this PR, check this box.
Source-Link: https://github.com/googleapis/synthtool/commit/39b7149da4026765385403632db3c6f63db96b2c
Source-Link: https://github.com/googleapis/synthtool/commit/9a7d9fbb7045c34c9d3d22c1ff766eeae51f04c9
Source-Link: https://github.com/googleapis/synthtool/commit/dc9903a8c30c3662b6098f0e4a97f221d67268b2
Source-Link: https://github.com/googleapis/synthtool/commit/7fcc405a579d5d53a726ff3da1b7c8c08f0f2d58
Source-Link: https://github.com/googleapis/synthtool/commit/d5fc0bcf9ea9789c5b0e3154a9e3b29e5cea6116
Source-Link: https://github.com/googleapis/synthtool/commit/e89175cf074dccc4babb4eca66ae913696e47a71
Source-Link: https://github.com/googleapis/synthtool/commit/7d652819519dfa24da9e14548232e4aaba71a11c
Source-Link: https://github.com/googleapis/synthtool/commit/7db8a6c5ffb12a6e4c2f799c18f00f7f3d60e279
Source-Link: https://github.com/googleapis/synthtool/commit/1f1148d3c7a7a52f0c98077f976bd9b3c948ee2b
Source-Link: https://github.com/googleapis/synthtool/commit/2c8aecedd55b0480fb4e123b6e07fa5b12953862
Source-Link: https://github.com/googleapis/synthtool/commit/3d3e94c4e02370f307a9a200b0c743c3d8d19f29
Source-Link: https://github.com/googleapis/synthtool/commit/c7824ea48ff6d4d42dfae0849aec8a85acd90bd9
Source-Link: https://github.com/googleapis/synthtool/commit/ba9918cd22874245b55734f57470c719b577e591
Source-Link: https://github.com/googleapis/synthtool/commit/b19b401571e77192f8dd38eab5fb2300a0de9324
Source-Link: https://github.com/googleapis/synthtool/commit/6542bd723403513626f61642fc02ddca528409aa
diff --git a/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html
index d313251..59b9cb1 100644
--- a/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html
@@ -81,7 +81,7 @@
<code><a href="#get">get(name, x__xgafv=None)</a></code></p>
<p class="firstline">Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.</p>
<p class="toc_element">
- <code><a href="#list">list(parent, pageSize=None, pageToken=None, filter=None, x__xgafv=None)</a></code></p>
+ <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.</p>
<p class="toc_element">
<code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -116,23 +116,31 @@
An object of the form:
{ # A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc
+ "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "recommenderSubtype": "A String", # 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 = "google.iam.policy.Recommender", recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
"additionalImpact": [ # Optional set of additional impact that this recommendation may have when trying to optimize for the primary category. These may be positive or negative.
{ # Contains the impact a recommendation can have for a given category.
"category": "A String", # Category that is being targeted.
"costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
+ "duration": "A String", # Duration for which this cost applies.
"cost": { # 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.
- "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
"nanos": 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.
+ "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
"currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
},
- "duration": "A String", # Duration for which this cost applies.
},
},
],
- "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
- "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
- "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
- "a_key": "A String",
+ "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
+ "primaryImpact": { # 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.
+ "category": "A String", # Category that is being targeted.
+ "costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
+ "duration": "A String", # Duration for which this cost applies.
+ "cost": { # 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.
+ "nanos": 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.
+ "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
+ },
},
},
"content": { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
@@ -140,62 +148,54 @@
{ # Group of operations that need to be performed atomically.
"operations": [ # 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.
{ # 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.
+ "resourceType": "A String", # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
+ "valueMatcher": { # Contains various matching options for values for a GCP resource field. # Can be set for action 'test' for advanced matching for the value of 'path' field. Either this or `value` will be set for 'test' operation.
+ "matchesPattern": "A String", # 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
+ },
+ "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
"pathValueMatchers": { # Similar to path_filters, this contains set of filters to apply if `path` field referes 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.
"a_key": { # Contains various matching options for values for a GCP resource field.
"matchesPattern": "A String", # 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
},
},
+ "sourceResource": "A String", # Can be set with action 'copy' to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = 'copy', path = "/", from = "/", source_resource = and resource_name = . This field is empty for all other values of `action`.
"action": "A String", # Type of this operation. Contains one of 'and', 'remove', 'replace', 'move', 'copy', 'test' and custom operations. This field is case-insensitive and always populated.
- "sourcePath": "A String", # Can be set with action 'copy' or 'move' to indicate the source field within resource or source_resource, ignored if provided for other operation types.
- "path": "A String", # Path to the target field being operated on. If the operation is at the resource level, then path should be "/". This field is always populated.
- "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
- "pathFilters": { # 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: { "/versions/*/name" : "it-123" "/versions/*/targetSize/percent": 20 } * Example: { "/bindings/*/role": "roles/admin" "/bindings/*/condition" : null } * Example: { "/bindings/*/role": "roles/admin" "/bindings/*/members/*" : ["x@google.com", "y@google.com"] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
+ "pathFilters": { # 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: { "/versions/*/name" : "it-123" "/versions/*/targetSize/percent": 20 } * Example: { "/bindings/*/role": "roles/owner" "/bindings/*/condition" : null } * Example: { "/bindings/*/role": "roles/owner" "/bindings/*/members/*" : ["x@example.com", "y@example.com"] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
"a_key": "",
},
- "resourceType": "A String", # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
- "sourceResource": "A String", # Can be set with action 'copy' to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = 'copy', path = "/", from = "/", source_resource = and resource_name = . This field is empty for all other values of `action`.
- "valueMatcher": { # Contains various matching options for values for a GCP resource field. # Can be set for action 'test' for advanced matching for the value of 'path' field. Either this or `value` will be set for 'test' operation.
- "matchesPattern": "A String", # 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
- },
"value": "", # Value for the `path` field. Will be set for actions:'add'/'replace'. Maybe set for action: 'test'. Either this or `value_matcher` will be set for 'test' operation. An exact match must be performed.
+ "sourcePath": "A String", # Can be set with action 'copy' or 'move' to indicate the source field within resource or source_resource, ignored if provided for other operation types.
+ "path": "A String", # Path to the target field being operated on. If the operation is at the resource level, then path should be "/". This field is always populated.
},
],
},
],
},
- "recommenderSubtype": "A String", # 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 = "google.iam.policy.Recommender", recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
- "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
- "name": "A String", # Name of recommendation.
- "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
- "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
+ "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
+ "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
+ "a_key": "A String",
+ },
+ },
"associatedInsights": [ # Insights that led to this recommendation.
{ # Reference to an associated insight.
"insight": "A String", # Insight resource name, e.g. projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
},
],
- "primaryImpact": { # 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.
- "category": "A String", # Category that is being targeted.
- "costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
- "cost": { # 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.
- "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
- "nanos": 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.
- "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
- },
- "duration": "A String", # Duration for which this cost applies.
- },
- },
+ "name": "A String", # Name of recommendation.
+ "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
}</pre>
</div>
<div class="method">
- <code class="details" id="list">list(parent, pageSize=None, pageToken=None, filter=None, x__xgafv=None)</code>
+ <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
<pre>Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.
Args:
parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. "projects/[PROJECT_NUMBER]/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)
+ filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:"DISMISSED" or state_info.state:"FAILED"
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.
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.
- filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:"DISMISSED" or state_info.state:"FAILED"
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
@@ -205,25 +205,34 @@
An object of the form:
{ # Response to the `ListRecommendations` method.
+ "nextPageToken": "A String", # A token that can be used to request the next page of results. This field is empty if there are no additional results.
"recommendations": [ # The set of recommendations for the `parent` resource.
{ # A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc
+ "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "recommenderSubtype": "A String", # 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 = "google.iam.policy.Recommender", recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
"additionalImpact": [ # Optional set of additional impact that this recommendation may have when trying to optimize for the primary category. These may be positive or negative.
{ # Contains the impact a recommendation can have for a given category.
"category": "A String", # Category that is being targeted.
"costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
+ "duration": "A String", # Duration for which this cost applies.
"cost": { # 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.
- "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
"nanos": 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.
+ "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
"currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
},
- "duration": "A String", # Duration for which this cost applies.
},
},
],
- "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
- "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
- "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
- "a_key": "A String",
+ "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
+ "primaryImpact": { # 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.
+ "category": "A String", # Category that is being targeted.
+ "costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
+ "duration": "A String", # Duration for which this cost applies.
+ "cost": { # 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.
+ "nanos": 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.
+ "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
+ },
},
},
"content": { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
@@ -231,53 +240,44 @@
{ # Group of operations that need to be performed atomically.
"operations": [ # 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.
{ # 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.
+ "resourceType": "A String", # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
+ "valueMatcher": { # Contains various matching options for values for a GCP resource field. # Can be set for action 'test' for advanced matching for the value of 'path' field. Either this or `value` will be set for 'test' operation.
+ "matchesPattern": "A String", # 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
+ },
+ "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
"pathValueMatchers": { # Similar to path_filters, this contains set of filters to apply if `path` field referes 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.
"a_key": { # Contains various matching options for values for a GCP resource field.
"matchesPattern": "A String", # 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
},
},
+ "sourceResource": "A String", # Can be set with action 'copy' to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = 'copy', path = "/", from = "/", source_resource = and resource_name = . This field is empty for all other values of `action`.
"action": "A String", # Type of this operation. Contains one of 'and', 'remove', 'replace', 'move', 'copy', 'test' and custom operations. This field is case-insensitive and always populated.
- "sourcePath": "A String", # Can be set with action 'copy' or 'move' to indicate the source field within resource or source_resource, ignored if provided for other operation types.
- "path": "A String", # Path to the target field being operated on. If the operation is at the resource level, then path should be "/". This field is always populated.
- "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
- "pathFilters": { # 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: { "/versions/*/name" : "it-123" "/versions/*/targetSize/percent": 20 } * Example: { "/bindings/*/role": "roles/admin" "/bindings/*/condition" : null } * Example: { "/bindings/*/role": "roles/admin" "/bindings/*/members/*" : ["x@google.com", "y@google.com"] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
+ "pathFilters": { # 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: { "/versions/*/name" : "it-123" "/versions/*/targetSize/percent": 20 } * Example: { "/bindings/*/role": "roles/owner" "/bindings/*/condition" : null } * Example: { "/bindings/*/role": "roles/owner" "/bindings/*/members/*" : ["x@example.com", "y@example.com"] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
"a_key": "",
},
- "resourceType": "A String", # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
- "sourceResource": "A String", # Can be set with action 'copy' to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = 'copy', path = "/", from = "/", source_resource = and resource_name = . This field is empty for all other values of `action`.
- "valueMatcher": { # Contains various matching options for values for a GCP resource field. # Can be set for action 'test' for advanced matching for the value of 'path' field. Either this or `value` will be set for 'test' operation.
- "matchesPattern": "A String", # 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
- },
"value": "", # Value for the `path` field. Will be set for actions:'add'/'replace'. Maybe set for action: 'test'. Either this or `value_matcher` will be set for 'test' operation. An exact match must be performed.
+ "sourcePath": "A String", # Can be set with action 'copy' or 'move' to indicate the source field within resource or source_resource, ignored if provided for other operation types.
+ "path": "A String", # Path to the target field being operated on. If the operation is at the resource level, then path should be "/". This field is always populated.
},
],
},
],
},
- "recommenderSubtype": "A String", # 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 = "google.iam.policy.Recommender", recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
- "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
- "name": "A String", # Name of recommendation.
- "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
- "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
+ "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
+ "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
+ "a_key": "A String",
+ },
+ },
"associatedInsights": [ # Insights that led to this recommendation.
{ # Reference to an associated insight.
"insight": "A String", # Insight resource name, e.g. projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
},
],
- "primaryImpact": { # 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.
- "category": "A String", # Category that is being targeted.
- "costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
- "cost": { # 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.
- "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
- "nanos": 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.
- "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
- },
- "duration": "A String", # Duration for which this cost applies.
- },
- },
+ "name": "A String", # Name of recommendation.
+ "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
},
],
- "nextPageToken": "A String", # A token that can be used to request the next page of results. This field is empty if there are no additional results.
}</pre>
</div>
@@ -320,23 +320,31 @@
An object of the form:
{ # A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc
+ "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "recommenderSubtype": "A String", # 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 = "google.iam.policy.Recommender", recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
"additionalImpact": [ # Optional set of additional impact that this recommendation may have when trying to optimize for the primary category. These may be positive or negative.
{ # Contains the impact a recommendation can have for a given category.
"category": "A String", # Category that is being targeted.
"costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
+ "duration": "A String", # Duration for which this cost applies.
"cost": { # 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.
- "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
"nanos": 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.
+ "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
"currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
},
- "duration": "A String", # Duration for which this cost applies.
},
},
],
- "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
- "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
- "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
- "a_key": "A String",
+ "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
+ "primaryImpact": { # 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.
+ "category": "A String", # Category that is being targeted.
+ "costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
+ "duration": "A String", # Duration for which this cost applies.
+ "cost": { # 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.
+ "nanos": 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.
+ "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
+ },
},
},
"content": { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
@@ -344,50 +352,42 @@
{ # Group of operations that need to be performed atomically.
"operations": [ # 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.
{ # 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.
+ "resourceType": "A String", # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
+ "valueMatcher": { # Contains various matching options for values for a GCP resource field. # Can be set for action 'test' for advanced matching for the value of 'path' field. Either this or `value` will be set for 'test' operation.
+ "matchesPattern": "A String", # 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
+ },
+ "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
"pathValueMatchers": { # Similar to path_filters, this contains set of filters to apply if `path` field referes 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.
"a_key": { # Contains various matching options for values for a GCP resource field.
"matchesPattern": "A String", # 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
},
},
+ "sourceResource": "A String", # Can be set with action 'copy' to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = 'copy', path = "/", from = "/", source_resource = and resource_name = . This field is empty for all other values of `action`.
"action": "A String", # Type of this operation. Contains one of 'and', 'remove', 'replace', 'move', 'copy', 'test' and custom operations. This field is case-insensitive and always populated.
- "sourcePath": "A String", # Can be set with action 'copy' or 'move' to indicate the source field within resource or source_resource, ignored if provided for other operation types.
- "path": "A String", # Path to the target field being operated on. If the operation is at the resource level, then path should be "/". This field is always populated.
- "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
- "pathFilters": { # 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: { "/versions/*/name" : "it-123" "/versions/*/targetSize/percent": 20 } * Example: { "/bindings/*/role": "roles/admin" "/bindings/*/condition" : null } * Example: { "/bindings/*/role": "roles/admin" "/bindings/*/members/*" : ["x@google.com", "y@google.com"] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
+ "pathFilters": { # 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: { "/versions/*/name" : "it-123" "/versions/*/targetSize/percent": 20 } * Example: { "/bindings/*/role": "roles/owner" "/bindings/*/condition" : null } * Example: { "/bindings/*/role": "roles/owner" "/bindings/*/members/*" : ["x@example.com", "y@example.com"] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
"a_key": "",
},
- "resourceType": "A String", # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
- "sourceResource": "A String", # Can be set with action 'copy' to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = 'copy', path = "/", from = "/", source_resource = and resource_name = . This field is empty for all other values of `action`.
- "valueMatcher": { # Contains various matching options for values for a GCP resource field. # Can be set for action 'test' for advanced matching for the value of 'path' field. Either this or `value` will be set for 'test' operation.
- "matchesPattern": "A String", # 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
- },
"value": "", # Value for the `path` field. Will be set for actions:'add'/'replace'. Maybe set for action: 'test'. Either this or `value_matcher` will be set for 'test' operation. An exact match must be performed.
+ "sourcePath": "A String", # Can be set with action 'copy' or 'move' to indicate the source field within resource or source_resource, ignored if provided for other operation types.
+ "path": "A String", # Path to the target field being operated on. If the operation is at the resource level, then path should be "/". This field is always populated.
},
],
},
],
},
- "recommenderSubtype": "A String", # 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 = "google.iam.policy.Recommender", recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
- "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
- "name": "A String", # Name of recommendation.
- "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
- "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
+ "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
+ "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
+ "a_key": "A String",
+ },
+ },
"associatedInsights": [ # Insights that led to this recommendation.
{ # Reference to an associated insight.
"insight": "A String", # Insight resource name, e.g. projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
},
],
- "primaryImpact": { # 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.
- "category": "A String", # Category that is being targeted.
- "costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
- "cost": { # 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.
- "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
- "nanos": 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.
- "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
- },
- "duration": "A String", # Duration for which this cost applies.
- },
- },
+ "name": "A String", # Name of recommendation.
+ "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
}</pre>
</div>
@@ -416,23 +416,31 @@
An object of the form:
{ # A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc
+ "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "recommenderSubtype": "A String", # 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 = "google.iam.policy.Recommender", recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
"additionalImpact": [ # Optional set of additional impact that this recommendation may have when trying to optimize for the primary category. These may be positive or negative.
{ # Contains the impact a recommendation can have for a given category.
"category": "A String", # Category that is being targeted.
"costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
+ "duration": "A String", # Duration for which this cost applies.
"cost": { # 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.
- "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
"nanos": 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.
+ "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
"currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
},
- "duration": "A String", # Duration for which this cost applies.
},
},
],
- "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
- "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
- "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
- "a_key": "A String",
+ "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
+ "primaryImpact": { # 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.
+ "category": "A String", # Category that is being targeted.
+ "costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
+ "duration": "A String", # Duration for which this cost applies.
+ "cost": { # 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.
+ "nanos": 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.
+ "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
+ },
},
},
"content": { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
@@ -440,50 +448,42 @@
{ # Group of operations that need to be performed atomically.
"operations": [ # 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.
{ # 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.
+ "resourceType": "A String", # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
+ "valueMatcher": { # Contains various matching options for values for a GCP resource field. # Can be set for action 'test' for advanced matching for the value of 'path' field. Either this or `value` will be set for 'test' operation.
+ "matchesPattern": "A String", # 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
+ },
+ "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
"pathValueMatchers": { # Similar to path_filters, this contains set of filters to apply if `path` field referes 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.
"a_key": { # Contains various matching options for values for a GCP resource field.
"matchesPattern": "A String", # 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
},
},
+ "sourceResource": "A String", # Can be set with action 'copy' to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = 'copy', path = "/", from = "/", source_resource = and resource_name = . This field is empty for all other values of `action`.
"action": "A String", # Type of this operation. Contains one of 'and', 'remove', 'replace', 'move', 'copy', 'test' and custom operations. This field is case-insensitive and always populated.
- "sourcePath": "A String", # Can be set with action 'copy' or 'move' to indicate the source field within resource or source_resource, ignored if provided for other operation types.
- "path": "A String", # Path to the target field being operated on. If the operation is at the resource level, then path should be "/". This field is always populated.
- "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
- "pathFilters": { # 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: { "/versions/*/name" : "it-123" "/versions/*/targetSize/percent": 20 } * Example: { "/bindings/*/role": "roles/admin" "/bindings/*/condition" : null } * Example: { "/bindings/*/role": "roles/admin" "/bindings/*/members/*" : ["x@google.com", "y@google.com"] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
+ "pathFilters": { # 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: { "/versions/*/name" : "it-123" "/versions/*/targetSize/percent": 20 } * Example: { "/bindings/*/role": "roles/owner" "/bindings/*/condition" : null } * Example: { "/bindings/*/role": "roles/owner" "/bindings/*/members/*" : ["x@example.com", "y@example.com"] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
"a_key": "",
},
- "resourceType": "A String", # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
- "sourceResource": "A String", # Can be set with action 'copy' to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = 'copy', path = "/", from = "/", source_resource = and resource_name = . This field is empty for all other values of `action`.
- "valueMatcher": { # Contains various matching options for values for a GCP resource field. # Can be set for action 'test' for advanced matching for the value of 'path' field. Either this or `value` will be set for 'test' operation.
- "matchesPattern": "A String", # 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
- },
"value": "", # Value for the `path` field. Will be set for actions:'add'/'replace'. Maybe set for action: 'test'. Either this or `value_matcher` will be set for 'test' operation. An exact match must be performed.
+ "sourcePath": "A String", # Can be set with action 'copy' or 'move' to indicate the source field within resource or source_resource, ignored if provided for other operation types.
+ "path": "A String", # Path to the target field being operated on. If the operation is at the resource level, then path should be "/". This field is always populated.
},
],
},
],
},
- "recommenderSubtype": "A String", # 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 = "google.iam.policy.Recommender", recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
- "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
- "name": "A String", # Name of recommendation.
- "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
- "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
+ "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
+ "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
+ "a_key": "A String",
+ },
+ },
"associatedInsights": [ # Insights that led to this recommendation.
{ # Reference to an associated insight.
"insight": "A String", # Insight resource name, e.g. projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
},
],
- "primaryImpact": { # 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.
- "category": "A String", # Category that is being targeted.
- "costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
- "cost": { # 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.
- "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
- "nanos": 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.
- "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
- },
- "duration": "A String", # Duration for which this cost applies.
- },
- },
+ "name": "A String", # Name of recommendation.
+ "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
}</pre>
</div>
@@ -512,23 +512,31 @@
An object of the form:
{ # A recommendation along with a suggested action. E.g., a rightsizing recommendation for an underutilized VM, IAM role recommendations, etc
+ "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "recommenderSubtype": "A String", # 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 = "google.iam.policy.Recommender", recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
"additionalImpact": [ # Optional set of additional impact that this recommendation may have when trying to optimize for the primary category. These may be positive or negative.
{ # Contains the impact a recommendation can have for a given category.
"category": "A String", # Category that is being targeted.
"costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
+ "duration": "A String", # Duration for which this cost applies.
"cost": { # 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.
- "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
"nanos": 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.
+ "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
"currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
},
- "duration": "A String", # Duration for which this cost applies.
},
},
],
- "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
- "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
- "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
- "a_key": "A String",
+ "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
+ "primaryImpact": { # 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.
+ "category": "A String", # Category that is being targeted.
+ "costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
+ "duration": "A String", # Duration for which this cost applies.
+ "cost": { # 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.
+ "nanos": 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.
+ "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
+ },
},
},
"content": { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
@@ -536,50 +544,42 @@
{ # Group of operations that need to be performed atomically.
"operations": [ # 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.
{ # 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.
+ "resourceType": "A String", # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
+ "valueMatcher": { # Contains various matching options for values for a GCP resource field. # Can be set for action 'test' for advanced matching for the value of 'path' field. Either this or `value` will be set for 'test' operation.
+ "matchesPattern": "A String", # 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
+ },
+ "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
"pathValueMatchers": { # Similar to path_filters, this contains set of filters to apply if `path` field referes 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.
"a_key": { # Contains various matching options for values for a GCP resource field.
"matchesPattern": "A String", # 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
},
},
+ "sourceResource": "A String", # Can be set with action 'copy' to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = 'copy', path = "/", from = "/", source_resource = and resource_name = . This field is empty for all other values of `action`.
"action": "A String", # Type of this operation. Contains one of 'and', 'remove', 'replace', 'move', 'copy', 'test' and custom operations. This field is case-insensitive and always populated.
- "sourcePath": "A String", # Can be set with action 'copy' or 'move' to indicate the source field within resource or source_resource, ignored if provided for other operation types.
- "path": "A String", # Path to the target field being operated on. If the operation is at the resource level, then path should be "/". This field is always populated.
- "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
- "pathFilters": { # 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: { "/versions/*/name" : "it-123" "/versions/*/targetSize/percent": 20 } * Example: { "/bindings/*/role": "roles/admin" "/bindings/*/condition" : null } * Example: { "/bindings/*/role": "roles/admin" "/bindings/*/members/*" : ["x@google.com", "y@google.com"] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
+ "pathFilters": { # 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: { "/versions/*/name" : "it-123" "/versions/*/targetSize/percent": 20 } * Example: { "/bindings/*/role": "roles/owner" "/bindings/*/condition" : null } * Example: { "/bindings/*/role": "roles/owner" "/bindings/*/members/*" : ["x@example.com", "y@example.com"] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
"a_key": "",
},
- "resourceType": "A String", # Type of GCP resource being modified/tested. This field is always populated. Example: cloudresourcemanager.googleapis.com/Project, compute.googleapis.com/Instance
- "sourceResource": "A String", # Can be set with action 'copy' to copy resource configuration across different resources of the same type. Example: A resource clone can be done via action = 'copy', path = "/", from = "/", source_resource = and resource_name = . This field is empty for all other values of `action`.
- "valueMatcher": { # Contains various matching options for values for a GCP resource field. # Can be set for action 'test' for advanced matching for the value of 'path' field. Either this or `value` will be set for 'test' operation.
- "matchesPattern": "A String", # 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
- },
"value": "", # Value for the `path` field. Will be set for actions:'add'/'replace'. Maybe set for action: 'test'. Either this or `value_matcher` will be set for 'test' operation. An exact match must be performed.
+ "sourcePath": "A String", # Can be set with action 'copy' or 'move' to indicate the source field within resource or source_resource, ignored if provided for other operation types.
+ "path": "A String", # Path to the target field being operated on. If the operation is at the resource level, then path should be "/". This field is always populated.
},
],
},
],
},
- "recommenderSubtype": "A String", # 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 = "google.iam.policy.Recommender", recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
- "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
- "name": "A String", # Name of recommendation.
- "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
- "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
+ "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
+ "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
+ "a_key": "A String",
+ },
+ },
"associatedInsights": [ # Insights that led to this recommendation.
{ # Reference to an associated insight.
"insight": "A String", # Insight resource name, e.g. projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
},
],
- "primaryImpact": { # 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.
- "category": "A String", # Category that is being targeted.
- "costProjection": { # Contains metadata about how much money a recommendation can save or incur. # Use with CategoryType.COST
- "cost": { # 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.
- "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
- "nanos": 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.
- "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
- },
- "duration": "A String", # Duration for which this cost applies.
- },
- },
+ "name": "A String", # Name of recommendation.
+ "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
}</pre>
</div>