chore: update docs/dyn , add static discovery files to discovery_cache/documents (#1111)
This PR was generated using Autosynth. :rainbow:
Synth log will be available here:
https://source.cloud.google.com/results/invocations/78f53313-0c78-4a29-8841-f031665a4c6a/targets
- [ ] To automatically regenerate this PR, check this box.
Source-Link: https://github.com/googleapis/synthtool/commit/c2de32114ec484aa708d32012d1fa8d75232daf5
diff --git a/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html
index 7ef21e8..f73f8ce 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, pageToken=None, pageSize=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,59 +116,22 @@
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
- "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"
"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.
- "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.
- },
- "duration": "A String", # Duration for which this cost applies.
- },
- },
- "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
- "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
- "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.
- "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
- "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.
- },
- "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.
- "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]
- },
- ],
"content": { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
"operationGroups": [ # 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.
{ # 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.
- "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.
- "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.
- "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`.
- "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
@@ -177,6 +140,14 @@
"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
+ "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
+ "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
+ },
+ "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.
+ "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.
+ "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`.
"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.
"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.
},
@@ -184,18 +155,47 @@
},
],
},
+ "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]
+ },
+ ],
+ "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
+ "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
+ "a_key": "A String",
+ },
+ "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
+ },
+ "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.
+ "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.
+ },
+ },
+ },
+ ],
+ "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"
+ "name": "A String", # Name of recommendation.
+ "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
+ "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
}</pre>
</div>
<div class="method">
- <code class="details" id="list">list(parent, pageToken=None, pageSize=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)
- 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.
- 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.
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.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
@@ -205,62 +205,24 @@
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
- "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"
"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.
- "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.
- },
- "duration": "A String", # Duration for which this cost applies.
- },
- },
- "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
- "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
- "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.
- "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
- "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.
- },
- "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.
- "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]
- },
- ],
"content": { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
"operationGroups": [ # 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.
{ # 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.
- "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.
- "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.
- "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`.
- "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
@@ -269,6 +231,14 @@
"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
+ "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
+ "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
+ },
+ "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.
+ "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.
+ "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`.
"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.
"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.
},
@@ -276,8 +246,38 @@
},
],
},
+ "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]
+ },
+ ],
+ "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
+ "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
+ "a_key": "A String",
+ },
+ "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
+ },
+ "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.
+ "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.
+ },
+ },
+ },
+ ],
+ "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"
+ "name": "A String", # Name of recommendation.
+ "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
+ "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
},
],
+ "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>
@@ -305,10 +305,10 @@
The object takes the form of:
{ # Request for the `MarkRecommendationClaimed` Method.
- "etag": "A String", # Required. Fingerprint of the Recommendation. Provides optimistic locking.
"stateMetadata": { # 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}$/.
"a_key": "A String",
},
+ "etag": "A String", # Required. Fingerprint of the Recommendation. Provides optimistic locking.
}
x__xgafv: string, V1 error format.
@@ -320,59 +320,22 @@
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
- "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"
"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.
- "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.
- },
- "duration": "A String", # Duration for which this cost applies.
- },
- },
- "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
- "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
- "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.
- "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
- "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.
- },
- "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.
- "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]
- },
- ],
"content": { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
"operationGroups": [ # 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.
{ # 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.
- "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.
- "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.
- "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`.
- "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
@@ -381,6 +344,14 @@
"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
+ "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
+ "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
+ },
+ "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.
+ "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.
+ "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`.
"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.
"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.
},
@@ -388,6 +359,35 @@
},
],
},
+ "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]
+ },
+ ],
+ "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
+ "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
+ "a_key": "A String",
+ },
+ "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
+ },
+ "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.
+ "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.
+ },
+ },
+ },
+ ],
+ "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"
+ "name": "A String", # Name of recommendation.
+ "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
+ "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
}</pre>
</div>
@@ -401,10 +401,10 @@
The object takes the form of:
{ # Request for the `MarkRecommendationFailed` Method.
+ "etag": "A String", # Required. Fingerprint of the Recommendation. Provides optimistic locking.
"stateMetadata": { # 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}$/.
"a_key": "A String",
},
- "etag": "A String", # Required. Fingerprint of the Recommendation. Provides optimistic locking.
}
x__xgafv: string, V1 error format.
@@ -416,59 +416,22 @@
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
- "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"
"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.
- "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.
- },
- "duration": "A String", # Duration for which this cost applies.
- },
- },
- "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
- "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
- "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.
- "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
- "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.
- },
- "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.
- "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]
- },
- ],
"content": { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
"operationGroups": [ # 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.
{ # 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.
- "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.
- "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.
- "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`.
- "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
@@ -477,6 +440,14 @@
"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
+ "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
+ "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
+ },
+ "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.
+ "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.
+ "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`.
"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.
"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.
},
@@ -484,6 +455,35 @@
},
],
},
+ "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]
+ },
+ ],
+ "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
+ "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
+ "a_key": "A String",
+ },
+ "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
+ },
+ "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.
+ "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.
+ },
+ },
+ },
+ ],
+ "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"
+ "name": "A String", # Name of recommendation.
+ "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
+ "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
}</pre>
</div>
@@ -497,10 +497,10 @@
The object takes the form of:
{ # Request for the `MarkRecommendationSucceeded` Method.
- "etag": "A String", # Required. Fingerprint of the Recommendation. Provides optimistic locking.
"stateMetadata": { # 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}$/.
"a_key": "A String",
},
+ "etag": "A String", # Required. Fingerprint of the Recommendation. Provides optimistic locking.
}
x__xgafv: string, V1 error format.
@@ -512,59 +512,22 @@
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
- "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"
"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.
- "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.
- },
- "duration": "A String", # Duration for which this cost applies.
- },
- },
- "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
- "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
- "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.
- "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
- "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.
- },
- "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.
- "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]
- },
- ],
"content": { # Contains what resources are changing and how they are changing. # Content of the recommendation describing recommended changes to resources.
"operationGroups": [ # 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.
{ # 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.
- "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.
- "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.
- "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`.
- "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
@@ -573,6 +536,14 @@
"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
+ "resource": "A String", # Contains the fully qualified resource name. This field is always populated. ex: //cloudresourcemanager.googleapis.com/projects/foo.
+ "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
+ },
+ "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.
+ "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.
+ "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`.
"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.
"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.
},
@@ -580,6 +551,35 @@
},
],
},
+ "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]
+ },
+ ],
+ "stateInfo": { # Information for state. Contains state and metadata. # Information for state. Contains state and metadata.
+ "stateMetadata": { # A map of metadata for the state, provided by user or automations systems.
+ "a_key": "A String",
+ },
+ "state": "A String", # The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.
+ },
+ "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.
+ "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.
+ },
+ },
+ },
+ ],
+ "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"
+ "name": "A String", # Name of recommendation.
+ "etag": "A String", # Fingerprint of the Recommendation. Provides optimistic locking when updating states.
+ "description": "A String", # Free-form human readable summary in English. The maximum length is 500 characters.
+ "lastRefreshTime": "A String", # Last time this recommendation was refreshed by the system that created it in the first place.
}</pre>
</div>