Creating Cloud Advisor policies
This section describes the advanced details of writing policies for Cloud Advisor. Use policies to control access to Cloud Advisor.
Resource-Types
optimizer-api-family
optimizer-category
optimizer-enrollment
optimizer-history
optimizer-profile
optimizer-profile-level
optimizer-recommendation
optimizer-recommendation-strategy
optimizer-resource-action
optimizer-resource-metadata
optimizer-workrequest
Supported Variables
Cloud Advisor supports all the general variables (see General Variables for All Requests), plus the variables listed in the following table:
| Operations for this resource-type... | Can Use These Variables... | Variable Type | Comments | 
|---|---|---|---|
| recommendation | target.recommendation.name | String | Available for ListHistories, ListResourceActions, and GetResourceAction | 
| r esource-type | target.resource.type | String | Available for ListHistories, ListResourceActions, and GetResourceAction | 
Details for Verb + Resource-Type Combinations
The following tables show the permissions and API operations covered by each verb. The level of access is cumulative as you go from inspect  >  read  >  use  >  manage. A plus sign (+) in a table cell indicates incremental access compared to the cell directly above it, whereas "no extra" indicates no incremental access.
optimizer-category
| Verbs | Permissions | APIs Fully Covered | APIs Partially Covered | 
|---|---|---|---|
| inspect | OPTIMIZER_CATEGORY_INSPECT | 
 | none | 
| read | INSPECT + OPTIMIZER_CATEGORY_READ | INSPECT + 
 | none | 
| use | no extra | no extra | none | 
| manage | no extra | no extra | none | 
optimizer-enrollment
| Verbs | Permissions | APIs Fully Covered | APIs Partially Covered | 
|---|---|---|---|
| inspect | OPTIMIZER_ENROLLMENT_INSPECT | 
 | none | 
| read | INSPECT + OPTIMIZER_ENROLLMENT_READ | INSPECT + 
 | none | 
| use | READ + OPTIMIZER_ENROLLMENT_UPDATE | READ + 
 | none | 
| manage | no extra | no extra | none | 
optimizer-history
| Verbs | Permissions | APIs Fully Covered | APIs Partially Covered | 
|---|---|---|---|
| inspect | OPTIMIZER_HISTORY_INSPECT | no extra | ListHistories (optimizer-resource-metadata) | 
| read | no extra | no extra | none | 
| use | no extra | no extra | none | 
| manage | no extra | no extra | none | 
optimizer-profile
| Verbs | Permissions | APIs Fully Covered | APIs Partially Covered | 
|---|---|---|---|
| inspect | OPTIMIZER_PROFILE_INSPECT | 
 | none | 
| read | INSPECT + OPTIMIZER_PROFILE_READ | INSPECT + 
 | none | 
| use | READ + OPTIMIZER_PROFILE_UPDATE | READ + 
 | none | 
| manage | USE + OPTIMIZER_PROFILE_CREATE OPTIMIZER_PROFILE_DELETE | USE + 
 
 | none | 
optimizer-profile-level
| Verbs | Permissions | APIs Fully Covered | APIs Partially Covered | 
|---|---|---|---|
| inspect | OPTIMIZER_PROFILE_LEVEL_INSPECT | 
 | none | 
| read | no extra | no extra | none | 
| use | no extra | no extra | none | 
| manage | no extra | no extra | none | 
optimizer-recommendation
| Verbs | Permissions | APIs Fully Covered | APIs Partially Covered | 
|---|---|---|---|
| inspect | OPTIMIZER_RECOMMENDATION_INSPECT | 
 | none | 
| read | INSPECT + OPTIMIZER_RECOMMENDATION_READ | INSPECT + 
 | none | 
| use | READ + OPTIMIZER_RECOMMENDATION_UPDATE | READ + 
 | none | 
| manage | no extra | no extra | none | 
optimizer-recommendation-strategy
| Verbs | Permissions | APIs Fully Covered | APIs Partially Covered | 
|---|---|---|---|
| inspect | OPTIMIZER_RECOMMENDATION_STRATEGY_INSPECT | 
 | none | 
