-
Notifications
You must be signed in to change notification settings - Fork 307
Open
Description
How can we retrieve the costs of child tenancies using the OCI Python SDK and the Usage API.
Suppose I have four child tenancies, each associated with a single parent tenancy. I need to fetch the costs of those child tenancies with parent tenancies using Usage API calls.
@adizohar, can you guide me on how to achieve this?.
import oci
config = oci.config.from_file()
tenant_id = config['tenancy']
time_usage_started = "2024-04-01T00:00:00Z"
time_usage_ended = "2024-04-21T00:00:00Z"
lis=[]
usage_client = oci.usage_api.UsageapiClient(config,timeout=(10,3000))
requestSummarizedUsagesDetails = oci.usage_api.models.RequestSummarizedUsagesDetails(
tenant_id=tenant_id,
granularity='DAILY',
query_type='USAGE',
group_by=[ 'resourceId','service','compartmentName'],
time_usage_started=time_usage_started,
time_usage_ended=time_usage_ended,
compartment_depth=2
)
# CUSTOM_RETRY_STRATEGY = RetryStrategyBuilder().add_max_attempts(max_attempts=8) \
# .add_total_elapsed_time(total_elapsed_time_seconds=25000) \
# .add_service_error_check(service_error_retry_config=retry_checkers.RETRYABLE_STATUSES_AND_CODES,
# service_error_retry_on_any_5xx=True) \
# .get_retry_strategy()
# Retrieve summarized usage data
request_summarized_usages = usage_client.request_summarized_usages(
requestSummarizedUsagesDetails,
retry_strategy=oci.retry.DEFAULT_RETRY_STRATEGY
)
for item in request_summarized_usages.data.items:
print(len(item.resource_id))
Metadata
Metadata
Assignees
Labels
No labels