Provider | Native | Terraform |
---|---|---|
Alibaba Cloud | Not supported | Not supported |
Amazon Web Services | Not supported | Supported |
Google Cloud Platform | Not supported | Supported |
IBM Cloud | Not supported | Not supported |
Microsoft Azure | Supported | Supported |
Red Hat Marketplace | Not supported | Not supported |
vRA | Not supported | Not supported |
ServiceNow | Not supported | Not supported |
CP4MCM | Not supported | Not supported |
Custom providers | Not supported | Not supported |
Provider | Native | Terraform |
---|---|---|
Alibaba Cloud | Not supported | Not supported |
Amazon Web Services | Supported | Supported |
Google Cloud Platform | Supported | Supported |
IBM Cloud | Not supported | Not supported |
Microsoft Azure | Supported | Supported |
Red Hat Marketplace | Not supported | Not supported |
vRA | Not supported | Not supported |
ServiceNow | Not supported | Not supported |
CP4MCM | Not supported | Not supported |
Custom providers | Not supported | Not supported |
Name | Description | Example usage | Default | Allowed values | Maximum length | Required |
---|---|---|---|---|---|---|
Resource Type/ Service Id/ Service Group Id | The type of resource that you are setting the rate for. Multiple resource types entries can be added in a single rate card | google_compute_instance | N/A | String | N/A | Yes |
Type | Whether value entered in Resource Type/ Service Id/ Service Group Id field is a resource , serviceOffering or serviceGroup . | resource | serviceOffering | string | N/A | Yes |
Region | The physical location of the resource being configured. If the resource does not has location attribute or if the price is region independent, it should be left blank. | eastus is the Azure locationus‑west‑1 is the GCP locationus‑east‑2 is the AWS location | N/A | string | N/A | No |
SKU Name - Unique | A unique identifier for a rate-card item. | Can be any name that uniquely identifies the item/row such as Managed disk S4 . | N/A | string | 64 | Yes |
SKU Description | A description for your rate-card item that appears in the Bill of Materials as a label for the line item. If you do not enter this, that description will be formed using the SKU Name and Region . | Standard HDD disk for eastus region of type S4 | N/A | string | 256 | No |
Expression | Contains string expression/condition to determine whether the item will be picked. Nested attributes are supported in the expression by giving the JSON path of the attribute You can combine multiple expressions with the "and" operator. The comparison operators that are supported are "==", "<=", ">=", "<", ">". If the rate is static and does not depend on any resource attribute, set the expression value to "TRUE". This field can be left blank if the price is dependent on just region. Expression and Region blank. | storage_account_type == Standard_LRS and disk_size_gb >= 32 and disk_size_gb < 65 .In this example, storage_account_type and disk_size_gb are the attributes of the resource managed_disk .Nested attribute example: property.type == Standard_LRS | N/A | string | N/A | No |
Unit of Measure | Describes the unit that is used to determine the price. The unit of measure also determines whether it is a Recurring charge or Usage charge. If the unit is "Hour", "Month", "Day", or "1 Hour", then it will be a Recurring charge. Units like "1/Month", "GB/Month", and so on are considered Usage charges. | Recurring charge examples: "Hour", "Month", "Day", "1 Hour" Usage charge examples: "1/Month", "1 GB/Month",”Size/Month”, ”100/Month”, ”1/Day”, ”1 GB/Hour” | N/A | string | N/A | Yes |
Rate | Provides the rate for the resource type, which is either per time frame (recurring charge) or per unit (usage charge). This is applied when the expression condition is satisfied. | 0 , .1, 0.5, 1.24, 5 | N/A | Float
Integer | N/A | Yes |
Tier Config | For this field, a resource attribute can be provided for which we want to calculate price based on tier. The rate will be multiplied by the resource attribute value for the final price. Nested resource attribute path is supported. Also, operation multiplication, division, addition and subtraction operations are supported for conversions. | Example: node_count is the attribute for the resource kubernetes_cluster_node_pool . Its value tells us how many nodes will be created in the pool. So, the final price will be the rate multiplied by the node_count value.Operation example: disk_size_gb*1024 will convert the disk size into MB. This can be used in a scenario if the Unit of measure is 1/MB. Nested resource attribute path example: boot_disk[0].initialize_params[0].size . This example is the boot disk size path of google_compute_instance Terraform resource. | N/A | string | N/A | No |
resource "google_compute_instance" "newtest" { name = "mybasicinstance" zone = "asia-east1-a" machine_type = "f1-micro" boot_disk { auto_delete = false initialize_params { size = 20 type = "pd-standard" image = "debian-cloud/debian-9" } } attached_disk { source = google_compute_disk.disk_add.name mode = "READ_WRITE" } network_interface { network = google_compute_network.netnew.name } scheduling { automatic_restart = false on_host_maintenance = "TERMINATE" preemptible = true } }
Resource Type/ Service Id/ Service Group Id | Type | SKU Name | SKU Description | Expression | Unit of Measure | Rate | Tier Config |
---|---|---|---|---|---|---|---|
google_compute_instance | resource | Compute Engine | f1-micro machine Asia-East1 | machine_type==f1-micro and zone==asia-east1-a | 1/Month | 6.7 | |
google_compute_instance | resource | Compute Engine Boot disk | Standard persistent disk size less than 30 GB for Asia-East1 | boot_disk[0].initialize_params[0].size<=30 and zone==asia-east1-a | 1 GB/Month | 0 | |
google_compute_instance | resource | Compute Engine Boot disk 2 | Standard persistent disk size greater than 30 GB for Asia-East1 | boot_disk[0].initialize_params[0].size<=30 and zone==asia-east1-a | 1 GB/Month | .04 | machine_type==f1-micro and boot_disk[0].initialize_params[0].size-30 |
google_compute_instance | resource | Licensing Fee for RedHat Enterprise Linux 8 on f1-micro | Licensing Fee for RedHat Enterprise Linux 8 on f1-micro | machine_type==f1-micro and boot_disk[0].initialize_params[0].image==rhel-cloud/rhel-8 | 1 Hour | .06 | |
google_compute_instance | resource | Licensing Fee for Debian 9 Stretch on f1-micro | Licensing Fee for Debian 9 Stretch on f1-micro | machine_type==f1-micro and boot_disk[0].initialize_params[0].image==debian-cloud/debian-9 | 1 Hour | 0 |
Name | Description | Example usage | Default | Allowed values | Maximum length | Required |
---|---|---|---|---|---|---|
Resource Type/ Service Id/ Service Group Id | The unique ID of the catalog (Service Id) or catalog group (Service Group Id). | CB_AZ_ARM_LIN_VM_S00 | N/A | string | N/A | Yes |
Type | It tells us whether value entered in the Resource Type/ Service Id/ Service Group Id field is a resource or serviceOffering or serviceGroup . | serviceOffering or serviceGroup | serviceOffering | string | N/A | No |
Region | The physical location of the resource being configured. Value of the location config id should be filledlocation config does not exist, it should be left blank. | eastus is the Azure locationus‑west‑1 is the GCP locationus‑east‑2 is the AWS location | N/A | string | N/A | No |
SKU Name - Unique | A unique identifier for a rate-card item. | It can be any name that uniquely identifies the item/row such as Managed disk S4 | N/A | string | 64 | Yes |
SKU Description | An optional description for your rate-card item. This description appears in the Bill of Materials as a label for the line item. If you do not enter this, that description will be formed using the SKU Name and Region. | Standard HDD disk for eastus region of type S4 | N/A | string | 256 | No |
Expression | Contains string expression/condition to determine whether the item will be picked You can combine multiple expressions with the "and" operator. The comparison operators that are supported are "==", "<=", ">=", "<", ">". If the rate is static and does not depend on any resource attribute, set the expression value to "TRUE". This field can be left blank if the price is dependent on just ularregion. Both Expression and Region can not be left blank. | storage_account_type == Standard_LRS and disk_size_gb >= 32 and disk_size_gb < 65. In this example, type and disk_size are the attributes of the resource catalogal67kMbLm2GErYTfaR2Q4e . | N/A | string | N/A | No |
Unit of Measure | Describes the unit that is used to determine the price. The unit of measure also determines whether it is a Recurring charge or Usage charge. If the unit is "Hour", "Month", "Day", or "1 Hour", then it will be a Recurring charge. Units like "1/Month", "GB/Month", and so on are considered Usage charges. | Recurring charge examples: "Hour", "Month", "Day", "1 Hour" Usage charge examples: "1/Month", "1 GB/Month",”Size/Month”, ”100/Month”, ”1/Day”, ”1 GB/Hour” | N/A | string | N/A | Yes |
Rate | Provides the rate for the resource type, which is either per time frame (recurring charge) or per unit (usage charge). This is applied when the expression condition is satisfied. | 0 , .1, 0.5, 1.24, 5 | N/A | Float Integer | N/A | Yes |
Tier Config | For this field, config id can be provided for which we want to calculate price based on tier. The rate will be multiplied by the config value to generate the final price. Also, operation multiplication, division, addition and subtraction operations are supported for conversions. | Example: memory is the config id of catalog dC77kMbTm2fErYcfaR2Q3d . Its value tells us how much memory is assigned. So, the final price will be the rate multiplied by thememory value.Memory/1024 will convert the memory value from MB to GB. | N/A | string | N/A | No |
variable "vn_name" { type = string default = "foo" } variable "cpus" { type = number default = 1 } variable "memory" { type = number default = 1024 } variable "disk_size" { type = number default = 20 }
Resource Type/ Service Id/ Service Group Id | Type | Region | SKU Name | SKU Description | Expression | Unit of Measure | Rate | Tier Config |
---|---|---|---|---|---|---|---|---|
4SVH5mpD9YFiienhgwXSiD | serviceOffering | eastus | Disk1 | Disk size less than 30 | disk_size<=30 | GB/Month | 0 | disk_size |
4SVH5mpD9YFiienhgwXSiD | serviceOffering | eastus | Disk2 | Disk size greater than 30 | disk_size>=31 | GB/Month | 0.3 | disk_size |
variable "vn_name" { type = string default = "foo" } variable "cpus" { type = number default = 1 } variable "memory" { type = number default = 1024 } variable "disk_size" { type = number default = 20 }
Resource Type/ Service Id/ Service Group Id | Type | Region | SKU Name | SKU Description | Expression | Unit of Measure | Rate | Tier Config |
---|---|---|---|---|---|---|---|---|
4SVH5mpD9YFiienhgwXSiD | serviceOffering | eastus | Disk1 | Disk size less than 30 | TRUE | GB/Month | 5 | |
4SVH5mpD9YFiienhgwXSiD | serviceOffering | eastus | Disk2 | Disk size greater than 30 | TRUE | GB/Month | 10 |
Name | Description | Example usage | Default | Allowed values | Maximum length | Required |
---|---|---|---|---|---|---|
file | Upload the rate CSV file that you want to turn into a rate card. File needs to be uploaded with form data payload. Key should be file and uploaded file type should be csv. | Curl with --form 'file=@"/BCM-6213/aws.csv"' | N/A | CSV file | N/A | Yes |
provider_code | The path param that identifies the provider associated with the rate card. Provider code needs to be given for which rate card needs to be uploaded. | Api examples: /provider/ aws /price/ratecard/ratecards /provider/ hashicorpvsphere1cMPg81Q | N/A | azure, gcp, aws Default and custom providers from Terraform provider management are also supported such as hashicorpvsphere1cMPg81Q | N/A | Yes |
Name | Description | Example usage | Default | Allowed values | Maximum length | Required |
---|---|---|---|---|---|---|
file | Upload the updated rate CSV file file and uploaded file type should be csv. | Curl with --form 'file=@"/BCM-6213/aws.csv"' | N/A | CSV file | N/A | Yes |
provider_code | The path parameter that identifies the provider associated with the rate card. Provider code needs to be given for which rate card needs to be uploaded. | Api examples: /provider/ aws /price/ratecard/ratecards/49b00145-8608-4d31-986c-538431345e0a /provider/ hashicorpvsphere1cMPg81Q /price/ratecard/ratecards/49b00145-8608-4d31-986c-538431345e0a | N/A | azure, gcp, aws Default and custom providers from Terraform provider management are also supported such as hashicorpvsphere1cMPg81Q | N/A | Yes |
rc_id | The ID of the rate card you want to update | 49b00145-8608-4d31-986c-538431345e0a | N/A | Valid rate card IDs | 36 | Yes |
Name | Description | Example usage | Default | Allowed values | Maximum length | Required |
---|---|---|---|---|---|---|
short | If true, the query returns only the ID, name and description of the rate card. If false, it returns the entire CSV file as a JSON response. | true | false | true, false | N/A | No |
provider_code | The path param that identifies the provider associated with the rate card. The Provider code needs to be given for the rate card that needs to be uploaded. | API examples: /provider/ aws /price/ratecard/ratecards /provider/hashicorpvsphere1cMPg81Q /price/ratecard/ratecards | N/A | azure, gcp, aws Default and custom providers from Terraform provider management are also supported such as hashicorpvsphere1cMPg81Q | N/A | Yes |
Name | Description | Example usage | Default | Allowed values | Maximum length | Required |
---|---|---|---|---|---|---|
csv | Determines whether to return a CSV file (true) or JSON format of the rate card (false) If true, the exported CSV file also contains an ID column that is used to identify the row item | true | true | true, false | N/A | No |
provider_code | The path parameter that identifies the provider associated with the rate card. The provider code needs to be given for the rate card that needs to be fetched. | API examples: /provider/ aws /price/ratecard/ratecards//49b00145-8608-4d31-986c-538431345e0ahashicorpvsphere1cMPg81Q /price/ratecard/ratecards/49b00145-8608-4d31-986c-538431345e0a | N/A | azure, gcp, aws Custom values are supported | N/A | Yes |
rc_id | The ID of the rate card you want to fetch the details for | 49b00145-8608-4d31-986c-538431345e0a | N/A | Valid rc_ids | 36 | Yes |
Name | Description | Example usage | Default | Allowed values | Maximum length | Required |
---|---|---|---|---|---|---|
file | Upload the rate CSV file containing the rows that you want to update in the existing rate card. Rows to be updated need to be copied from the exported CSV file received from the Fetch rate card by ID API. The exported CSV file contains an ID column that identifies the row that needs to be updated. File needs to be uploaded with the form data payload. Key should be file and the uploaded file type should be CSV. | Curl with --form 'file=@"/BCM-6213/exported_aws_with_selected_rows.csv"' | N/A | CSV file | N/A | Yes |
action | Select the type of update action that you are performing | set | set | set | N/A | No |
provider_code | The path parameter that identifies the provider associated with the rate card. The provider code needs to be given for the rate card that needs to be patched. | /provider/ aws /price/ratecard/ratecards//49b00145-8608-4d31-986c-538431345e0ahashicorpvsphere1cMPg81Q /price/ratecard/ratecards//49b00145-8608-4d31-986c-538431345e0a | N/A | azure, gcp, aws Default and custom providers from Terraform provider management are also supported such as hashicorpvsphere1cMPg81Q | N/A | Yes |
rc_id | The ID of the rate card you want to patch | 49b00145-8608-4d31-986c-538431345e0a | N/A | Valid rate card IDs | 36 | Yes |
Name | Description | Example usage | Default | Allowed values | Maximum length | Required |
---|---|---|---|---|---|---|
provider_code | The path parameter that identifies the provider associated with the rate card. The provider code needs to be given for the rate card that needs to be deleted. | /provider/ aws /price/ratecard/ratecards//49b00145-8608-4d31-986c-538431345e0ahashicorpvsphere1cMPg81Q /price/ratecard/ratecards//49b00145-8608-4d31-986c-538431345e0a | N/A | azure, gcp, aws Default and custom providers from Terraform provider management are also supported such as hashicorpvsphere1cMPg81Q | N/A | Yes |
rc_id | The ID of the rate card you want to delete | 49b00145-8608-4d31-986c-538431345e0a | N/A | Valid rate card IDs | 36 | Yes |