Skip to content

Commit

Permalink
feat(recommender): update the API
Browse files Browse the repository at this point in the history
#### recommender:v1beta1

The following keys were added:
- resources.billingAccounts.resources.locations.methods.list.description
- resources.billingAccounts.resources.locations.methods.list.flatPath
- resources.billingAccounts.resources.locations.methods.list.httpMethod
- resources.billingAccounts.resources.locations.methods.list.id
- resources.billingAccounts.resources.locations.methods.list.parameterOrder
- resources.billingAccounts.resources.locations.methods.list.parameters.filter.description
- resources.billingAccounts.resources.locations.methods.list.parameters.filter.location
- resources.billingAccounts.resources.locations.methods.list.parameters.filter.type
- resources.billingAccounts.resources.locations.methods.list.parameters.name.description
- resources.billingAccounts.resources.locations.methods.list.parameters.name.location
- resources.billingAccounts.resources.locations.methods.list.parameters.name.pattern
- resources.billingAccounts.resources.locations.methods.list.parameters.name.required
- resources.billingAccounts.resources.locations.methods.list.parameters.name.type
- resources.billingAccounts.resources.locations.methods.list.parameters.pageSize.description
- resources.billingAccounts.resources.locations.methods.list.parameters.pageSize.format
- resources.billingAccounts.resources.locations.methods.list.parameters.pageSize.location
- resources.billingAccounts.resources.locations.methods.list.parameters.pageSize.type
- resources.billingAccounts.resources.locations.methods.list.parameters.pageToken.description
- resources.billingAccounts.resources.locations.methods.list.parameters.pageToken.location
- resources.billingAccounts.resources.locations.methods.list.parameters.pageToken.type
- resources.billingAccounts.resources.locations.methods.list.path
- resources.billingAccounts.resources.locations.methods.list.response.$ref
- resources.billingAccounts.resources.locations.methods.list.scopes
- resources.folders.resources.locations.methods.list.description
- resources.folders.resources.locations.methods.list.flatPath
- resources.folders.resources.locations.methods.list.httpMethod
- resources.folders.resources.locations.methods.list.id
- resources.folders.resources.locations.methods.list.parameterOrder
- resources.folders.resources.locations.methods.list.parameters.filter.description
- resources.folders.resources.locations.methods.list.parameters.filter.location
- resources.folders.resources.locations.methods.list.parameters.filter.type
- resources.folders.resources.locations.methods.list.parameters.name.description
- resources.folders.resources.locations.methods.list.parameters.name.location
- resources.folders.resources.locations.methods.list.parameters.name.pattern
- resources.folders.resources.locations.methods.list.parameters.name.required
- resources.folders.resources.locations.methods.list.parameters.name.type
- resources.folders.resources.locations.methods.list.parameters.pageSize.description
- resources.folders.resources.locations.methods.list.parameters.pageSize.format
- resources.folders.resources.locations.methods.list.parameters.pageSize.location
- resources.folders.resources.locations.methods.list.parameters.pageSize.type
- resources.folders.resources.locations.methods.list.parameters.pageToken.description
- resources.folders.resources.locations.methods.list.parameters.pageToken.location
- resources.folders.resources.locations.methods.list.parameters.pageToken.type
- resources.folders.resources.locations.methods.list.path
- resources.folders.resources.locations.methods.list.response.$ref
- resources.folders.resources.locations.methods.list.scopes
- resources.organizations.resources.locations.methods.list.description
- resources.organizations.resources.locations.methods.list.flatPath
- resources.organizations.resources.locations.methods.list.httpMethod
- resources.organizations.resources.locations.methods.list.id
- resources.organizations.resources.locations.methods.list.parameterOrder
- resources.organizations.resources.locations.methods.list.parameters.filter.description
- resources.organizations.resources.locations.methods.list.parameters.filter.location
- resources.organizations.resources.locations.methods.list.parameters.filter.type
- resources.organizations.resources.locations.methods.list.parameters.name.description
- resources.organizations.resources.locations.methods.list.parameters.name.location
- resources.organizations.resources.locations.methods.list.parameters.name.pattern
- resources.organizations.resources.locations.methods.list.parameters.name.required
- resources.organizations.resources.locations.methods.list.parameters.name.type
- resources.organizations.resources.locations.methods.list.parameters.pageSize.description
- resources.organizations.resources.locations.methods.list.parameters.pageSize.format
- resources.organizations.resources.locations.methods.list.parameters.pageSize.location
- resources.organizations.resources.locations.methods.list.parameters.pageSize.type
- resources.organizations.resources.locations.methods.list.parameters.pageToken.description
- resources.organizations.resources.locations.methods.list.parameters.pageToken.location
- resources.organizations.resources.locations.methods.list.parameters.pageToken.type
- resources.organizations.resources.locations.methods.list.path
- resources.organizations.resources.locations.methods.list.response.$ref
- resources.organizations.resources.locations.methods.list.scopes
- resources.projects.resources.locations.methods.list.description
- resources.projects.resources.locations.methods.list.flatPath
- resources.projects.resources.locations.methods.list.httpMethod
- resources.projects.resources.locations.methods.list.id
- resources.projects.resources.locations.methods.list.parameterOrder
- resources.projects.resources.locations.methods.list.parameters.filter.description
- resources.projects.resources.locations.methods.list.parameters.filter.location
- resources.projects.resources.locations.methods.list.parameters.filter.type
- resources.projects.resources.locations.methods.list.parameters.name.description
- resources.projects.resources.locations.methods.list.parameters.name.location
- resources.projects.resources.locations.methods.list.parameters.name.pattern
- resources.projects.resources.locations.methods.list.parameters.name.required
- resources.projects.resources.locations.methods.list.parameters.name.type
- resources.projects.resources.locations.methods.list.parameters.pageSize.description
- resources.projects.resources.locations.methods.list.parameters.pageSize.format
- resources.projects.resources.locations.methods.list.parameters.pageSize.location
- resources.projects.resources.locations.methods.list.parameters.pageSize.type
- resources.projects.resources.locations.methods.list.parameters.pageToken.description
- resources.projects.resources.locations.methods.list.parameters.pageToken.location
- resources.projects.resources.locations.methods.list.parameters.pageToken.type
- resources.projects.resources.locations.methods.list.path
- resources.projects.resources.locations.methods.list.response.$ref
- resources.projects.resources.locations.methods.list.scopes
- schemas.GoogleCloudLocationListLocationsResponse.description
- schemas.GoogleCloudLocationListLocationsResponse.id
- schemas.GoogleCloudLocationListLocationsResponse.properties.locations.description
- schemas.GoogleCloudLocationListLocationsResponse.properties.locations.items.$ref
- schemas.GoogleCloudLocationListLocationsResponse.properties.locations.type
- schemas.GoogleCloudLocationListLocationsResponse.properties.nextPageToken.description
- schemas.GoogleCloudLocationListLocationsResponse.properties.nextPageToken.type
- schemas.GoogleCloudLocationListLocationsResponse.type
- schemas.GoogleCloudLocationLocation.description
- schemas.GoogleCloudLocationLocation.id
- schemas.GoogleCloudLocationLocation.properties.displayName.description
- schemas.GoogleCloudLocationLocation.properties.displayName.type
- schemas.GoogleCloudLocationLocation.properties.labels.additionalProperties.type
- schemas.GoogleCloudLocationLocation.properties.labels.description
- schemas.GoogleCloudLocationLocation.properties.labels.type
- schemas.GoogleCloudLocationLocation.properties.locationId.description
- schemas.GoogleCloudLocationLocation.properties.locationId.type
- schemas.GoogleCloudLocationLocation.properties.metadata.additionalProperties.description
- schemas.GoogleCloudLocationLocation.properties.metadata.additionalProperties.type
- schemas.GoogleCloudLocationLocation.properties.metadata.description
- schemas.GoogleCloudLocationLocation.properties.metadata.type
- schemas.GoogleCloudLocationLocation.properties.name.description
- schemas.GoogleCloudLocationLocation.properties.name.type
- schemas.GoogleCloudLocationLocation.type

