oci-go-sdk
oci-go-sdk copied to clipboard
Unable to listing out Autonomous Exadata Infrastructure resources
Hi Team, We are using the List API for listing out the available Autonomous Exadata Infrastructure resources, the API does not return any data or error, even if the resources are available in console.
We would like to list the available resources in the console.
Thanks!
@ParthaI Could you share your code snippet on how you're using this List API? Thanks! Looks like you're also unable to list resources using CLI, this is probably because:
- you're using the config file which does not match the account you use in the console and is missing permissions to access those resources
- the region you're accessing is not having the resources, please check which region you're targeting.
Hi, @ZiyaoQiao Thanks for the quick reply.
- I don't know the API behavior or how it behaves, It does not throw any
AccessDeniederror while making CLI calls or Go API calls. I used the same User API keys as I am accessing the console. Using same access I am able to see the resources available in the console. - I had resources in
ap-hyderabad-1region though it is costly resources I deleted those. - Do I need any other grants for making CLI call?.
Hello @ZiyaoQiao, any update on this issue?
@ParthaI as requested by @ZiyaoQiao , can you please share a code snippet which reproduces the issue?
Some other questions:
- Are you able to list other OCI resources from the same box, for the same region, and using the same credentials? What about for a different region?
- Are you able to list other OCI Database service resources from the same box, for the same region, and using the same credentials? What about for a different region?
Hi @jodoglevy. Hope you are doing well!
- Yes, I am able to list other OCI resources from the same box, for the same region, and using the same credentials, for other regions I am getting empty results if there are no resources available in the mentioned region. If I don't have appropriate grants then I am getting the AccessDenied/Forbidden error fo the resources.
- Yes, I am able to list other OCI Database service resources from the same box, for the same region, and using the same credentials.For other regions I am getting the empty results and same error as mentioned above.
Below is the sample code I am using to listing out ADB EXA resources
func listAutonomousExadatainfrastructure(ctx context.Context, d *plugin.QueryData, _ *plugin.HydrateData) (interface{}, error) {
logger := plugin.Logger(ctx)
region := plugin.GetMatrixItem(ctx)[matrixKeyRegion].(string)
compartment := plugin.GetMatrixItem(ctx)[matrixKeyCompartment].(string)
logger.Debug("listAutonomousContainerDatabases", "Compartment", compartment, "OCI_REGION", region)
equalQuals := d.KeyColumnQuals
// quals := d.Quals
// Return nil, if given compartment_id doesn't match
if equalQuals["compartment_id"] != nil && compartment != equalQuals["compartment_id"].GetStringValue() {
return nil, nil
}
// Create Session
session, err := databaseService(ctx, d, region)
if err != nil {
return nil, err
}
// Build request parameters
// request := buildAutonomousContainerDatabaseFilter(equalQuals, quals)
request := &database.ListAutonomousExadataInfrastructuresRequest{}
request.CompartmentId = types.String(compartment)
request.Limit = types.Int(1000)
request.RequestMetadata = common.RequestMetadata{
RetryPolicy: getDefaultRetryPolicy(d.Connection),
}
limit := d.QueryContext.Limit
if limit != nil {
if *limit < int64(*request.Limit) {
request.Limit = types.Int(int(*limit))
}
}
pagesLeft := true
for pagesLeft {
response, err := session.DatabaseClient.ListAutonomousExadataInfrastructures(ctx, *request)
plugin.Logger(ctx).Error("Response Length =========>>>>>>", len(response.Items))
if err != nil {
return nil, err
}
for _, container := range response.Items {
d.StreamListItem(ctx, container)
// Context can be cancelled due to manual cancellation or the limit has been hit
if d.QueryStatus.RowsRemaining(ctx) == 0 {
return nil, nil
}
}
if response.OpcNextPage != nil {
request.Page = response.OpcNextPage
} else {
pagesLeft = false
}
}
return nil, err
}
Thanks!
@ParthaI Autonomous Exadata Infrastructure has been migrated to 2 different resources - Cloud Exadata Infrastructure (CEI) and Cloud Autonomous VM Cluster (CAVM). This change was to decouple hardware (CEI) and VMs (CAVM) running on the hardware. With the split, we can enable users to create multiple clusters on the same hardware (multi-VM feature will be available soon).
The new resource hierarchy will be: CloudExadataInfrastructure -> CloudAutonomousVmCluster -> AutonomousContainerDatabase -> AutonomousDatabase
Please try to list CloudAutonomousVmClusters and you should see your resources.
Hi @ParthaI , we will be closing this ticket as we haven't heard from you on the above suggestion. Please feel free to re-open the ticket if you still have issues.
Thanks.