| read | no extra | no extra | none | 
| use | no extra | no extra | none | 
| manage | no extra | no extra | none | 
optimizer-resource-action
| Verbs | Permissions | APIs Fully Covered | APIs Partially Covered | 
|---|---|---|---|
| inspect | OPTIMIZER_RESOURCE_ACTION_INSPECT | 
 
 | ListResourceActions(optimizer-resource-metadata) | 
| read | INSPECT + OPTIMIZER_RESOURCE_ACTION_READ | INSPECT + no extra | 
 (optimizer-resource-metadata) | 
| use | READ + OPTIMIZER_RESOURCE_ACTION_UPDATE | READ + 
 
 | none READ +no extra | 
| manage | no extra | no extra | noneno extra | 
optimizer-resource-metadata
| Verbs | Permissions | APIs Fully Covered | APIs Partially Covered | 
|---|---|---|---|
| inspect | OPTIMIZER_RESOURCE_METADATA_INSPECT | None | None | 
| read | OPTIMIZER_RESOURCE_METADATA_READ | None | ListResourceActions, ListHistories, GetResourceAction | 
| use | READ + OPTIMIZER_RESOURCE_METADATA_UPDATE | None | None no extra | 
| manage | OPTIMIZER_RESOURCE_METADATA_MANAGE | None | no extra | 
optimizer-workrequest
| Verbs | Permissions | APIs Fully Covered | APIs Partially Covered | 
|---|---|---|---|
| inspect | OPTIMIZER_WORKREQUEST_INSPECT | 
 
 
 | none | 
| read | INSPECT + OPTIMIZER_WORKREQUEST_READ | INSPECT + 
 | none | 
| use | no extra | no extra | none | 
| manage | no extra | no extra | none | 
Permissions Required for Each API Operation
The following table lists the API operations in a logical order, grouped by resource type.
For information about permissions, see Permissions.
| API Operation | Permissions Required to Use the Operation | 
|---|---|
| GetCategory | OPTIMIZER_CATEGORY_READ | 
| ListCategories | OPTIMIZER_CATEGORY_INSPECT | 
| GetEnrollmentStatus | OPTIMIZER_ENROLLMENT_READ | 
| UpdateEnrollmentStatus | OPTIMIZER_ENROLLMENT_UPDATE | 
| ListEnrollmentStatuses | OPTIMIZER_ENROLLMENT_INSPECT | 
| ListHistories | OPTIMIZER_HISTORY_INSPECT | 
| CreateProfile | OPTIMIZER_PROFILE_CREATE | 
| GetProfile | OPTIMIZER_PROFILE_READ | 
| ListProfiles | OPTIMIZER_PROFILE_INSPECT | 
| UpdateProfile | OPTIMIZER_PROFILE_UPDATE | 
| DeleteProfile | OPTIMIZER_PROFILE_DELETE | 
| GetRecommendation | OPTIMIZER_RECOMMENDATION_READ | 
| ListRecommendations | OPTIMIZER_RECOMMENDATION_INSPECT | 
| UpdateRecommendation | OPTIMIZER_RECOMMENDATION_UPDATE | 
| ListRecommendationStrategies | OPTIMIZER_RECOMMENDATION_STRATEGY_INSPECT | 
| GetResourceAction | OPTIMIZER_RESOURCE_ACTION_READ | 
| UpdateResourceAction | OPTIMIZER_RESOURCE_ACTION_UPDATE | 
| FilterResourceActions | OPTIMIZER_RESOURCE_ACTION_INSPECT | 
| ListResourceActionQueryableFields | OPTIMIZER_RESOURCE_ACTION_INSPECT | 
| BulkApplyRecommendations | OPTIMIZER_RESOURCE_ACTION_UPDATE | 
| ListResourceActions | OPTIMIZER_RESOURCE_ACTION_INSPECT | 
| ListProfileLevels | OPTIMIZER_PROFILE_LEVEL_INSPECT | 
| GetWorkRequest | OPTIMIZER_WORKREQUEST_READ | 
| ListWorkRequests | OPTIMIZER_WORKREQUEST_INSPECT | 
| ListWorkRequestErrors | OPTIMIZER_WORKREQUEST_INSPECT | 
| ListWorkRequestLogs | OPTIMIZER_WORKREQUEST_INSPECT |