#### recommender:v1

The following keys were added:
- schemas.GoogleCloudRecommenderV1Recommendation.properties.targetResources.description
- schemas.GoogleCloudRecommenderV1Recommendation.properties.targetResources.items.type
- schemas.GoogleCloudRecommenderV1Recommendation.properties.targetResources.type
  • Loading branch information
yoshi-automation authored and bcoe committed Feb 2, 2024
1 parent abe83f6 commit 0879e9a
Show file tree
Hide file tree
Showing 4 changed files with 739 additions and 2 deletions.
9 changes: 8 additions & 1 deletion discovery/recommender-v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -1686,7 +1686,7 @@
}
}
},
"revision": "20231217",
"revision": "20240128",
"rootUrl": "https://recommender.googleapis.com/",
"schemas": {
"GoogleCloudRecommenderV1CostProjection": {
Expand Down Expand Up @@ -2204,6 +2204,13 @@
"$ref": "GoogleCloudRecommenderV1RecommendationStateInfo",
"description": "Information for state. Contains state and metadata."
},
"targetResources": {
"description": "Fully qualified resource names that this recommendation is targeting.",
"items": {
"type": "string"
},
"type": "array"
},
"xorGroupId": {
"description": "Corresponds to a mutually exclusive group ID within a recommender. A non-empty ID indicates that the recommendation belongs to a mutually exclusive group. This means that only one recommendation within the group is suggested to be applied.",
"type": "string"
Expand Down
226 changes: 225 additions & 1 deletion discovery/recommender-v1beta1.json
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,49 @@
"billingAccounts": {
"resources": {
"locations": {
"methods": {
"list": {
"description": "Lists locations with recommendations or insights.",
"flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations",
"httpMethod": "GET",
"id": "recommender.billingAccounts.locations.list",
"parameterOrder": [
"name"
],
"parameters": {
"filter": {
"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
"location": "query",
"type": "string"
},
"name": {
"description": "The resource that owns the locations collection, if applicable.",
"location": "path",
"pattern": "^billingAccounts/[^/]+$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "The maximum number of results to return. If not set, the service selects a default.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+name}/locations",
"response": {
"$ref": "GoogleCloudLocationListLocationsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"insightTypes": {
"methods": {
Expand Down Expand Up @@ -536,6 +579,49 @@
"folders": {
"resources": {
"locations": {
"methods": {
"list": {
"description": "Lists locations with recommendations or insights.",
"flatPath": "v1beta1/folders/{foldersId}/locations",
"httpMethod": "GET",
"id": "recommender.folders.locations.list",
"parameterOrder": [
"name"
],
"parameters": {
"filter": {
"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
"location": "query",
"type": "string"
},
"name": {
"description": "The resource that owns the locations collection, if applicable.",
"location": "path",
"pattern": "^folders/[^/]+$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "The maximum number of results to return. If not set, the service selects a default.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+name}/locations",
"response": {
"$ref": "GoogleCloudLocationListLocationsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"insightTypes": {
"resources": {
Expand Down Expand Up @@ -863,6 +949,49 @@
"organizations": {
"resources": {
"locations": {
"methods": {
"list": {
"description": "Lists locations with recommendations or insights.",
"flatPath": "v1beta1/organizations/{organizationsId}/locations",
"httpMethod": "GET",
"id": "recommender.organizations.locations.list",
"parameterOrder": [
"name"
],
"parameters": {
"filter": {
"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
"location": "query",
"type": "string"
},
"name": {
"description": "The resource that owns the locations collection, if applicable.",
"location": "path",
"pattern": "^organizations/[^/]+$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "The maximum number of results to return. If not set, the service selects a default.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+name}/locations",
"response": {
"$ref": "GoogleCloudLocationListLocationsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"insightTypes": {
"methods": {
Expand Down Expand Up @@ -1291,6 +1420,49 @@
"projects": {
"resources": {
"locations": {
"methods": {
"list": {
"description": "Lists locations with recommendations or insights.",
"flatPath": "v1beta1/projects/{projectsId}/locations",
"httpMethod": "GET",
"id": "recommender.projects.locations.list",
"parameterOrder": [
"name"
],
"parameters": {
"filter": {
"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
"location": "query",
"type": "string"
},
"name": {
"description": "The resource that owns the locations collection, if applicable.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "The maximum number of results to return. If not set, the service selects a default.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+name}/locations",
"response": {
"$ref": "GoogleCloudLocationListLocationsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"insightTypes": {
"methods": {
Expand Down Expand Up @@ -1748,9 +1920,61 @@
}
}
},
"revision": "20231217",
"revision": "20240128",
"rootUrl": "https://recommender.googleapis.com/",
"schemas": {
"GoogleCloudLocationListLocationsResponse": {
"description": "The response message for Locations.ListLocations.",
"id": "GoogleCloudLocationListLocationsResponse",
"properties": {
"locations": {
"description": "A list of locations that matches the specified filter in the request.",
"items": {
"$ref": "GoogleCloudLocationLocation"
},
"type": "array"
},
"nextPageToken": {
"description": "The standard List next-page token.",
"type": "string"
}
},
"type": "object"
},
"GoogleCloudLocationLocation": {
"description": "A resource that represents a Google Cloud location.",
"id": "GoogleCloudLocationLocation",
"properties": {
"displayName": {
"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
"type": "string"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
"type": "object"
},
"locationId": {
"description": "The canonical id for this location. For example: `\"us-east1\"`.",
"type": "string"
},
"metadata": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"description": "Service-specific metadata. For example the available capacity at the given location.",
"type": "object"
},
"name": {
"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
"type": "string"
}
},
"type": "object"
},
"GoogleCloudRecommenderV1beta1CostProjection": {
"description": "Contains metadata about how much money a recommendation can save or incur.",
"id": "GoogleCloudRecommenderV1beta1CostProjection",
Expand Down
4 changes: 4 additions & 0 deletions src/apis/recommender/v1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,10 @@ export namespace recommender_v1 {
* Information for state. Contains state and metadata.
*/
stateInfo?: Schema$GoogleCloudRecommenderV1RecommendationStateInfo;
/**
* Fully qualified resource names that this recommendation is targeting.
*/
targetResources?: string[] | null;
/**
* Corresponds to a mutually exclusive group ID within a recommender. A non-empty ID indicates that the recommendation belongs to a mutually exclusive group. This means that only one recommendation within the group is suggested to be applied.
*/
Expand Down
Loading

0 comments on commit 0879e9a

Please sign in to comment.