Pricing API endpoints
Use the Pricing API endpoints to manage the Pricing service. Before you run an endpoint, make sure that you authenticate the API request.
openapi: 3.0.1 components: schemas: Provider: type: string enum: - AWS - AZURE - GOOGLE - IBM - ORACLE SimulationTarget: type: object properties: region: type: string provider: $ref: '#/components/schemas/Provider' unsuitable_resource: type: boolean operating_system: type: string instance_type: type: string price_variation_rate: type: number transaction_units: type: number storage_iops: type: number custom_vcpu: type: integer storage_size_gb: type: number storage_type: type: string custom_memory_gb: type: integer disk_number: type: number InstanceConfiguration: type: object properties: instance_family: type: string instance_sub_family: type: string benchmark_inclusive_lower_bound: type: number vcpu_inclusive_lower_bound: type: number memory_gb_inclusive_lower_bound: type: number exclude_burstable_instance: type: boolean daily_avg_cpu_util: type: number StorageConfiguration: type: object properties: use_temporary_storage: type: boolean storage_size_gb: type: number SimulationRequest: type: object properties: targets: type: array items: $ref: '#/components/schemas/SimulationTarget' instance_configuration: $ref: '#/components/schemas/InstanceConfiguration' storage_configuration: $ref: '#/components/schemas/StorageConfiguration' StoragePricingPerGB: required: - price type: object properties: over: type: string price: type: number StoragePricing: type: object properties: monthly_price_per_disk: type: number monthly_price_per_gb: type: array items: $ref: '#/components/schemas/StoragePricingPerGB' monthly_price_per_iops: type: number Storage: required: - name - pricing type: object properties: name: type: string id: type: string max_throughput_volume: type: number pricing: $ref: '#/components/schemas/StoragePricing' monthly_cost: type: number storage_fixed_size: type: boolean volume_type: type: string iops_relevant: type: boolean premium: type: boolean max_volume_size_gb: type: number storage_media: type: string dro: type: string min_volume_size_gb: type: number max_iops_volume: type: number ComputePricing: type: object properties: reserved_3y_vcpu: type: number on_demand_vcpu: type: number on_demand: type: number reserved_1y_vcpu: type: number on_demand_memory_gb: type: number reserved_1y_memory_gb: type: number reserved_3y_memory_gb: type: number reserved_1y: type: number reserved_3y: type: number CustomInstanceConstraints: required: - max_memory_gb - max_vcpu - min_memory_gb - min_memory_gb_per_vcpu - min_vcpu type: object properties: min_vcpu: type: integer max_vcpu: type: integer max_memory_gb: type: integer min_memory_gb: type: integer min_memory_gb_per_vcpu: type: number Benchmark: required: - name - value type: object properties: name: type: string value: type: number InstanceType: type: object properties: local_disk_id: type: string constraints: $ref: '#/components/schemas/CustomInstanceConstraints' unsuitable_resource: type: boolean local_disk_max_instances: type: integer instance_type: type: string custom: type: boolean license_type: type: string instance_family: type: string instance_label: type: string deprecated: type: boolean memory_gb: type: number monthly_pricing: $ref: '#/components/schemas/ComputePricing' vcpu: type: integer benchmark: $ref: '#/components/schemas/Benchmark' instance_sub_family: type: string local_storage_type: type: string burstable_threshold: type: string instance_family_label: type: string local_storage_gb: type: number premium_support: type: boolean StorageSpecs: type: object properties: total_storage_size_gb: type: number catalog_local_storage_gb: type: number transaction_units: type: number extra_size_gb: type: number storage_iops: type: number disk_number: type: number ephemeral_size_gb: type: number SimulationResult: type: object properties: region: type: string storage: $ref: '#/components/schemas/Storage' monthly_cost: $ref: '#/components/schemas/ComputePricing' instance_type: $ref: '#/components/schemas/InstanceType' storage_specs: $ref: '#/components/schemas/StorageSpecs' ApiError: title: ApiError description: An error message returned by the server type: object required: - code - message properties: code: type: string message: type: string transient: type: boolean StorageTypeParams: type: object properties: instance_type: type: string transaction_units: type: number iops_number: type: number disk_number: type: number size_gb: type: number Region: type: object properties: region_code: type: string region_name: type: string is_gov: type: boolean LicenseTypesRequest: required: - instance_type_id type: object properties: instance_type_id: type: string LicenseType: required: - license_type_id - license_type_label type: object properties: license_type_id: type: string license_type_label: type: string InstanceSize: required: - memory_gb type: object properties: constraints: $ref: '#/components/schemas/CustomInstanceConstraints' custom: type: boolean memory_gb: type: number vcpu: type: integer benchmark: $ref: '#/components/schemas/Benchmark' local_storage_type: type: string local_storage_gb: type: number InstanceFamily: required: - instance_family_label - instance_types type: object properties: instance_types: type: array items: $ref: '#/components/schemas/InstanceType' instance_family_label: type: string AboutInfo: title: About info description: Basic information about the running service type: object properties: api_versions: type: array items: type: string example: - 1 version: type: string example: 1 component: type: string example: analysis-service product: type: string example: TrueSight Helix Capacity Optimization responses: InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' tags: - name: Simulation description: Run analyses and check their status - name: Storage description: Details about instances storage - name: Region description: Details about cloud provider regions - name: Instance description: Details about instances - name: License type description: Details about operating systems and software licences - name: Catalogs last update description: Provides the catalog generation timestamps - name: About description: Status of the service and the cloud catalogs paths: /opt/api/v1/price/simulation: post: tags: - Simulation operationId: simulate requestBody: content: application/json: schema: $ref: '#/components/schemas/SimulationRequest' required: true responses: '200': description: OK content: application/json: schema: type: object additionalProperties: $ref: '#/components/schemas/SimulationResult' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/regions/{region_code}/storage_types/{storage_id}/cost': post: tags: - Storage operationId: getStorageTypeCost parameters: - name: providerid in: path required: true schema: type: string - name: region_code in: path required: true schema: type: string - name: storage_id in: path required: true schema: type: string - name: price_variation_rate in: query required: false schema: type: number requestBody: content: application/json: schema: $ref: '#/components/schemas/StorageTypeParams' required: true responses: '200': description: OK content: application/json: schema: type: number '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/storage/default_transaction_units': get: tags: - Storage operationId: getDefaultTransactionUnits parameters: - name: providerid in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: object additionalProperties: type: number '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/regions': get: tags: - Region operationId: getRegionsByProvider parameters: - name: providerid in: path required: true schema: type: string - name: region_name in: query required: false schema: type: string - name: exclude_gov_regions in: query required: false schema: type: boolean default: false responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Region' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/regions/{region_code}': get: tags: - Region operationId: getRegionByProviderAndRegionCode parameters: - name: providerid in: path required: true schema: type: string - name: region_code in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Region' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/regions/{region_code}/storage_types': get: tags: - Storage operationId: getStorageTypes parameters: - name: providerid in: path required: true schema: type: string - name: region_code in: path required: true schema: type: string - name: instance_type in: query required: false schema: type: string - name: price_variation_rate in: query required: false schema: type: number responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Storage' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/regions/{region_code}/storage_types/{storage_id}': get: tags: - Storage operationId: getStorageTypesById parameters: - name: providerid in: path required: true schema: type: string - name: region_code in: path required: true schema: type: string - name: storage_id in: path required: true schema: type: string - name: instance_type in: query required: false schema: type: string - name: price_variation_rate in: query required: false schema: type: number responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Storage' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/regions/{region_code}/instance_types': get: tags: - Instance operationId: getListOfInstanceTypeByProviderAndRegion parameters: - name: providerid in: path required: true schema: type: string - name: region_code in: path required: true schema: type: string - name: price_variation_rate in: query required: false schema: type: number responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/InstanceType' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/regions/{region_code}/instance_types/{instance_type_id}': get: tags: - Instance operationId: getInstanceTypeByProviderAndRegionAndInstanceTypeId parameters: - name: providerid in: path required: true schema: type: string - name: region_code in: path required: true schema: type: string - name: instance_type_id in: path required: true schema: type: string - name: license_type in: query required: true schema: type: string - name: price_variation_rate in: query required: false schema: type: number - name: custom_vcpu in: query required: false schema: type: integer - name: custom_memory_gb in: query required: false schema: type: integer responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/InstanceType' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/regions/{region_code}/license_types': post: tags: - Instance operationId: getLicenseTypesByProviderAndRegionAndInstanceTypeId parameters: - name: providerid in: path required: true schema: type: string - name: region_code in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LicenseTypesRequest' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/LicenseType' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/regions/{region_code}/instance_size/{instance_type}': get: tags: - Instance operationId: getInstanceSizeByProviderAndRegion parameters: - name: providerid in: path required: true schema: type: string - name: region_code in: path required: true schema: type: string - name: instance_type in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/InstanceSize' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/regions/{region_code}/instance_families': get: tags: - Instance operationId: getInstanceFamiliesByProviderAndRegion parameters: - name: providerid in: path required: true schema: type: string - name: region_code in: path required: true schema: type: string - name: license_type in: query required: false schema: type: string - name: price_variation_rate in: query required: false schema: type: number responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/InstanceFamily' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/regions/{region_code}/cheapest_instance': get: tags: - Instance operationId: getCheapestInstanceType parameters: - name: providerid in: path required: true schema: type: string - name: region_code in: path required: true schema: type: string - name: license_type in: query required: false schema: type: string - name: vcpu_inclusive_lower_bound in: query required: false schema: type: number - name: memory_gb_inclusive_lower_bound in: query required: false schema: type: number - name: storage_type_id in: query required: false schema: type: string - name: instance_family in: query required: false schema: type: string - name: instance_sub_family in: query required: false schema: type: string - name: benchmark_inclusive_lower_bound in: query required: false schema: type: number - name: exclude_burstable in: query required: false schema: type: boolean default: false - name: daily_avg_cpu_util in: query required: false schema: type: number - name: price_variation_rate in: query required: false schema: type: number responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/InstanceType' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/license_type': get: tags: - License type operationId: getLicenseType parameters: - name: providerid in: path required: true schema: type: string - name: sku in: query required: false schema: type: array items: type: string - name: product in: query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LicenseType' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/price/providers/{providerid}/default_region': get: tags: - Region operationId: getDefaultRegionByProvider parameters: - name: providerid in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Region' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/price/providers/last_update: get: tags: - Catalogs last update operationId: getCatalogsLastUpdate responses: '200': description: OK content: application/json: schema: type: object additionalProperties: type: string '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/price/providers/1/sku_os_map: get: tags: - License type operationId: getSkuToOsMap responses: '200': description: OK content: application/json: schema: type: object additionalProperties: type: string '500': $ref: '#/components/responses/InternalServerError' /opt/api/price/about: get: tags: - About operationId: about security: [] responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AboutInfo' '500': $ref: '#/components/responses/InternalServerError'