From 7554454d3b28547a9197d3260f885eadad2eb01f Mon Sep 17 00:00:00 2001 From: Dan Labrecque Date: Mon, 9 Oct 2023 16:27:49 -0400 Subject: [PATCH 01/16] Replace references to sources with integrations https://issues.redhat.com/browse/COST-4039 --- locales/data.json | 100 +++++----- locales/translations.json | 83 +++++---- src/locales/messages.ts | 175 +++++++++--------- .../costModelWizard/generalInformation.tsx | 8 +- .../costModelsDetails/dialog.test.tsx | 2 +- .../costModelsDetails/table.test.tsx | 2 +- 6 files changed, 196 insertions(+), 174 deletions(-) diff --git a/locales/data.json b/locales/data.json index b41822c4a..cdffc5174 100644 --- a/locales/data.json +++ b/locales/data.json @@ -1176,7 +1176,7 @@ "value": [ { "type": 0, - "value": "Assign source" + "value": "Assign integration" } ] }, @@ -1184,7 +1184,7 @@ "value": [ { "type": 0, - "value": "Assign sources" + "value": "Assign integrations" } ] } @@ -1197,7 +1197,7 @@ "costModelsAssignSourcesErrorDesc": [ { "type": 0, - "value": "You cannot assign a source at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our " + "value": "You cannot assign a integration at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our " }, { "type": 1, @@ -1217,19 +1217,19 @@ "costModelsAssignSourcesParen": [ { "type": 0, - "value": "Assign source(s)" + "value": "Assign integrations" } ], "costModelsAssignedSources": [ { "type": 0, - "value": "Assigned sources" + "value": "Assigned integrations" } ], "costModelsAvailableSources": [ { "type": 0, - "value": "The following sources are assigned to my production cost model:" + "value": "The following integrations are assigned to my production cost model:" } ], "costModelsCanDelete": [ @@ -1249,7 +1249,7 @@ "costModelsCanNotDelete": [ { "type": 0, - "value": "The following sources are assigned to " + "value": "The following integrations are assigned to " }, { "type": 1, @@ -1283,13 +1283,13 @@ "costModelsDeleteSource": [ { "type": 0, - "value": "You must unassign any sources before you can delete this cost model." + "value": "You must unassign any integrations before you can delete this cost model." } ], "costModelsDesc": [ { "type": 0, - "value": "Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your sources to calculate your charges for resource usage. " + "value": "Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your integrations to calculate your charges for resource usage. " }, { "type": 1, @@ -1365,25 +1365,25 @@ "costModelsExamplesDoubleMarkup": [ { "type": 0, - "value": "A markup rate of (+) 100% doubles the base costs of your source(s)." + "value": "A markup rate of (+) 100% doubles the base costs of your integrations." } ], "costModelsExamplesNoAdjust": [ { "type": 0, - "value": "A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your source(s)." + "value": "A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your integrations." } ], "costModelsExamplesReduceSeventyfive": [ { "type": 0, - "value": "A discount rate of (-) 25% reduces the base costs of your source(s) to 75% of the original value." + "value": "A discount rate of (-) 25% reduces the base costs of your integrations to 75% of the original value." } ], "costModelsExamplesReduceZero": [ { "type": 0, - "value": "A discount rate of (-) 100% reduces the base costs of your source(s) to 0." + "value": "A discount rate of (-) 100% reduces the base costs of your integrations to 0." } ], "costModelsFilterPlaceholder": [ @@ -1467,7 +1467,7 @@ "costModelsSourceDeleteSource": [ { "type": 0, - "value": "Unassign source" + "value": "Unassign integration" } ], "costModelsSourceDeleteSourceDesc": [ @@ -1477,7 +1477,7 @@ }, { "type": 1, - "value": "source" + "value": "integration" }, { "type": 0, @@ -1489,25 +1489,25 @@ }, { "type": 0, - "value": " cost model. You can then assign the cost model to a new source." + "value": " cost model. You can then assign the cost model to a new integration." } ], "costModelsSourceEmptyStateDesc": [ { "type": 0, - "value": "Select the source(s) you want to apply this cost model to." + "value": "Select the integrations you want to apply this cost model to." } ], "costModelsSourceEmptyStateTitle": [ { "type": 0, - "value": "No sources are assigned" + "value": "No integrations are assigned" } ], "costModelsSourceTableAriaLabel": [ { "type": 0, - "value": "Sources table" + "value": "Integrations table" } ], "costModelsTableAriaLabel": [ @@ -1569,7 +1569,7 @@ "costModelsWizardEmptySourceTypeLabel": [ { "type": 0, - "value": "Select source type" + "value": "Select integration" } ], "costModelsWizardEmptyStateOtherTime": [ @@ -1665,7 +1665,7 @@ "costModelsWizardReviewStatusSubTitle": [ { "type": 0, - "value": "Costs for resources connected to the assigned sources will now be calculated using the newly created " + "value": "Costs for resources connected to the assigned integrations will now be calculated using the newly created " }, { "type": 1, @@ -1689,7 +1689,7 @@ "value": [ { "type": 0, - "value": "Select from the following Amazon Web Services sources:" + "value": "Select from the following Amazon Web Services integrations:" } ] }, @@ -1697,7 +1697,7 @@ "value": [ { "type": 0, - "value": "Select from the following Microsoft Azure sources:" + "value": "Select from the following Microsoft Azure integrations:" } ] }, @@ -1705,7 +1705,7 @@ "value": [ { "type": 0, - "value": "Select from the following Google Cloud Platform sources:" + "value": "Select from the following Google Cloud Platform integrations:" } ] }, @@ -1713,7 +1713,7 @@ "value": [ { "type": 0, - "value": "Select from the following Oracle Cloud Infrastructure sources:" + "value": "Select from the following Oracle Cloud Infrastructure integrations:" } ] }, @@ -1721,7 +1721,7 @@ "value": [ { "type": 0, - "value": "Select from the following Red Hat OpenShift sources:" + "value": "Select from the following Red Hat OpenShift integrations:" } ] }, @@ -1736,7 +1736,7 @@ "costModelsWizardSourceErrorDesc": [ { "type": 0, - "value": "Try refreshing this step or you can skip this step (as it is optional) and assign the source to the cost model at a later time. If the problem persists, contact your organization administrator or visit our " + "value": "Try refreshing this step or you can skip this step (as it is optional) and assign the integration to the cost model at a later time. If the problem persists, contact your organization administrator or visit our " }, { "type": 1, @@ -1756,13 +1756,13 @@ "costModelsWizardSourceSubtitle": [ { "type": 0, - "value": "Select one or more sources to this cost model. You can skip this step and assign the cost model to a source at a later time. A source will be unavailable for selection if a cost model is already assigned to it." + "value": "Select one or more integrations to this cost model. You can skip this step and assign the cost model to a integration at a later time. An integration will be unavailable for selection if a cost model is already assigned to it." } ], "costModelsWizardSourceTableAriaLabel": [ { "type": 0, - "value": "Assign sources to cost model table" + "value": "Assign integrations to cost model table" } ], "costModelsWizardSourceTableCostModel": [ @@ -1780,13 +1780,13 @@ "costModelsWizardSourceTitle": [ { "type": 0, - "value": "Assign sources to the cost model (optional)" + "value": "Assign integrations to the cost model (optional)" } ], "costModelsWizardSourceWarning": [ { "type": 0, - "value": "This source is assigned to " + "value": "This integration is assigned to " }, { "type": 1, @@ -1812,7 +1812,7 @@ "costModelsWizardStepsSources": [ { "type": 0, - "value": "Assign a source to the cost model" + "value": "Assign an integration to the cost model" } ], "costModelsWizardSubTitleTable": [ @@ -1824,7 +1824,7 @@ "costModelsWizardWarningSources": [ { "type": 0, - "value": "Cannot assign cost model to a source that is already assigned to another one" + "value": "Cannot assign cost model to an integration that is already assigned to another one" } ], "costTypeAmortized": [ @@ -1902,7 +1902,7 @@ "createCostModelDesc": [ { "type": 0, - "value": "A cost model allows you to associate a price to metrics provided by your sources to charge for utilization of resources." + "value": "A cost model allows you to associate a price to metrics provided by your integrations to charge for utilization of resources." } ], "createCostModelExit": [ @@ -2849,7 +2849,7 @@ "value": [ { "type": 0, - "value": "Source type" + "value": "Integration" } ] }, @@ -3484,6 +3484,12 @@ "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index#assembly-setting-up-cost-models" } ], + "docsConfigCostModelsOcp": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-ocp-cost-model_setting-up-cost-models" + } + ], "docsConfigPlatformProjects": [ { "type": 0, @@ -7230,7 +7236,7 @@ "value": [ { "type": 0, - "value": "Filter by source type" + "value": "Filter by integration" } ] }, @@ -7457,7 +7463,7 @@ "value": [ { "type": 0, - "value": "Source type" + "value": "Integration" } ] }, @@ -9632,7 +9638,7 @@ "inactiveSourcesGoTo": [ { "type": 0, - "value": "Go to Sources for more information" + "value": "Go to Integrations for more information" } ], "inactiveSourcesTitle": [ @@ -9648,7 +9654,7 @@ "inactiveSourcesTitleMultiplier": [ { "type": 0, - "value": "A problem was detected with the following sources" + "value": "A problem was detected with the following integrations" } ], "infrastructure": [ @@ -9678,13 +9684,13 @@ "loadingStateDesc": [ { "type": 0, - "value": "Searching for your sources. Do not refresh the browser" + "value": "Searching for your integrations. Do not refresh the browser" } ], "loadingStateTitle": [ { "type": 0, - "value": "Looking for sources..." + "value": "Looking for integrations..." } ], "maintenanceEmptyStateDesc": [ @@ -9748,7 +9754,7 @@ "markupOrDiscountModalDesc": [ { "type": 0, - "value": "Use markup/discount to manipulate how the raw costs are being calculated for your sources. Note, costs calculated from price list rates will not be affected by this." + "value": "Use markup/discount to manipulate how the raw costs are being calculated for your integrations. Note, costs calculated from price list rates will not be affected by this." } ], "markupOrDiscountNumber": [ @@ -10220,7 +10226,7 @@ "noProvidersStateGetStarted": [ { "type": 0, - "value": "Get started with Sources" + "value": "Get started with Integrations" } ], "noProvidersStateIbmDesc": [ @@ -11254,7 +11260,7 @@ }, { "type": 0, - "value": ", which is assigned to the following sources:" + "value": ", which is assigned to the following integrations:" } ] } @@ -11811,7 +11817,7 @@ "sourceType": [ { "type": 0, - "value": "Source type" + "value": "Integration" } ], "sourceTypes": [ @@ -11876,7 +11882,7 @@ "sources": [ { "type": 0, - "value": "Sources" + "value": "Integrations" } ], "start": [ @@ -11959,7 +11965,7 @@ "tagDesc": [ { "type": 0, - "value": "Enable your data source labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. " + "value": "Enable your tags and labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. " }, { "type": 1, diff --git a/locales/translations.json b/locales/translations.json index fc3324150..0af1e6fee 100644 --- a/locales/translations.json +++ b/locales/translations.json @@ -83,18 +83,18 @@ "costModels": "Cost Models", "costModelsActions": "Cost model actions", "costModelsAddTagValues": "Add more tag values", - "costModelsAssignSources": "{count, plural, one {Assign source} other {Assign sources}}", - "costModelsAssignSourcesErrorDesc": "You cannot assign a source at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our {url} for known outages.", + "costModelsAssignSources": "{count, plural, one {Assign integration} other {Assign integrations}}", + "costModelsAssignSourcesErrorDesc": "You cannot assign a integration at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our {url} for known outages.", "costModelsAssignSourcesErrorTitle": "This action is temporarily unavailable", - "costModelsAssignSourcesParen": "Assign source(s)", - "costModelsAssignedSources": "Assigned sources", - "costModelsAvailableSources": "The following sources are assigned to my production cost model:", + "costModelsAssignSourcesParen": "Assign integrations", + "costModelsAssignedSources": "Assigned integrations", + "costModelsAvailableSources": "The following integrations are assigned to my production cost model:", "costModelsCanDelete": "This action will delete {name} cost model from the system. This action cannot be undone", - "costModelsCanNotDelete": "The following sources are assigned to {name} cost model:", + "costModelsCanNotDelete": "The following integrations are assigned to {name} cost model:", "costModelsDelete": "Delete cost model", "costModelsDeleteDesc": "This action will delete {costModel} cost model from the system. This action cannot be undone.", - "costModelsDeleteSource": "You must unassign any sources before you can delete this cost model.", - "costModelsDesc": "Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your sources to calculate your charges for resource usage. {learnMore}", + "costModelsDeleteSource": "You must unassign any integrations before you can delete this cost model.", + "costModelsDesc": "Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your integrations to calculate your charges for resource usage. {learnMore}", "costModelsDescTooLong": "Should not exceed 500 characters", "costModelsDetailsTitle": "Cost Model Details", "costModelsDistributionDesc": "The following is the type of metric that is set to be used when distributing costs to the project level breakdowns.", @@ -106,10 +106,10 @@ "costModelsEnterTagKey": "Enter a tag key", "costModelsEnterTagRate": "Enter rate by tag", "costModelsEnterTagValue": "Enter a tag value", - "costModelsExamplesDoubleMarkup": "A markup rate of (+) 100% doubles the base costs of your source(s).", - "costModelsExamplesNoAdjust": "A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your source(s).", - "costModelsExamplesReduceSeventyfive": "A discount rate of (-) 25% reduces the base costs of your source(s) to 75% of the original value.", - "costModelsExamplesReduceZero": "A discount rate of (-) 100% reduces the base costs of your source(s) to 0.", + "costModelsExamplesDoubleMarkup": "A markup rate of (+) 100% doubles the base costs of your integrations.", + "costModelsExamplesNoAdjust": "A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your integrations.", + "costModelsExamplesReduceSeventyfive": "A discount rate of (-) 25% reduces the base costs of your integrations to 75% of the original value.", + "costModelsExamplesReduceZero": "A discount rate of (-) 100% reduces the base costs of your integrations to 0.", "costModelsFilterPlaceholder": "Filter by name...", "costModelsFilterTagKey": "Filter by tag key", "costModelsInfoTooLong": "Should not exceed 100 characters", @@ -123,11 +123,11 @@ "costModelsSelectMeasurement": "Select Measurement", "costModelsSelectMetric": "Select Metric", "costModelsSourceDelete": "Unassign", - "costModelsSourceDeleteSource": "Unassign source", - "costModelsSourceDeleteSourceDesc": "This will remove the assignment of {source} from the {costModel} cost model. You can then assign the cost model to a new source.", - "costModelsSourceEmptyStateDesc": "Select the source(s) you want to apply this cost model to.", - "costModelsSourceEmptyStateTitle": "No sources are assigned", - "costModelsSourceTableAriaLabel": "Sources table", + "costModelsSourceDeleteSource": "Unassign integration", + "costModelsSourceDeleteSourceDesc": "This will remove the assignment of {integration} from the {costModel} cost model. You can then assign the cost model to a new integration.", + "costModelsSourceEmptyStateDesc": "Select the integrations you want to apply this cost model to.", + "costModelsSourceEmptyStateTitle": "No integrations are assigned", + "costModelsSourceTableAriaLabel": "Integrations table", "costModelsTableAriaLabel": "Cost models table", "costModelsTagRateTableKey": "Tag key", "costModelsTagRateTableValue": "Tag value", @@ -136,7 +136,7 @@ "costModelsWizardCreateCostModel": "Create cost model", "costModelsWizardCreatePriceList": "Create a price list", "costModelsWizardCurrencyToggleLabel": "Select currency", - "costModelsWizardEmptySourceTypeLabel": "Select source type", + "costModelsWizardEmptySourceTypeLabel": "Select integration", "costModelsWizardEmptyStateOtherTime": "You can create a price list or modify one at a later time.", "costModelsWizardEmptyStateSkipStep": "To skip this step, click the {value} button.", "costModelsWizardEmptyStateTitle": "A price list has not been created.", @@ -148,22 +148,22 @@ "costModelsWizardRateAriaLabel": "Assign rate", "costModelsWizardReviewMarkDiscount": "Markup/Discount", "costModelsWizardReviewStatusSubDetails": "Review and confirm your cost model configuration and assignments. Click {create} to create the cost model, or {back} to revise.", - "costModelsWizardReviewStatusSubTitle": "Costs for resources connected to the assigned sources will now be calculated using the newly created {value} cost model.", + "costModelsWizardReviewStatusSubTitle": "Costs for resources connected to the assigned integrations will now be calculated using the newly created {value} cost model.", "costModelsWizardReviewStatusTitle": "Creation successful", - "costModelsWizardSourceCaption": "{value, select, aws {Select from the following Amazon Web Services sources:} azure {Select from the following Microsoft Azure sources:} oci {Select from the following Oracle Cloud Infrastructure sources:} gcp {Select from the following Google Cloud Platform sources:} ocp {Select from the following Red Hat OpenShift sources:} other {}}", - "costModelsWizardSourceErrorDesc": "Try refreshing this step or you can skip this step (as it is optional) and assign the source to the cost model at a later time. If the problem persists, contact your organization administrator or visit our {url} for known outages.", + "costModelsWizardSourceCaption": "{value, select, aws {Select from the following Amazon Web Services integrations:} azure {Select from the following Microsoft Azure integrations:} oci {Select from the following Oracle Cloud Infrastructure integrations:} gcp {Select from the following Google Cloud Platform integrations:} ocp {Select from the following Red Hat OpenShift integrations:} other {}}", + "costModelsWizardSourceErrorDesc": "Try refreshing this step or you can skip this step (as it is optional) and assign the integration to the cost model at a later time. If the problem persists, contact your organization administrator or visit our {url} for known outages.", "costModelsWizardSourceErrorTitle": "This step is temporarily unavailable", - "costModelsWizardSourceSubtitle": "Select one or more sources to this cost model. You can skip this step and assign the cost model to a source at a later time. A source will be unavailable for selection if a cost model is already assigned to it.", - "costModelsWizardSourceTableAriaLabel": "Assign sources to cost model table", + "costModelsWizardSourceSubtitle": "Select one or more integrations to this cost model. You can skip this step and assign the cost model to a integration at a later time. An integration will be unavailable for selection if a cost model is already assigned to it.", + "costModelsWizardSourceTableAriaLabel": "Assign integrations to cost model table", "costModelsWizardSourceTableCostModel": "Cost model assigned", "costModelsWizardSourceTableDefaultCostModel": "Default cost model", - "costModelsWizardSourceTitle": "Assign sources to the cost model (optional)", - "costModelsWizardSourceWarning": "This source is assigned to {costModel} cost model. You will have to unassigned it first", + "costModelsWizardSourceTitle": "Assign integrations to the cost model (optional)", + "costModelsWizardSourceWarning": "This integration is assigned to {costModel} cost model. You will have to unassigned it first", "costModelsWizardStepsGenInfo": "Enter information", "costModelsWizardStepsReview": "Review details", - "costModelsWizardStepsSources": "Assign a source to the cost model", + "costModelsWizardStepsSources": "Assign an integration to the cost model", "costModelsWizardSubTitleTable": "The following is a list of rates you have set so far for this price list.", - "costModelsWizardWarningSources": "Cannot assign cost model to a source that is already assigned to another one", + "costModelsWizardWarningSources": "Cannot assign cost model to an integration that is already assigned to another one", "costTypeAmortized": "Amortized", "costTypeAmortizedDesc": "Recurring and/or upfront costs are distributed evenly across the month", "costTypeBlended": "Blended", @@ -176,7 +176,7 @@ "cpuTitle": "CPU", "create": "Create", "createCostModelConfirmMsg": "Are you sure you want to stop creating a cost model? All settings will be discarded.", - "createCostModelDesc": "A cost model allows you to associate a price to metrics provided by your sources to charge for utilization of resources.", + "createCostModelDesc": "A cost model allows you to associate a price to metrics provided by your integrations to charge for utilization of resources.", "createCostModelExit": "Exit cost model creation", "createCostModelExitYes": "Yes, I want to exit", "createCostModelNoContinue": "No, I want to continue", @@ -212,7 +212,7 @@ "detailsEmptyState": "Processing data to generate a list of all services that sums to a total cost...", "detailsMore": "{value} more...", "detailsMoreClusters": ", {value} more...", - "detailsResourceNames": "{value, select, account {Account names} aws_category {Cost category names} cluster {Cluster names} gcp_project {GCP project names} group {Group} name {Name} node {Node names} org_unit_id {Organizational unit names} payer_tenant_id {Account names} product_service {Service names} project {Project names} region {Region names} resource_location {Region names} service {Service names} service_name {Service names} status {Status} subscription_guid {Account names} source_type {Source type} tag {Tag names} other {}}", + "detailsResourceNames": "{value, select, account {Account names} aws_category {Cost category names} cluster {Cluster names} gcp_project {GCP project names} group {Group} name {Name} node {Node names} org_unit_id {Organizational unit names} payer_tenant_id {Account names} product_service {Service names} project {Project names} region {Region names} resource_location {Region names} service {Service names} service_name {Service names} status {Status} subscription_guid {Account names} source_type {Integration} tag {Tag names} other {}}", "detailsSummaryModalTitle": "{groupBy, select, account {{name} accounts} aws_category {{name} cost categories} cluster {{name} clusters} gcp_project {{name} GCP projects} node {{name} nodes} org_unit_id {{name} organizational units} payer_tenant_id {{name} accounts} product_service {{name} services} project {{name} projects} region {{name} regions} resource_location {{name} regions} service {{name} services} service_name {{name} services} subscription_guid {{name} accounts} tag {{name} tags} other {}}", "detailsUnusedCapacityLabel": "Unused capacity", "detailsUnusedRequestsLabel": "Unrequested capacity", @@ -235,6 +235,7 @@ "docsAddOcpSources": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/adding_an_openshift_container_platform_source_to_cost_management", "docsConfigCostCategory": "https://access.redhat.com/documentation/en-us/cost_management_service/2023", "docsConfigCostModels": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index#assembly-setting-up-cost-models", + "docsConfigCostModelsOcp": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-ocp-cost-model_setting-up-cost-models", "docsConfigPlatformProjects": "https://access.redhat.com/documentation/en-us/cost_management_service/2023", "docsConfigTags": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/managing_cost_data_using_tagging/assembly-configuring-tags-and-labels-in-cost-management", "docsCostModelTerminology": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index#cost-model-terminology", @@ -300,12 +301,12 @@ "filterByInputAriaLabel": "{value, select, account {Input for account name} aws_category {Input for cost category name} cluster {Input for cluster name} gcp_project {Input for GCP project name} name {Input for name} node {Input for node name} org_unit_id {Input for organizational unit name} payer_tenant_id {Input for account name} product_service {Input for service_name} project {Input for project name} region {Input for region name} resource_location {Input for region name} service {Input for service name} service_name {Input for service_name} subscription_guid {Input for account name} status {Input for status value} tag {Input for tag name} other {}}", "filterByOrgUnitAriaLabel": "Organizational units", "filterByOrgUnitPlaceholder": "Choose unit", - "filterByPlaceholder": "{value, select, account {Filter by account} aws_category {Filter by cost category} cluster {Filter by cluster} container {Filter by container} description {Filter by description} gcp_project {Filter by GCP project} group {Filter by group} name {Filter by name} node {Filter by node} org_unit_id {Filter by organizational unit} payer_tenant_id {Filter by account} persistent_volume_claim {Filter by persistent volume claim} product_service {Filter by service} project {Filter by project} region {Filter by region} resource_location {Filter by region} service {Filter by service} service_name {Filter by service} source_type {Filter by source type} status {Filter by status} storage_class {Filter by StorageClass} subscription_guid {Filter by account} workload {Filter by workload name} workload_type {Filter by workload type} tag {Filter by tag} other {}}", + "filterByPlaceholder": "{value, select, account {Filter by account} aws_category {Filter by cost category} cluster {Filter by cluster} container {Filter by container} description {Filter by description} gcp_project {Filter by GCP project} group {Filter by group} name {Filter by name} node {Filter by node} org_unit_id {Filter by organizational unit} payer_tenant_id {Filter by account} persistent_volume_claim {Filter by persistent volume claim} product_service {Filter by service} project {Filter by project} region {Filter by region} resource_location {Filter by region} service {Filter by service} service_name {Filter by service} source_type {Filter by integration} status {Filter by status} storage_class {Filter by StorageClass} subscription_guid {Filter by account} workload {Filter by workload name} workload_type {Filter by workload type} tag {Filter by tag} other {}}", "filterByTagKeyAriaLabel": "Tag keys", "filterByTagValueAriaLabel": "Tag values", "filterByTagValueButtonAriaLabel": "Filter button for tag value", "filterByValuePlaceholder": "Filter by value", - "filterByValues": "{value, select, account {Account} aws_category {Cost category} cluster {Cluster} container {Container} gcp_project {GCP project} group {Group} name {Name} node {Node} org_unit_id {Organizational unit} payer_tenant_id {Account} persistent_volume_claim {Persistent volume claim} product_service {Service} project {Project} region {Region} resource_location {Region} service {Service} service_name {Service} source_type {Source type} status {Status} storage_class {StorageClass} subscription_guid {Account} tag {Tag} workload {Workload name} workload_type {Workload type} other {}}", + "filterByValues": "{value, select, account {Account} aws_category {Cost category} cluster {Cluster} container {Container} gcp_project {GCP project} group {Group} name {Name} node {Node} org_unit_id {Organizational unit} payer_tenant_id {Account} persistent_volume_claim {Persistent volume claim} product_service {Service} project {Project} region {Region} resource_location {Region} service {Service} service_name {Service} source_type {Integration} status {Status} storage_class {StorageClass} subscription_guid {Account} tag {Tag} workload {Workload name} workload_type {Workload type} other {}}", "filterByValuesAriaLabel": "Values", "forDate": "{value} for {dateRange}", "gcp": "Google Cloud Platform", @@ -332,15 +333,15 @@ "ibmDailyCostTrendTitle": "IBM Cloud Services daily cost comparison ({units})", "ibmDesc": "Raw cost from IBM Cloud infrastructure.", "ibmDetailsTitle": "IBM Cloud Details", - "inactiveSourcesGoTo": "Go to Sources for more information", + "inactiveSourcesGoTo": "Go to Integrations for more information", "inactiveSourcesTitle": "A problem was detected with {value}", - "inactiveSourcesTitleMultiplier": "A problem was detected with the following sources", + "inactiveSourcesTitleMultiplier": "A problem was detected with the following integrations", "infrastructure": "Infrastructure", "lastProcessed": "Last processed", "learnMore": "Learn more", "limits": "Limits", - "loadingStateDesc": "Searching for your sources. Do not refresh the browser", - "loadingStateTitle": "Looking for sources...", + "loadingStateDesc": "Searching for your integrations. Do not refresh the browser", + "loadingStateTitle": "Looking for integrations...", "maintenanceEmptyStateDesc": "Cost Management is currently undergoing scheduled maintenance and will be unavailable from 13:00 - 19:00 UTC (09:00 AM - 03:00 PM EDT).", "maintenanceEmptyStateInfo": "For more information visit {url}", "maintenanceEmptyStateThanks": "We will be back soon. Thank you for your patience!", @@ -350,7 +351,7 @@ "markupDesc": "The portion of cost calculated by applying markup or discount to infrastructure raw cost in the cost management application", "markupOrDiscount": "Markup or Discount", "markupOrDiscountDesc": "This Percentage is applied to raw cost calculations by multiplying the cost with this percentage. Costs calculated from price list rates will not be effected.", - "markupOrDiscountModalDesc": "Use markup/discount to manipulate how the raw costs are being calculated for your sources. Note, costs calculated from price list rates will not be affected by this.", + "markupOrDiscountModalDesc": "Use markup/discount to manipulate how the raw costs are being calculated for your integrations. Note, costs calculated from price list rates will not be affected by this.", "markupOrDiscountNumber": "Markup or discount must be a number", "markupOrDiscountTooLong": "Should not exceed 10 decimals", "markupPlus": "Markup (+)", @@ -380,7 +381,7 @@ "noProvidersStateAzureTitle": "Track your Microsoft Azure spending!", "noProvidersStateGcpDesc": "Add a Google Cloud Platform account to see a total cost breakdown of your spend by accounts, services, regions, or tags.", "noProvidersStateGcpTitle": "Track your Google Cloud Platform spending!", - "noProvidersStateGetStarted": "Get started with Sources", + "noProvidersStateGetStarted": "Get started with Integrations", "noProvidersStateIbmDesc": "Add an IBM Cloud account to see a total cost breakdown of your spend by accounts, services, regions, or tags.", "noProvidersStateIbmTitle": "Track your IBM Cloud spending!", "noProvidersStateOcpAddSources": "Add an OpenShift cluster to Cost Management", @@ -478,7 +479,7 @@ "priceList": "Price list", "priceListAddRate": "Add rate", "priceListDeleteRate": "Delete rate", - "priceListDeleteRateDesc": "{count, plural, one {This action will remove {metric} rate from {costModel}} other {This action will remove {metric} rate from {costModel}, which is assigned to the following sources:}}", + "priceListDeleteRateDesc": "{count, plural, one {This action will remove {metric} rate from {costModel}} other {This action will remove {metric} rate from {costModel}, which is assigned to the following integrations:}}", "priceListDuplicate": "This tag key is already in use", "priceListEditRate": "Edit rate", "priceListEmptyRate": "No rates are set", @@ -534,9 +535,9 @@ "settingsTagsErrorTitle": "You can not enable more than {value} tags total", "settingsTitle": "Cost Management Settings", "sinceDate": "{dateRange}", - "sourceType": "Source type", + "sourceType": "Integration", "sourceTypes": "{value, select, aws {Amazon Web Services} azure {Microsoft Azure} oci {Oracle Cloud Infrastructure} gcp {Google Cloud Platform} ibm {IBM Cloud} ocp {OpenShift} other {}}", - "sources": "Sources", + "sources": "Integrations", "start": "Start", "status": "{value, select, pending {Pending} running {Running} failed {Failed} other {}}", "statusActions": "Status/Actions", @@ -545,7 +546,7 @@ "sumPlatformCosts": "Sum platform costs", "summary": "Summary", "supplementary": "Supplementary", - "tagDesc": "Enable your data source labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. {learnMore}", + "tagDesc": "Enable your tags and labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. {learnMore}", "tagHeadingKey": "Key", "tagHeadingTitle": "Tags ({value})", "tagHeadingValue": "Value", diff --git a/src/locales/messages.ts b/src/locales/messages.ts index aa06aa9c7..93864c12b 100644 --- a/src/locales/messages.ts +++ b/src/locales/messages.ts @@ -472,14 +472,14 @@ export default defineMessages({ id: 'costModelsAddTagValues', }, costModelsAssignSources: { - defaultMessage: '{count, plural, one {Assign source} other {Assign sources}}', - description: 'Assign sources -- plural or singular', + defaultMessage: '{count, plural, one {Assign integration} other {Assign integrations}}', + description: 'Assign integrations -- plural or singular', id: 'costModelsAssignSources', }, costModelsAssignSourcesErrorDesc: { defaultMessage: - 'You cannot assign a source at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our {url} for known outages.', - description: 'You cannot assign a source at this time', + 'You cannot assign a integration at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our {url} for known outages.', + description: 'You cannot assign a integration at this time', id: 'costModelsAssignSourcesErrorDesc', }, costModelsAssignSourcesErrorTitle: { @@ -488,18 +488,18 @@ export default defineMessages({ id: 'costModelsAssignSourcesErrorTitle', }, costModelsAssignSourcesParen: { - defaultMessage: 'Assign source(s)', - description: 'Assign source(s)', + defaultMessage: 'Assign integrations', + description: 'Assign integrations', id: 'costModelsAssignSourcesParen', }, costModelsAssignedSources: { - defaultMessage: 'Assigned sources', - description: 'Assigned sourcess', + defaultMessage: 'Assigned integrations', + description: 'Assigned integrationss', id: 'costModelsAssignedSources', }, costModelsAvailableSources: { - defaultMessage: 'The following sources are assigned to my production cost model:', - description: 'The following sources are assigned to my production cost model:', + defaultMessage: 'The following integrations are assigned to my production cost model:', + description: 'The following integrations are assigned to my production cost model:', id: 'costModelsAvailableSources', }, costModelsCanDelete: { @@ -508,8 +508,8 @@ export default defineMessages({ id: 'costModelsCanDelete', }, costModelsCanNotDelete: { - defaultMessage: 'The following sources are assigned to {name} cost model:', - description: 'The following sources are assigned to {name} cost model:', + defaultMessage: 'The following integrations are assigned to {name} cost model:', + description: 'The following integrations are assigned to {name} cost model:', id: 'costModelsCanNotDelete', }, costModelsDelete: { @@ -523,15 +523,15 @@ export default defineMessages({ id: 'costModelsDeleteDesc', }, costModelsDeleteSource: { - defaultMessage: 'You must unassign any sources before you can delete this cost model.', - description: 'You must unassign any sources before you can delete this cost model.', + defaultMessage: 'You must unassign any integrations before you can delete this cost model.', + description: 'You must unassign any integrations before you can delete this cost model.', id: 'costModelsDeleteSource', }, costModelsDesc: { defaultMessage: - 'Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your sources to calculate your charges for resource usage. {learnMore}', + 'Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your integrations to calculate your charges for resource usage. {learnMore}', description: - 'Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your sources to calculate your charges for resource usage. {learnMore}', + 'Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your integrations to calculate your charges for resource usage. {learnMore}', id: 'costModelsDesc', }, costModelsDescTooLong: { @@ -594,25 +594,26 @@ export default defineMessages({ id: 'costModelsEnterTagValue', }, costModelsExamplesDoubleMarkup: { - defaultMessage: 'A markup rate of (+) 100% doubles the base costs of your source(s).', - description: 'A markup rate of (+) 100% doubles the base costs of your source(s).', + defaultMessage: 'A markup rate of (+) 100% doubles the base costs of your integrations.', + description: 'A markup rate of (+) 100% doubles the base costs of your integrations.', id: 'costModelsExamplesDoubleMarkup', }, costModelsExamplesNoAdjust: { defaultMessage: - 'A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your source(s).', + 'A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your integrations.', description: - 'A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your source(s).', + 'A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your integrations.', id: 'costModelsExamplesNoAdjust', }, costModelsExamplesReduceSeventyfive: { - defaultMessage: 'A discount rate of (-) 25% reduces the base costs of your source(s) to 75% of the original value.', - description: 'A discount rate of (-) 25% reduces the base costs of your source(s) to 75% of the original value.', + defaultMessage: + 'A discount rate of (-) 25% reduces the base costs of your integrations to 75% of the original value.', + description: 'A discount rate of (-) 25% reduces the base costs of your integrations to 75% of the original value.', id: 'costModelsExamplesReduceSeventyfive', }, costModelsExamplesReduceZero: { - defaultMessage: 'A discount rate of (-) 100% reduces the base costs of your source(s) to 0.', - description: 'A discount rate of (-) 100% reduces the base costs of your source(s) to 0.', + defaultMessage: 'A discount rate of (-) 100% reduces the base costs of your integrations to 0.', + description: 'A discount rate of (-) 100% reduces the base costs of your integrations to 0.', id: 'costModelsExamplesReduceZero', }, costModelsFilterPlaceholder: { @@ -681,30 +682,30 @@ export default defineMessages({ id: 'costModelsSourceDelete', }, costModelsSourceDeleteSource: { - defaultMessage: 'Unassign source', - description: 'Unassign source', + defaultMessage: 'Unassign integration', + description: 'Unassign integration', id: 'costModelsSourceDeleteSource', }, costModelsSourceDeleteSourceDesc: { defaultMessage: - 'This will remove the assignment of {source} from the {costModel} cost model. You can then assign the cost model to a new source.', + 'This will remove the assignment of {integration} from the {costModel} cost model. You can then assign the cost model to a new integration.', description: - 'This will remove the assignment of {source} from the {costModel} cost model. You can then assign the cost model to a new source.', + 'This will remove the assignment of {integration} from the {costModel} cost model. You can then assign the cost model to a new integration.', id: 'costModelsSourceDeleteSourceDesc', }, costModelsSourceEmptyStateDesc: { - defaultMessage: 'Select the source(s) you want to apply this cost model to.', - description: 'Select the source(s) you want to apply this cost model to.', + defaultMessage: 'Select the integrations you want to apply this cost model to.', + description: 'Select the integrations you want to apply this cost model to.', id: 'costModelsSourceEmptyStateDesc', }, costModelsSourceEmptyStateTitle: { - defaultMessage: 'No sources are assigned', - description: 'No sources are assigned', + defaultMessage: 'No integrations are assigned', + description: 'No integrations are assigned', id: 'costModelsSourceEmptyStateTitle', }, costModelsSourceTableAriaLabel: { - defaultMessage: 'Sources table', - description: 'Sources table', + defaultMessage: 'Integrations table', + description: 'Integrations table', id: 'costModelsSourceTableAriaLabel', }, costModelsTableAriaLabel: { @@ -748,8 +749,8 @@ export default defineMessages({ id: 'costModelsWizardCurrencyToggleLabel', }, costModelsWizardEmptySourceTypeLabel: { - defaultMessage: 'Select source type', - description: 'Select source type', + defaultMessage: 'Select integration', + description: 'Select integration', id: 'costModelsWizardEmptySourceTypeLabel', }, costModelsWizardEmptyStateOtherTime: { @@ -813,9 +814,9 @@ export default defineMessages({ }, costModelsWizardReviewStatusSubTitle: { defaultMessage: - 'Costs for resources connected to the assigned sources will now be calculated using the newly created {value} cost model.', + 'Costs for resources connected to the assigned integrations will now be calculated using the newly created {value} cost model.', description: - 'Costs for resources connected to the assigned sources will now be calculated using the newly created {value} cost model.', + 'Costs for resources connected to the assigned integrations will now be calculated using the newly created {value} cost model.', id: 'costModelsWizardReviewStatusSubTitle', }, costModelsWizardReviewStatusTitle: { @@ -826,18 +827,18 @@ export default defineMessages({ costModelsWizardSourceCaption: { defaultMessage: '{value, select, ' + - 'aws {Select from the following Amazon Web Services sources:} ' + - 'azure {Select from the following Microsoft Azure sources:} ' + - 'oci {Select from the following Oracle Cloud Infrastructure sources:} ' + - 'gcp {Select from the following Google Cloud Platform sources:} ' + - 'ocp {Select from the following Red Hat OpenShift sources:} ' + + 'aws {Select from the following Amazon Web Services integrations:} ' + + 'azure {Select from the following Microsoft Azure integrations:} ' + + 'oci {Select from the following Oracle Cloud Infrastructure integrations:} ' + + 'gcp {Select from the following Google Cloud Platform integrations:} ' + + 'ocp {Select from the following Red Hat OpenShift integrations:} ' + 'other {}}', - description: 'Select from the following {value} sources:', + description: 'Select from the following {value} integrations:', id: 'costModelsWizardSourceCaption', }, costModelsWizardSourceErrorDesc: { defaultMessage: - 'Try refreshing this step or you can skip this step (as it is optional) and assign the source to the cost model at a later time. If the problem persists, contact your organization administrator or visit our {url} for known outages.', + 'Try refreshing this step or you can skip this step (as it is optional) and assign the integration to the cost model at a later time. If the problem persists, contact your organization administrator or visit our {url} for known outages.', description: 'This step is temporarily unavailable', id: 'costModelsWizardSourceErrorDesc', }, @@ -848,14 +849,14 @@ export default defineMessages({ }, costModelsWizardSourceSubtitle: { defaultMessage: - 'Select one or more sources to this cost model. You can skip this step and assign the cost model to a source at a later time. A source will be unavailable for selection if a cost model is already assigned to it.', + 'Select one or more integrations to this cost model. You can skip this step and assign the cost model to a integration at a later time. An integration will be unavailable for selection if a cost model is already assigned to it.', description: - 'Select one or more sources to this cost model. You can skip this step and assign the cost model to a source at a later time. A source will be unavailable for selection if a cost model is already assigned to it.', + 'Select one or more integrations to this cost model. You can skip this step and assign the cost model to a integration at a later time. An integration will be unavailable for selection if a cost model is already assigned to it.', id: 'costModelsWizardSourceSubtitle', }, costModelsWizardSourceTableAriaLabel: { - defaultMessage: 'Assign sources to cost model table', - description: 'Assign sources to cost model table', + defaultMessage: 'Assign integrations to cost model table', + description: 'Assign integrations to cost model table', id: 'costModelsWizardSourceTableAriaLabel', }, costModelsWizardSourceTableCostModel: { @@ -869,13 +870,13 @@ export default defineMessages({ id: 'costModelsWizardSourceTableDefaultCostModel', }, costModelsWizardSourceTitle: { - defaultMessage: 'Assign sources to the cost model (optional)', - description: 'Assign sources to the cost model (optional)', + defaultMessage: 'Assign integrations to the cost model (optional)', + description: 'Assign integrations to the cost model (optional)', id: 'costModelsWizardSourceTitle', }, costModelsWizardSourceWarning: { - defaultMessage: 'This source is assigned to {costModel} cost model. You will have to unassigned it first', - description: 'This source is assigned to {costModel} cost model. You will have to unassigned it first', + defaultMessage: 'This integration is assigned to {costModel} cost model. You will have to unassigned it first', + description: 'This integration is assigned to {costModel} cost model. You will have to unassigned it first', id: 'costModelsWizardSourceWarning', }, costModelsWizardStepsGenInfo: { @@ -889,8 +890,8 @@ export default defineMessages({ id: 'costModelsWizardStepsReview', }, costModelsWizardStepsSources: { - defaultMessage: 'Assign a source to the cost model', - description: 'Assign a source to the cost model', + defaultMessage: 'Assign an integration to the cost model', + description: 'Assign an integration to the cost model', id: 'costModelsWizardStepsSources', }, costModelsWizardSubTitleTable: { @@ -899,8 +900,8 @@ export default defineMessages({ id: 'costModelsWizardSubTitleTable', }, costModelsWizardWarningSources: { - defaultMessage: 'Cannot assign cost model to a source that is already assigned to another one', - description: 'No Cannot assign cost model to a source that is already assigned to another one', + defaultMessage: 'Cannot assign cost model to an integration that is already assigned to another one', + description: 'No Cannot assign cost model to an integration that is already assigned to another one', id: 'costModelsWizardWarningSources', }, costTypeAmortized: { @@ -967,9 +968,9 @@ export default defineMessages({ }, createCostModelDesc: { defaultMessage: - 'A cost model allows you to associate a price to metrics provided by your sources to charge for utilization of resources.', + 'A cost model allows you to associate a price to metrics provided by your integrations to charge for utilization of resources.', description: - 'A cost model allows you to associate a price to metrics provided by your sources to charge for utilization of resources.', + 'A cost model allows you to associate a price to metrics provided by your integrations to charge for utilization of resources.', id: 'createCostModelDesc', }, createCostModelExit: { @@ -1228,7 +1229,7 @@ export default defineMessages({ 'service_name {Service names} ' + 'status {Status} ' + 'subscription_guid {Account names} ' + - 'source_type {Source type} ' + + 'source_type {Integration} ' + 'tag {Tag names} ' + 'other {}}', description: 'Details table resource names', @@ -1392,6 +1393,13 @@ export default defineMessages({ 'https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index#assembly-setting-up-cost-models', id: 'docsConfigCostModels', }, + docsConfigCostModelsOcp: { + defaultMessage: + 'https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-ocp-cost-model_setting-up-cost-models', + description: + 'https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-ocp-cost-model_setting-up-cost-models', + id: 'docsConfigCostModelsOcp', + }, docsConfigPlatformProjects: { defaultMessage: 'https://access.redhat.com/documentation/en-us/cost_management_service/2023', description: 'https://access.redhat.com/documentation/en-us/cost_management_service/2023', @@ -1878,7 +1886,7 @@ export default defineMessages({ 'resource_location {Filter by region} ' + 'service {Filter by service} ' + 'service_name {Filter by service} ' + - 'source_type {Filter by source type} ' + + 'source_type {Filter by integration} ' + 'status {Filter by status} ' + 'storage_class {Filter by StorageClass} ' + 'subscription_guid {Filter by account} ' + @@ -1929,7 +1937,7 @@ export default defineMessages({ 'resource_location {Region} ' + 'service {Service} ' + 'service_name {Service} ' + - 'source_type {Source type} ' + + 'source_type {Integration} ' + 'status {Status} ' + 'storage_class {StorageClass} ' + 'subscription_guid {Account} ' + @@ -2165,8 +2173,8 @@ export default defineMessages({ id: 'ibmDetailsTitle', }, inactiveSourcesGoTo: { - defaultMessage: 'Go to Sources for more information', - description: 'Go to Sources for more information', + defaultMessage: 'Go to Integrations for more information', + description: 'Go to Integrations for more information', id: 'inactiveSourcesGoTo', }, inactiveSourcesTitle: { @@ -2175,8 +2183,8 @@ export default defineMessages({ id: 'inactiveSourcesTitle', }, inactiveSourcesTitleMultiplier: { - defaultMessage: 'A problem was detected with the following sources', - description: 'A problem was detected with the following sources', + defaultMessage: 'A problem was detected with the following integrations', + description: 'A problem was detected with the following integrations', id: 'inactiveSourcesTitleMultiplier', }, infrastructure: { @@ -2200,13 +2208,13 @@ export default defineMessages({ id: 'limits', }, loadingStateDesc: { - defaultMessage: 'Searching for your sources. Do not refresh the browser', - description: 'Searching for your sources. Do not refresh the browser', + defaultMessage: 'Searching for your integrations. Do not refresh the browser', + description: 'Searching for your integrations. Do not refresh the browser', id: 'loadingStateDesc', }, loadingStateTitle: { - defaultMessage: 'Looking for sources...', - description: 'Looking for sources', + defaultMessage: 'Looking for integrations...', + description: 'Looking for integrations', id: 'loadingStateTitle', }, maintenanceEmptyStateDesc: { @@ -2261,9 +2269,9 @@ export default defineMessages({ }, markupOrDiscountModalDesc: { defaultMessage: - 'Use markup/discount to manipulate how the raw costs are being calculated for your sources. Note, costs calculated from price list rates will not be affected by this.', + 'Use markup/discount to manipulate how the raw costs are being calculated for your integrations. Note, costs calculated from price list rates will not be affected by this.', description: - 'Use markup/discount to manipulate how the raw costs are being calculated for your sources. Note, costs calculated from price list rates will not be affected by this.', + 'Use markup/discount to manipulate how the raw costs are being calculated for your integrations. Note, costs calculated from price list rates will not be affected by this.', id: 'markupOrDiscountModalDesc', }, markupOrDiscountNumber: { @@ -2445,8 +2453,8 @@ export default defineMessages({ id: 'noProvidersStateGcpTitle', }, noProvidersStateGetStarted: { - defaultMessage: 'Get started with Sources', - description: 'Get started with Sources', + defaultMessage: 'Get started with Integrations', + description: 'Get started with Integrations', id: 'noProvidersStateGetStarted', }, noProvidersStateIbmDesc: { @@ -2984,8 +2992,9 @@ export default defineMessages({ }, priceListDeleteRateDesc: { defaultMessage: - '{count, plural, one {This action will remove {metric} rate from {costModel}} other {This action will remove {metric} rate from {costModel}, which is assigned to the following sources:}}', - description: 'This action will remove {metric} rate from {costModel}, which is assigned to the following sources:', + '{count, plural, one {This action will remove {metric} rate from {costModel}} other {This action will remove {metric} rate from {costModel}, which is assigned to the following integrations:}}', + description: + 'This action will remove {metric} rate from {costModel}, which is assigned to the following integrations:', id: 'priceListDeleteRateDesc', }, priceListDuplicate: { @@ -3275,8 +3284,8 @@ export default defineMessages({ id: 'sinceDate', }, sourceType: { - defaultMessage: 'Source type', - description: 'Source type', + defaultMessage: 'Integration', + description: 'Integration', id: 'sourceType', }, sourceTypes: { @@ -3289,12 +3298,12 @@ export default defineMessages({ 'ibm {IBM Cloud} ' + 'ocp {OpenShift} ' + 'other {}}', - description: 'Source types', + description: 'Integrations', id: 'sourceTypes', }, sources: { - defaultMessage: 'Sources', - description: 'Sources', + defaultMessage: 'Integrations', + description: 'Integrations', id: 'sources', }, start: { @@ -3339,9 +3348,9 @@ export default defineMessages({ }, tagDesc: { defaultMessage: - 'Enable your data source labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. {learnMore}', + 'Enable your tags and labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. {learnMore}', description: - 'Enable your data source labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. {learnMore}', + 'Enable your tags and labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. {learnMore}', id: 'tagDesc', }, tagHeadingKey: { diff --git a/src/routes/settings/costModels/costModelWizard/generalInformation.tsx b/src/routes/settings/costModels/costModelWizard/generalInformation.tsx index 14a70cfa9..26a813135 100644 --- a/src/routes/settings/costModels/costModelWizard/generalInformation.tsx +++ b/src/routes/settings/costModels/costModelWizard/generalInformation.tsx @@ -85,7 +85,13 @@ class GeneralInformation extends React.Component { {intl.formatMessage(messages.costModelsWizardGeneralInfoTitle)} - + {intl.formatMessage(messages.learnMore)} diff --git a/src/routes/settings/costModels/costModelsDetails/dialog.test.tsx b/src/routes/settings/costModels/costModelsDetails/dialog.test.tsx index 5bad614b1..6918981f4 100644 --- a/src/routes/settings/costModels/costModelsDetails/dialog.test.tsx +++ b/src/routes/settings/costModels/costModelsDetails/dialog.test.tsx @@ -113,7 +113,7 @@ test('delete dialog error', async () => { renderUI(state); expect(screen.queryAllByText(regExp(messages.costModelsDelete))).toHaveLength(1); expect(screen.queryAllByText(/This action will delete/i)).toHaveLength(0); - expect(screen.queryAllByText(/The following sources are assigned to/i)).toHaveLength(1); + expect(screen.queryAllByText(/The following integrations are assigned to/i)).toHaveLength(1); await user.click(screen.getByText(regExp(messages.cancel))); expect(screen.queryAllByText(regExp(messages.costModelsDelete))).toHaveLength(0); }); diff --git a/src/routes/settings/costModels/costModelsDetails/table.test.tsx b/src/routes/settings/costModels/costModelsDetails/table.test.tsx index e0c6061fb..80812af0c 100644 --- a/src/routes/settings/costModels/costModelsDetails/table.test.tsx +++ b/src/routes/settings/costModels/costModelsDetails/table.test.tsx @@ -41,7 +41,7 @@ function regExp(msg) { test('loading table', () => { renderUI({}); - expect(screen.queryAllByText(/Looking for sources/i)).toHaveLength(1); + expect(screen.queryAllByText(/Looking for integrations/i)).toHaveLength(1); }); // Todo: Replace no_cost_models_title with default message string From 0b4921c871ba570542096ad21b21260a4f7bf22e Mon Sep 17 00:00:00 2001 From: Dan Labrecque Date: Mon, 9 Oct 2023 16:27:49 -0400 Subject: [PATCH 02/16] Replace references to sources with integrations https://issues.redhat.com/browse/COST-4039 --- locales/data.json | 100 +++++----- locales/translations.json | 83 +++++---- src/locales/messages.ts | 175 +++++++++--------- .../costModelWizard/generalInformation.tsx | 8 +- .../costModelsDetails/dialog.test.tsx | 2 +- .../costModelsDetails/table.test.tsx | 2 +- 6 files changed, 196 insertions(+), 174 deletions(-) diff --git a/locales/data.json b/locales/data.json index b41822c4a..cdffc5174 100644 --- a/locales/data.json +++ b/locales/data.json @@ -1176,7 +1176,7 @@ "value": [ { "type": 0, - "value": "Assign source" + "value": "Assign integration" } ] }, @@ -1184,7 +1184,7 @@ "value": [ { "type": 0, - "value": "Assign sources" + "value": "Assign integrations" } ] } @@ -1197,7 +1197,7 @@ "costModelsAssignSourcesErrorDesc": [ { "type": 0, - "value": "You cannot assign a source at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our " + "value": "You cannot assign a integration at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our " }, { "type": 1, @@ -1217,19 +1217,19 @@ "costModelsAssignSourcesParen": [ { "type": 0, - "value": "Assign source(s)" + "value": "Assign integrations" } ], "costModelsAssignedSources": [ { "type": 0, - "value": "Assigned sources" + "value": "Assigned integrations" } ], "costModelsAvailableSources": [ { "type": 0, - "value": "The following sources are assigned to my production cost model:" + "value": "The following integrations are assigned to my production cost model:" } ], "costModelsCanDelete": [ @@ -1249,7 +1249,7 @@ "costModelsCanNotDelete": [ { "type": 0, - "value": "The following sources are assigned to " + "value": "The following integrations are assigned to " }, { "type": 1, @@ -1283,13 +1283,13 @@ "costModelsDeleteSource": [ { "type": 0, - "value": "You must unassign any sources before you can delete this cost model." + "value": "You must unassign any integrations before you can delete this cost model." } ], "costModelsDesc": [ { "type": 0, - "value": "Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your sources to calculate your charges for resource usage. " + "value": "Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your integrations to calculate your charges for resource usage. " }, { "type": 1, @@ -1365,25 +1365,25 @@ "costModelsExamplesDoubleMarkup": [ { "type": 0, - "value": "A markup rate of (+) 100% doubles the base costs of your source(s)." + "value": "A markup rate of (+) 100% doubles the base costs of your integrations." } ], "costModelsExamplesNoAdjust": [ { "type": 0, - "value": "A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your source(s)." + "value": "A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your integrations." } ], "costModelsExamplesReduceSeventyfive": [ { "type": 0, - "value": "A discount rate of (-) 25% reduces the base costs of your source(s) to 75% of the original value." + "value": "A discount rate of (-) 25% reduces the base costs of your integrations to 75% of the original value." } ], "costModelsExamplesReduceZero": [ { "type": 0, - "value": "A discount rate of (-) 100% reduces the base costs of your source(s) to 0." + "value": "A discount rate of (-) 100% reduces the base costs of your integrations to 0." } ], "costModelsFilterPlaceholder": [ @@ -1467,7 +1467,7 @@ "costModelsSourceDeleteSource": [ { "type": 0, - "value": "Unassign source" + "value": "Unassign integration" } ], "costModelsSourceDeleteSourceDesc": [ @@ -1477,7 +1477,7 @@ }, { "type": 1, - "value": "source" + "value": "integration" }, { "type": 0, @@ -1489,25 +1489,25 @@ }, { "type": 0, - "value": " cost model. You can then assign the cost model to a new source." + "value": " cost model. You can then assign the cost model to a new integration." } ], "costModelsSourceEmptyStateDesc": [ { "type": 0, - "value": "Select the source(s) you want to apply this cost model to." + "value": "Select the integrations you want to apply this cost model to." } ], "costModelsSourceEmptyStateTitle": [ { "type": 0, - "value": "No sources are assigned" + "value": "No integrations are assigned" } ], "costModelsSourceTableAriaLabel": [ { "type": 0, - "value": "Sources table" + "value": "Integrations table" } ], "costModelsTableAriaLabel": [ @@ -1569,7 +1569,7 @@ "costModelsWizardEmptySourceTypeLabel": [ { "type": 0, - "value": "Select source type" + "value": "Select integration" } ], "costModelsWizardEmptyStateOtherTime": [ @@ -1665,7 +1665,7 @@ "costModelsWizardReviewStatusSubTitle": [ { "type": 0, - "value": "Costs for resources connected to the assigned sources will now be calculated using the newly created " + "value": "Costs for resources connected to the assigned integrations will now be calculated using the newly created " }, { "type": 1, @@ -1689,7 +1689,7 @@ "value": [ { "type": 0, - "value": "Select from the following Amazon Web Services sources:" + "value": "Select from the following Amazon Web Services integrations:" } ] }, @@ -1697,7 +1697,7 @@ "value": [ { "type": 0, - "value": "Select from the following Microsoft Azure sources:" + "value": "Select from the following Microsoft Azure integrations:" } ] }, @@ -1705,7 +1705,7 @@ "value": [ { "type": 0, - "value": "Select from the following Google Cloud Platform sources:" + "value": "Select from the following Google Cloud Platform integrations:" } ] }, @@ -1713,7 +1713,7 @@ "value": [ { "type": 0, - "value": "Select from the following Oracle Cloud Infrastructure sources:" + "value": "Select from the following Oracle Cloud Infrastructure integrations:" } ] }, @@ -1721,7 +1721,7 @@ "value": [ { "type": 0, - "value": "Select from the following Red Hat OpenShift sources:" + "value": "Select from the following Red Hat OpenShift integrations:" } ] }, @@ -1736,7 +1736,7 @@ "costModelsWizardSourceErrorDesc": [ { "type": 0, - "value": "Try refreshing this step or you can skip this step (as it is optional) and assign the source to the cost model at a later time. If the problem persists, contact your organization administrator or visit our " + "value": "Try refreshing this step or you can skip this step (as it is optional) and assign the integration to the cost model at a later time. If the problem persists, contact your organization administrator or visit our " }, { "type": 1, @@ -1756,13 +1756,13 @@ "costModelsWizardSourceSubtitle": [ { "type": 0, - "value": "Select one or more sources to this cost model. You can skip this step and assign the cost model to a source at a later time. A source will be unavailable for selection if a cost model is already assigned to it." + "value": "Select one or more integrations to this cost model. You can skip this step and assign the cost model to a integration at a later time. An integration will be unavailable for selection if a cost model is already assigned to it." } ], "costModelsWizardSourceTableAriaLabel": [ { "type": 0, - "value": "Assign sources to cost model table" + "value": "Assign integrations to cost model table" } ], "costModelsWizardSourceTableCostModel": [ @@ -1780,13 +1780,13 @@ "costModelsWizardSourceTitle": [ { "type": 0, - "value": "Assign sources to the cost model (optional)" + "value": "Assign integrations to the cost model (optional)" } ], "costModelsWizardSourceWarning": [ { "type": 0, - "value": "This source is assigned to " + "value": "This integration is assigned to " }, { "type": 1, @@ -1812,7 +1812,7 @@ "costModelsWizardStepsSources": [ { "type": 0, - "value": "Assign a source to the cost model" + "value": "Assign an integration to the cost model" } ], "costModelsWizardSubTitleTable": [ @@ -1824,7 +1824,7 @@ "costModelsWizardWarningSources": [ { "type": 0, - "value": "Cannot assign cost model to a source that is already assigned to another one" + "value": "Cannot assign cost model to an integration that is already assigned to another one" } ], "costTypeAmortized": [ @@ -1902,7 +1902,7 @@ "createCostModelDesc": [ { "type": 0, - "value": "A cost model allows you to associate a price to metrics provided by your sources to charge for utilization of resources." + "value": "A cost model allows you to associate a price to metrics provided by your integrations to charge for utilization of resources." } ], "createCostModelExit": [ @@ -2849,7 +2849,7 @@ "value": [ { "type": 0, - "value": "Source type" + "value": "Integration" } ] }, @@ -3484,6 +3484,12 @@ "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index#assembly-setting-up-cost-models" } ], + "docsConfigCostModelsOcp": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-ocp-cost-model_setting-up-cost-models" + } + ], "docsConfigPlatformProjects": [ { "type": 0, @@ -7230,7 +7236,7 @@ "value": [ { "type": 0, - "value": "Filter by source type" + "value": "Filter by integration" } ] }, @@ -7457,7 +7463,7 @@ "value": [ { "type": 0, - "value": "Source type" + "value": "Integration" } ] }, @@ -9632,7 +9638,7 @@ "inactiveSourcesGoTo": [ { "type": 0, - "value": "Go to Sources for more information" + "value": "Go to Integrations for more information" } ], "inactiveSourcesTitle": [ @@ -9648,7 +9654,7 @@ "inactiveSourcesTitleMultiplier": [ { "type": 0, - "value": "A problem was detected with the following sources" + "value": "A problem was detected with the following integrations" } ], "infrastructure": [ @@ -9678,13 +9684,13 @@ "loadingStateDesc": [ { "type": 0, - "value": "Searching for your sources. Do not refresh the browser" + "value": "Searching for your integrations. Do not refresh the browser" } ], "loadingStateTitle": [ { "type": 0, - "value": "Looking for sources..." + "value": "Looking for integrations..." } ], "maintenanceEmptyStateDesc": [ @@ -9748,7 +9754,7 @@ "markupOrDiscountModalDesc": [ { "type": 0, - "value": "Use markup/discount to manipulate how the raw costs are being calculated for your sources. Note, costs calculated from price list rates will not be affected by this." + "value": "Use markup/discount to manipulate how the raw costs are being calculated for your integrations. Note, costs calculated from price list rates will not be affected by this." } ], "markupOrDiscountNumber": [ @@ -10220,7 +10226,7 @@ "noProvidersStateGetStarted": [ { "type": 0, - "value": "Get started with Sources" + "value": "Get started with Integrations" } ], "noProvidersStateIbmDesc": [ @@ -11254,7 +11260,7 @@ }, { "type": 0, - "value": ", which is assigned to the following sources:" + "value": ", which is assigned to the following integrations:" } ] } @@ -11811,7 +11817,7 @@ "sourceType": [ { "type": 0, - "value": "Source type" + "value": "Integration" } ], "sourceTypes": [ @@ -11876,7 +11882,7 @@ "sources": [ { "type": 0, - "value": "Sources" + "value": "Integrations" } ], "start": [ @@ -11959,7 +11965,7 @@ "tagDesc": [ { "type": 0, - "value": "Enable your data source labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. " + "value": "Enable your tags and labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. " }, { "type": 1, diff --git a/locales/translations.json b/locales/translations.json index fc3324150..0af1e6fee 100644 --- a/locales/translations.json +++ b/locales/translations.json @@ -83,18 +83,18 @@ "costModels": "Cost Models", "costModelsActions": "Cost model actions", "costModelsAddTagValues": "Add more tag values", - "costModelsAssignSources": "{count, plural, one {Assign source} other {Assign sources}}", - "costModelsAssignSourcesErrorDesc": "You cannot assign a source at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our {url} for known outages.", + "costModelsAssignSources": "{count, plural, one {Assign integration} other {Assign integrations}}", + "costModelsAssignSourcesErrorDesc": "You cannot assign a integration at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our {url} for known outages.", "costModelsAssignSourcesErrorTitle": "This action is temporarily unavailable", - "costModelsAssignSourcesParen": "Assign source(s)", - "costModelsAssignedSources": "Assigned sources", - "costModelsAvailableSources": "The following sources are assigned to my production cost model:", + "costModelsAssignSourcesParen": "Assign integrations", + "costModelsAssignedSources": "Assigned integrations", + "costModelsAvailableSources": "The following integrations are assigned to my production cost model:", "costModelsCanDelete": "This action will delete {name} cost model from the system. This action cannot be undone", - "costModelsCanNotDelete": "The following sources are assigned to {name} cost model:", + "costModelsCanNotDelete": "The following integrations are assigned to {name} cost model:", "costModelsDelete": "Delete cost model", "costModelsDeleteDesc": "This action will delete {costModel} cost model from the system. This action cannot be undone.", - "costModelsDeleteSource": "You must unassign any sources before you can delete this cost model.", - "costModelsDesc": "Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your sources to calculate your charges for resource usage. {learnMore}", + "costModelsDeleteSource": "You must unassign any integrations before you can delete this cost model.", + "costModelsDesc": "Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your integrations to calculate your charges for resource usage. {learnMore}", "costModelsDescTooLong": "Should not exceed 500 characters", "costModelsDetailsTitle": "Cost Model Details", "costModelsDistributionDesc": "The following is the type of metric that is set to be used when distributing costs to the project level breakdowns.", @@ -106,10 +106,10 @@ "costModelsEnterTagKey": "Enter a tag key", "costModelsEnterTagRate": "Enter rate by tag", "costModelsEnterTagValue": "Enter a tag value", - "costModelsExamplesDoubleMarkup": "A markup rate of (+) 100% doubles the base costs of your source(s).", - "costModelsExamplesNoAdjust": "A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your source(s).", - "costModelsExamplesReduceSeventyfive": "A discount rate of (-) 25% reduces the base costs of your source(s) to 75% of the original value.", - "costModelsExamplesReduceZero": "A discount rate of (-) 100% reduces the base costs of your source(s) to 0.", + "costModelsExamplesDoubleMarkup": "A markup rate of (+) 100% doubles the base costs of your integrations.", + "costModelsExamplesNoAdjust": "A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your integrations.", + "costModelsExamplesReduceSeventyfive": "A discount rate of (-) 25% reduces the base costs of your integrations to 75% of the original value.", + "costModelsExamplesReduceZero": "A discount rate of (-) 100% reduces the base costs of your integrations to 0.", "costModelsFilterPlaceholder": "Filter by name...", "costModelsFilterTagKey": "Filter by tag key", "costModelsInfoTooLong": "Should not exceed 100 characters", @@ -123,11 +123,11 @@ "costModelsSelectMeasurement": "Select Measurement", "costModelsSelectMetric": "Select Metric", "costModelsSourceDelete": "Unassign", - "costModelsSourceDeleteSource": "Unassign source", - "costModelsSourceDeleteSourceDesc": "This will remove the assignment of {source} from the {costModel} cost model. You can then assign the cost model to a new source.", - "costModelsSourceEmptyStateDesc": "Select the source(s) you want to apply this cost model to.", - "costModelsSourceEmptyStateTitle": "No sources are assigned", - "costModelsSourceTableAriaLabel": "Sources table", + "costModelsSourceDeleteSource": "Unassign integration", + "costModelsSourceDeleteSourceDesc": "This will remove the assignment of {integration} from the {costModel} cost model. You can then assign the cost model to a new integration.", + "costModelsSourceEmptyStateDesc": "Select the integrations you want to apply this cost model to.", + "costModelsSourceEmptyStateTitle": "No integrations are assigned", + "costModelsSourceTableAriaLabel": "Integrations table", "costModelsTableAriaLabel": "Cost models table", "costModelsTagRateTableKey": "Tag key", "costModelsTagRateTableValue": "Tag value", @@ -136,7 +136,7 @@ "costModelsWizardCreateCostModel": "Create cost model", "costModelsWizardCreatePriceList": "Create a price list", "costModelsWizardCurrencyToggleLabel": "Select currency", - "costModelsWizardEmptySourceTypeLabel": "Select source type", + "costModelsWizardEmptySourceTypeLabel": "Select integration", "costModelsWizardEmptyStateOtherTime": "You can create a price list or modify one at a later time.", "costModelsWizardEmptyStateSkipStep": "To skip this step, click the {value} button.", "costModelsWizardEmptyStateTitle": "A price list has not been created.", @@ -148,22 +148,22 @@ "costModelsWizardRateAriaLabel": "Assign rate", "costModelsWizardReviewMarkDiscount": "Markup/Discount", "costModelsWizardReviewStatusSubDetails": "Review and confirm your cost model configuration and assignments. Click {create} to create the cost model, or {back} to revise.", - "costModelsWizardReviewStatusSubTitle": "Costs for resources connected to the assigned sources will now be calculated using the newly created {value} cost model.", + "costModelsWizardReviewStatusSubTitle": "Costs for resources connected to the assigned integrations will now be calculated using the newly created {value} cost model.", "costModelsWizardReviewStatusTitle": "Creation successful", - "costModelsWizardSourceCaption": "{value, select, aws {Select from the following Amazon Web Services sources:} azure {Select from the following Microsoft Azure sources:} oci {Select from the following Oracle Cloud Infrastructure sources:} gcp {Select from the following Google Cloud Platform sources:} ocp {Select from the following Red Hat OpenShift sources:} other {}}", - "costModelsWizardSourceErrorDesc": "Try refreshing this step or you can skip this step (as it is optional) and assign the source to the cost model at a later time. If the problem persists, contact your organization administrator or visit our {url} for known outages.", + "costModelsWizardSourceCaption": "{value, select, aws {Select from the following Amazon Web Services integrations:} azure {Select from the following Microsoft Azure integrations:} oci {Select from the following Oracle Cloud Infrastructure integrations:} gcp {Select from the following Google Cloud Platform integrations:} ocp {Select from the following Red Hat OpenShift integrations:} other {}}", + "costModelsWizardSourceErrorDesc": "Try refreshing this step or you can skip this step (as it is optional) and assign the integration to the cost model at a later time. If the problem persists, contact your organization administrator or visit our {url} for known outages.", "costModelsWizardSourceErrorTitle": "This step is temporarily unavailable", - "costModelsWizardSourceSubtitle": "Select one or more sources to this cost model. You can skip this step and assign the cost model to a source at a later time. A source will be unavailable for selection if a cost model is already assigned to it.", - "costModelsWizardSourceTableAriaLabel": "Assign sources to cost model table", + "costModelsWizardSourceSubtitle": "Select one or more integrations to this cost model. You can skip this step and assign the cost model to a integration at a later time. An integration will be unavailable for selection if a cost model is already assigned to it.", + "costModelsWizardSourceTableAriaLabel": "Assign integrations to cost model table", "costModelsWizardSourceTableCostModel": "Cost model assigned", "costModelsWizardSourceTableDefaultCostModel": "Default cost model", - "costModelsWizardSourceTitle": "Assign sources to the cost model (optional)", - "costModelsWizardSourceWarning": "This source is assigned to {costModel} cost model. You will have to unassigned it first", + "costModelsWizardSourceTitle": "Assign integrations to the cost model (optional)", + "costModelsWizardSourceWarning": "This integration is assigned to {costModel} cost model. You will have to unassigned it first", "costModelsWizardStepsGenInfo": "Enter information", "costModelsWizardStepsReview": "Review details", - "costModelsWizardStepsSources": "Assign a source to the cost model", + "costModelsWizardStepsSources": "Assign an integration to the cost model", "costModelsWizardSubTitleTable": "The following is a list of rates you have set so far for this price list.", - "costModelsWizardWarningSources": "Cannot assign cost model to a source that is already assigned to another one", + "costModelsWizardWarningSources": "Cannot assign cost model to an integration that is already assigned to another one", "costTypeAmortized": "Amortized", "costTypeAmortizedDesc": "Recurring and/or upfront costs are distributed evenly across the month", "costTypeBlended": "Blended", @@ -176,7 +176,7 @@ "cpuTitle": "CPU", "create": "Create", "createCostModelConfirmMsg": "Are you sure you want to stop creating a cost model? All settings will be discarded.", - "createCostModelDesc": "A cost model allows you to associate a price to metrics provided by your sources to charge for utilization of resources.", + "createCostModelDesc": "A cost model allows you to associate a price to metrics provided by your integrations to charge for utilization of resources.", "createCostModelExit": "Exit cost model creation", "createCostModelExitYes": "Yes, I want to exit", "createCostModelNoContinue": "No, I want to continue", @@ -212,7 +212,7 @@ "detailsEmptyState": "Processing data to generate a list of all services that sums to a total cost...", "detailsMore": "{value} more...", "detailsMoreClusters": ", {value} more...", - "detailsResourceNames": "{value, select, account {Account names} aws_category {Cost category names} cluster {Cluster names} gcp_project {GCP project names} group {Group} name {Name} node {Node names} org_unit_id {Organizational unit names} payer_tenant_id {Account names} product_service {Service names} project {Project names} region {Region names} resource_location {Region names} service {Service names} service_name {Service names} status {Status} subscription_guid {Account names} source_type {Source type} tag {Tag names} other {}}", + "detailsResourceNames": "{value, select, account {Account names} aws_category {Cost category names} cluster {Cluster names} gcp_project {GCP project names} group {Group} name {Name} node {Node names} org_unit_id {Organizational unit names} payer_tenant_id {Account names} product_service {Service names} project {Project names} region {Region names} resource_location {Region names} service {Service names} service_name {Service names} status {Status} subscription_guid {Account names} source_type {Integration} tag {Tag names} other {}}", "detailsSummaryModalTitle": "{groupBy, select, account {{name} accounts} aws_category {{name} cost categories} cluster {{name} clusters} gcp_project {{name} GCP projects} node {{name} nodes} org_unit_id {{name} organizational units} payer_tenant_id {{name} accounts} product_service {{name} services} project {{name} projects} region {{name} regions} resource_location {{name} regions} service {{name} services} service_name {{name} services} subscription_guid {{name} accounts} tag {{name} tags} other {}}", "detailsUnusedCapacityLabel": "Unused capacity", "detailsUnusedRequestsLabel": "Unrequested capacity", @@ -235,6 +235,7 @@ "docsAddOcpSources": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/adding_an_openshift_container_platform_source_to_cost_management", "docsConfigCostCategory": "https://access.redhat.com/documentation/en-us/cost_management_service/2023", "docsConfigCostModels": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index#assembly-setting-up-cost-models", + "docsConfigCostModelsOcp": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-ocp-cost-model_setting-up-cost-models", "docsConfigPlatformProjects": "https://access.redhat.com/documentation/en-us/cost_management_service/2023", "docsConfigTags": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/managing_cost_data_using_tagging/assembly-configuring-tags-and-labels-in-cost-management", "docsCostModelTerminology": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index#cost-model-terminology", @@ -300,12 +301,12 @@ "filterByInputAriaLabel": "{value, select, account {Input for account name} aws_category {Input for cost category name} cluster {Input for cluster name} gcp_project {Input for GCP project name} name {Input for name} node {Input for node name} org_unit_id {Input for organizational unit name} payer_tenant_id {Input for account name} product_service {Input for service_name} project {Input for project name} region {Input for region name} resource_location {Input for region name} service {Input for service name} service_name {Input for service_name} subscription_guid {Input for account name} status {Input for status value} tag {Input for tag name} other {}}", "filterByOrgUnitAriaLabel": "Organizational units", "filterByOrgUnitPlaceholder": "Choose unit", - "filterByPlaceholder": "{value, select, account {Filter by account} aws_category {Filter by cost category} cluster {Filter by cluster} container {Filter by container} description {Filter by description} gcp_project {Filter by GCP project} group {Filter by group} name {Filter by name} node {Filter by node} org_unit_id {Filter by organizational unit} payer_tenant_id {Filter by account} persistent_volume_claim {Filter by persistent volume claim} product_service {Filter by service} project {Filter by project} region {Filter by region} resource_location {Filter by region} service {Filter by service} service_name {Filter by service} source_type {Filter by source type} status {Filter by status} storage_class {Filter by StorageClass} subscription_guid {Filter by account} workload {Filter by workload name} workload_type {Filter by workload type} tag {Filter by tag} other {}}", + "filterByPlaceholder": "{value, select, account {Filter by account} aws_category {Filter by cost category} cluster {Filter by cluster} container {Filter by container} description {Filter by description} gcp_project {Filter by GCP project} group {Filter by group} name {Filter by name} node {Filter by node} org_unit_id {Filter by organizational unit} payer_tenant_id {Filter by account} persistent_volume_claim {Filter by persistent volume claim} product_service {Filter by service} project {Filter by project} region {Filter by region} resource_location {Filter by region} service {Filter by service} service_name {Filter by service} source_type {Filter by integration} status {Filter by status} storage_class {Filter by StorageClass} subscription_guid {Filter by account} workload {Filter by workload name} workload_type {Filter by workload type} tag {Filter by tag} other {}}", "filterByTagKeyAriaLabel": "Tag keys", "filterByTagValueAriaLabel": "Tag values", "filterByTagValueButtonAriaLabel": "Filter button for tag value", "filterByValuePlaceholder": "Filter by value", - "filterByValues": "{value, select, account {Account} aws_category {Cost category} cluster {Cluster} container {Container} gcp_project {GCP project} group {Group} name {Name} node {Node} org_unit_id {Organizational unit} payer_tenant_id {Account} persistent_volume_claim {Persistent volume claim} product_service {Service} project {Project} region {Region} resource_location {Region} service {Service} service_name {Service} source_type {Source type} status {Status} storage_class {StorageClass} subscription_guid {Account} tag {Tag} workload {Workload name} workload_type {Workload type} other {}}", + "filterByValues": "{value, select, account {Account} aws_category {Cost category} cluster {Cluster} container {Container} gcp_project {GCP project} group {Group} name {Name} node {Node} org_unit_id {Organizational unit} payer_tenant_id {Account} persistent_volume_claim {Persistent volume claim} product_service {Service} project {Project} region {Region} resource_location {Region} service {Service} service_name {Service} source_type {Integration} status {Status} storage_class {StorageClass} subscription_guid {Account} tag {Tag} workload {Workload name} workload_type {Workload type} other {}}", "filterByValuesAriaLabel": "Values", "forDate": "{value} for {dateRange}", "gcp": "Google Cloud Platform", @@ -332,15 +333,15 @@ "ibmDailyCostTrendTitle": "IBM Cloud Services daily cost comparison ({units})", "ibmDesc": "Raw cost from IBM Cloud infrastructure.", "ibmDetailsTitle": "IBM Cloud Details", - "inactiveSourcesGoTo": "Go to Sources for more information", + "inactiveSourcesGoTo": "Go to Integrations for more information", "inactiveSourcesTitle": "A problem was detected with {value}", - "inactiveSourcesTitleMultiplier": "A problem was detected with the following sources", + "inactiveSourcesTitleMultiplier": "A problem was detected with the following integrations", "infrastructure": "Infrastructure", "lastProcessed": "Last processed", "learnMore": "Learn more", "limits": "Limits", - "loadingStateDesc": "Searching for your sources. Do not refresh the browser", - "loadingStateTitle": "Looking for sources...", + "loadingStateDesc": "Searching for your integrations. Do not refresh the browser", + "loadingStateTitle": "Looking for integrations...", "maintenanceEmptyStateDesc": "Cost Management is currently undergoing scheduled maintenance and will be unavailable from 13:00 - 19:00 UTC (09:00 AM - 03:00 PM EDT).", "maintenanceEmptyStateInfo": "For more information visit {url}", "maintenanceEmptyStateThanks": "We will be back soon. Thank you for your patience!", @@ -350,7 +351,7 @@ "markupDesc": "The portion of cost calculated by applying markup or discount to infrastructure raw cost in the cost management application", "markupOrDiscount": "Markup or Discount", "markupOrDiscountDesc": "This Percentage is applied to raw cost calculations by multiplying the cost with this percentage. Costs calculated from price list rates will not be effected.", - "markupOrDiscountModalDesc": "Use markup/discount to manipulate how the raw costs are being calculated for your sources. Note, costs calculated from price list rates will not be affected by this.", + "markupOrDiscountModalDesc": "Use markup/discount to manipulate how the raw costs are being calculated for your integrations. Note, costs calculated from price list rates will not be affected by this.", "markupOrDiscountNumber": "Markup or discount must be a number", "markupOrDiscountTooLong": "Should not exceed 10 decimals", "markupPlus": "Markup (+)", @@ -380,7 +381,7 @@ "noProvidersStateAzureTitle": "Track your Microsoft Azure spending!", "noProvidersStateGcpDesc": "Add a Google Cloud Platform account to see a total cost breakdown of your spend by accounts, services, regions, or tags.", "noProvidersStateGcpTitle": "Track your Google Cloud Platform spending!", - "noProvidersStateGetStarted": "Get started with Sources", + "noProvidersStateGetStarted": "Get started with Integrations", "noProvidersStateIbmDesc": "Add an IBM Cloud account to see a total cost breakdown of your spend by accounts, services, regions, or tags.", "noProvidersStateIbmTitle": "Track your IBM Cloud spending!", "noProvidersStateOcpAddSources": "Add an OpenShift cluster to Cost Management", @@ -478,7 +479,7 @@ "priceList": "Price list", "priceListAddRate": "Add rate", "priceListDeleteRate": "Delete rate", - "priceListDeleteRateDesc": "{count, plural, one {This action will remove {metric} rate from {costModel}} other {This action will remove {metric} rate from {costModel}, which is assigned to the following sources:}}", + "priceListDeleteRateDesc": "{count, plural, one {This action will remove {metric} rate from {costModel}} other {This action will remove {metric} rate from {costModel}, which is assigned to the following integrations:}}", "priceListDuplicate": "This tag key is already in use", "priceListEditRate": "Edit rate", "priceListEmptyRate": "No rates are set", @@ -534,9 +535,9 @@ "settingsTagsErrorTitle": "You can not enable more than {value} tags total", "settingsTitle": "Cost Management Settings", "sinceDate": "{dateRange}", - "sourceType": "Source type", + "sourceType": "Integration", "sourceTypes": "{value, select, aws {Amazon Web Services} azure {Microsoft Azure} oci {Oracle Cloud Infrastructure} gcp {Google Cloud Platform} ibm {IBM Cloud} ocp {OpenShift} other {}}", - "sources": "Sources", + "sources": "Integrations", "start": "Start", "status": "{value, select, pending {Pending} running {Running} failed {Failed} other {}}", "statusActions": "Status/Actions", @@ -545,7 +546,7 @@ "sumPlatformCosts": "Sum platform costs", "summary": "Summary", "supplementary": "Supplementary", - "tagDesc": "Enable your data source labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. {learnMore}", + "tagDesc": "Enable your tags and labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. {learnMore}", "tagHeadingKey": "Key", "tagHeadingTitle": "Tags ({value})", "tagHeadingValue": "Value", diff --git a/src/locales/messages.ts b/src/locales/messages.ts index aa06aa9c7..93864c12b 100644 --- a/src/locales/messages.ts +++ b/src/locales/messages.ts @@ -472,14 +472,14 @@ export default defineMessages({ id: 'costModelsAddTagValues', }, costModelsAssignSources: { - defaultMessage: '{count, plural, one {Assign source} other {Assign sources}}', - description: 'Assign sources -- plural or singular', + defaultMessage: '{count, plural, one {Assign integration} other {Assign integrations}}', + description: 'Assign integrations -- plural or singular', id: 'costModelsAssignSources', }, costModelsAssignSourcesErrorDesc: { defaultMessage: - 'You cannot assign a source at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our {url} for known outages.', - description: 'You cannot assign a source at this time', + 'You cannot assign a integration at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our {url} for known outages.', + description: 'You cannot assign a integration at this time', id: 'costModelsAssignSourcesErrorDesc', }, costModelsAssignSourcesErrorTitle: { @@ -488,18 +488,18 @@ export default defineMessages({ id: 'costModelsAssignSourcesErrorTitle', }, costModelsAssignSourcesParen: { - defaultMessage: 'Assign source(s)', - description: 'Assign source(s)', + defaultMessage: 'Assign integrations', + description: 'Assign integrations', id: 'costModelsAssignSourcesParen', }, costModelsAssignedSources: { - defaultMessage: 'Assigned sources', - description: 'Assigned sourcess', + defaultMessage: 'Assigned integrations', + description: 'Assigned integrationss', id: 'costModelsAssignedSources', }, costModelsAvailableSources: { - defaultMessage: 'The following sources are assigned to my production cost model:', - description: 'The following sources are assigned to my production cost model:', + defaultMessage: 'The following integrations are assigned to my production cost model:', + description: 'The following integrations are assigned to my production cost model:', id: 'costModelsAvailableSources', }, costModelsCanDelete: { @@ -508,8 +508,8 @@ export default defineMessages({ id: 'costModelsCanDelete', }, costModelsCanNotDelete: { - defaultMessage: 'The following sources are assigned to {name} cost model:', - description: 'The following sources are assigned to {name} cost model:', + defaultMessage: 'The following integrations are assigned to {name} cost model:', + description: 'The following integrations are assigned to {name} cost model:', id: 'costModelsCanNotDelete', }, costModelsDelete: { @@ -523,15 +523,15 @@ export default defineMessages({ id: 'costModelsDeleteDesc', }, costModelsDeleteSource: { - defaultMessage: 'You must unassign any sources before you can delete this cost model.', - description: 'You must unassign any sources before you can delete this cost model.', + defaultMessage: 'You must unassign any integrations before you can delete this cost model.', + description: 'You must unassign any integrations before you can delete this cost model.', id: 'costModelsDeleteSource', }, costModelsDesc: { defaultMessage: - 'Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your sources to calculate your charges for resource usage. {learnMore}', + 'Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your integrations to calculate your charges for resource usage. {learnMore}', description: - 'Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your sources to calculate your charges for resource usage. {learnMore}', + 'Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your integrations to calculate your charges for resource usage. {learnMore}', id: 'costModelsDesc', }, costModelsDescTooLong: { @@ -594,25 +594,26 @@ export default defineMessages({ id: 'costModelsEnterTagValue', }, costModelsExamplesDoubleMarkup: { - defaultMessage: 'A markup rate of (+) 100% doubles the base costs of your source(s).', - description: 'A markup rate of (+) 100% doubles the base costs of your source(s).', + defaultMessage: 'A markup rate of (+) 100% doubles the base costs of your integrations.', + description: 'A markup rate of (+) 100% doubles the base costs of your integrations.', id: 'costModelsExamplesDoubleMarkup', }, costModelsExamplesNoAdjust: { defaultMessage: - 'A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your source(s).', + 'A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your integrations.', description: - 'A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your source(s).', + 'A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your integrations.', id: 'costModelsExamplesNoAdjust', }, costModelsExamplesReduceSeventyfive: { - defaultMessage: 'A discount rate of (-) 25% reduces the base costs of your source(s) to 75% of the original value.', - description: 'A discount rate of (-) 25% reduces the base costs of your source(s) to 75% of the original value.', + defaultMessage: + 'A discount rate of (-) 25% reduces the base costs of your integrations to 75% of the original value.', + description: 'A discount rate of (-) 25% reduces the base costs of your integrations to 75% of the original value.', id: 'costModelsExamplesReduceSeventyfive', }, costModelsExamplesReduceZero: { - defaultMessage: 'A discount rate of (-) 100% reduces the base costs of your source(s) to 0.', - description: 'A discount rate of (-) 100% reduces the base costs of your source(s) to 0.', + defaultMessage: 'A discount rate of (-) 100% reduces the base costs of your integrations to 0.', + description: 'A discount rate of (-) 100% reduces the base costs of your integrations to 0.', id: 'costModelsExamplesReduceZero', }, costModelsFilterPlaceholder: { @@ -681,30 +682,30 @@ export default defineMessages({ id: 'costModelsSourceDelete', }, costModelsSourceDeleteSource: { - defaultMessage: 'Unassign source', - description: 'Unassign source', + defaultMessage: 'Unassign integration', + description: 'Unassign integration', id: 'costModelsSourceDeleteSource', }, costModelsSourceDeleteSourceDesc: { defaultMessage: - 'This will remove the assignment of {source} from the {costModel} cost model. You can then assign the cost model to a new source.', + 'This will remove the assignment of {integration} from the {costModel} cost model. You can then assign the cost model to a new integration.', description: - 'This will remove the assignment of {source} from the {costModel} cost model. You can then assign the cost model to a new source.', + 'This will remove the assignment of {integration} from the {costModel} cost model. You can then assign the cost model to a new integration.', id: 'costModelsSourceDeleteSourceDesc', }, costModelsSourceEmptyStateDesc: { - defaultMessage: 'Select the source(s) you want to apply this cost model to.', - description: 'Select the source(s) you want to apply this cost model to.', + defaultMessage: 'Select the integrations you want to apply this cost model to.', + description: 'Select the integrations you want to apply this cost model to.', id: 'costModelsSourceEmptyStateDesc', }, costModelsSourceEmptyStateTitle: { - defaultMessage: 'No sources are assigned', - description: 'No sources are assigned', + defaultMessage: 'No integrations are assigned', + description: 'No integrations are assigned', id: 'costModelsSourceEmptyStateTitle', }, costModelsSourceTableAriaLabel: { - defaultMessage: 'Sources table', - description: 'Sources table', + defaultMessage: 'Integrations table', + description: 'Integrations table', id: 'costModelsSourceTableAriaLabel', }, costModelsTableAriaLabel: { @@ -748,8 +749,8 @@ export default defineMessages({ id: 'costModelsWizardCurrencyToggleLabel', }, costModelsWizardEmptySourceTypeLabel: { - defaultMessage: 'Select source type', - description: 'Select source type', + defaultMessage: 'Select integration', + description: 'Select integration', id: 'costModelsWizardEmptySourceTypeLabel', }, costModelsWizardEmptyStateOtherTime: { @@ -813,9 +814,9 @@ export default defineMessages({ }, costModelsWizardReviewStatusSubTitle: { defaultMessage: - 'Costs for resources connected to the assigned sources will now be calculated using the newly created {value} cost model.', + 'Costs for resources connected to the assigned integrations will now be calculated using the newly created {value} cost model.', description: - 'Costs for resources connected to the assigned sources will now be calculated using the newly created {value} cost model.', + 'Costs for resources connected to the assigned integrations will now be calculated using the newly created {value} cost model.', id: 'costModelsWizardReviewStatusSubTitle', }, costModelsWizardReviewStatusTitle: { @@ -826,18 +827,18 @@ export default defineMessages({ costModelsWizardSourceCaption: { defaultMessage: '{value, select, ' + - 'aws {Select from the following Amazon Web Services sources:} ' + - 'azure {Select from the following Microsoft Azure sources:} ' + - 'oci {Select from the following Oracle Cloud Infrastructure sources:} ' + - 'gcp {Select from the following Google Cloud Platform sources:} ' + - 'ocp {Select from the following Red Hat OpenShift sources:} ' + + 'aws {Select from the following Amazon Web Services integrations:} ' + + 'azure {Select from the following Microsoft Azure integrations:} ' + + 'oci {Select from the following Oracle Cloud Infrastructure integrations:} ' + + 'gcp {Select from the following Google Cloud Platform integrations:} ' + + 'ocp {Select from the following Red Hat OpenShift integrations:} ' + 'other {}}', - description: 'Select from the following {value} sources:', + description: 'Select from the following {value} integrations:', id: 'costModelsWizardSourceCaption', }, costModelsWizardSourceErrorDesc: { defaultMessage: - 'Try refreshing this step or you can skip this step (as it is optional) and assign the source to the cost model at a later time. If the problem persists, contact your organization administrator or visit our {url} for known outages.', + 'Try refreshing this step or you can skip this step (as it is optional) and assign the integration to the cost model at a later time. If the problem persists, contact your organization administrator or visit our {url} for known outages.', description: 'This step is temporarily unavailable', id: 'costModelsWizardSourceErrorDesc', }, @@ -848,14 +849,14 @@ export default defineMessages({ }, costModelsWizardSourceSubtitle: { defaultMessage: - 'Select one or more sources to this cost model. You can skip this step and assign the cost model to a source at a later time. A source will be unavailable for selection if a cost model is already assigned to it.', + 'Select one or more integrations to this cost model. You can skip this step and assign the cost model to a integration at a later time. An integration will be unavailable for selection if a cost model is already assigned to it.', description: - 'Select one or more sources to this cost model. You can skip this step and assign the cost model to a source at a later time. A source will be unavailable for selection if a cost model is already assigned to it.', + 'Select one or more integrations to this cost model. You can skip this step and assign the cost model to a integration at a later time. An integration will be unavailable for selection if a cost model is already assigned to it.', id: 'costModelsWizardSourceSubtitle', }, costModelsWizardSourceTableAriaLabel: { - defaultMessage: 'Assign sources to cost model table', - description: 'Assign sources to cost model table', + defaultMessage: 'Assign integrations to cost model table', + description: 'Assign integrations to cost model table', id: 'costModelsWizardSourceTableAriaLabel', }, costModelsWizardSourceTableCostModel: { @@ -869,13 +870,13 @@ export default defineMessages({ id: 'costModelsWizardSourceTableDefaultCostModel', }, costModelsWizardSourceTitle: { - defaultMessage: 'Assign sources to the cost model (optional)', - description: 'Assign sources to the cost model (optional)', + defaultMessage: 'Assign integrations to the cost model (optional)', + description: 'Assign integrations to the cost model (optional)', id: 'costModelsWizardSourceTitle', }, costModelsWizardSourceWarning: { - defaultMessage: 'This source is assigned to {costModel} cost model. You will have to unassigned it first', - description: 'This source is assigned to {costModel} cost model. You will have to unassigned it first', + defaultMessage: 'This integration is assigned to {costModel} cost model. You will have to unassigned it first', + description: 'This integration is assigned to {costModel} cost model. You will have to unassigned it first', id: 'costModelsWizardSourceWarning', }, costModelsWizardStepsGenInfo: { @@ -889,8 +890,8 @@ export default defineMessages({ id: 'costModelsWizardStepsReview', }, costModelsWizardStepsSources: { - defaultMessage: 'Assign a source to the cost model', - description: 'Assign a source to the cost model', + defaultMessage: 'Assign an integration to the cost model', + description: 'Assign an integration to the cost model', id: 'costModelsWizardStepsSources', }, costModelsWizardSubTitleTable: { @@ -899,8 +900,8 @@ export default defineMessages({ id: 'costModelsWizardSubTitleTable', }, costModelsWizardWarningSources: { - defaultMessage: 'Cannot assign cost model to a source that is already assigned to another one', - description: 'No Cannot assign cost model to a source that is already assigned to another one', + defaultMessage: 'Cannot assign cost model to an integration that is already assigned to another one', + description: 'No Cannot assign cost model to an integration that is already assigned to another one', id: 'costModelsWizardWarningSources', }, costTypeAmortized: { @@ -967,9 +968,9 @@ export default defineMessages({ }, createCostModelDesc: { defaultMessage: - 'A cost model allows you to associate a price to metrics provided by your sources to charge for utilization of resources.', + 'A cost model allows you to associate a price to metrics provided by your integrations to charge for utilization of resources.', description: - 'A cost model allows you to associate a price to metrics provided by your sources to charge for utilization of resources.', + 'A cost model allows you to associate a price to metrics provided by your integrations to charge for utilization of resources.', id: 'createCostModelDesc', }, createCostModelExit: { @@ -1228,7 +1229,7 @@ export default defineMessages({ 'service_name {Service names} ' + 'status {Status} ' + 'subscription_guid {Account names} ' + - 'source_type {Source type} ' + + 'source_type {Integration} ' + 'tag {Tag names} ' + 'other {}}', description: 'Details table resource names', @@ -1392,6 +1393,13 @@ export default defineMessages({ 'https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index#assembly-setting-up-cost-models', id: 'docsConfigCostModels', }, + docsConfigCostModelsOcp: { + defaultMessage: + 'https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-ocp-cost-model_setting-up-cost-models', + description: + 'https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-ocp-cost-model_setting-up-cost-models', + id: 'docsConfigCostModelsOcp', + }, docsConfigPlatformProjects: { defaultMessage: 'https://access.redhat.com/documentation/en-us/cost_management_service/2023', description: 'https://access.redhat.com/documentation/en-us/cost_management_service/2023', @@ -1878,7 +1886,7 @@ export default defineMessages({ 'resource_location {Filter by region} ' + 'service {Filter by service} ' + 'service_name {Filter by service} ' + - 'source_type {Filter by source type} ' + + 'source_type {Filter by integration} ' + 'status {Filter by status} ' + 'storage_class {Filter by StorageClass} ' + 'subscription_guid {Filter by account} ' + @@ -1929,7 +1937,7 @@ export default defineMessages({ 'resource_location {Region} ' + 'service {Service} ' + 'service_name {Service} ' + - 'source_type {Source type} ' + + 'source_type {Integration} ' + 'status {Status} ' + 'storage_class {StorageClass} ' + 'subscription_guid {Account} ' + @@ -2165,8 +2173,8 @@ export default defineMessages({ id: 'ibmDetailsTitle', }, inactiveSourcesGoTo: { - defaultMessage: 'Go to Sources for more information', - description: 'Go to Sources for more information', + defaultMessage: 'Go to Integrations for more information', + description: 'Go to Integrations for more information', id: 'inactiveSourcesGoTo', }, inactiveSourcesTitle: { @@ -2175,8 +2183,8 @@ export default defineMessages({ id: 'inactiveSourcesTitle', }, inactiveSourcesTitleMultiplier: { - defaultMessage: 'A problem was detected with the following sources', - description: 'A problem was detected with the following sources', + defaultMessage: 'A problem was detected with the following integrations', + description: 'A problem was detected with the following integrations', id: 'inactiveSourcesTitleMultiplier', }, infrastructure: { @@ -2200,13 +2208,13 @@ export default defineMessages({ id: 'limits', }, loadingStateDesc: { - defaultMessage: 'Searching for your sources. Do not refresh the browser', - description: 'Searching for your sources. Do not refresh the browser', + defaultMessage: 'Searching for your integrations. Do not refresh the browser', + description: 'Searching for your integrations. Do not refresh the browser', id: 'loadingStateDesc', }, loadingStateTitle: { - defaultMessage: 'Looking for sources...', - description: 'Looking for sources', + defaultMessage: 'Looking for integrations...', + description: 'Looking for integrations', id: 'loadingStateTitle', }, maintenanceEmptyStateDesc: { @@ -2261,9 +2269,9 @@ export default defineMessages({ }, markupOrDiscountModalDesc: { defaultMessage: - 'Use markup/discount to manipulate how the raw costs are being calculated for your sources. Note, costs calculated from price list rates will not be affected by this.', + 'Use markup/discount to manipulate how the raw costs are being calculated for your integrations. Note, costs calculated from price list rates will not be affected by this.', description: - 'Use markup/discount to manipulate how the raw costs are being calculated for your sources. Note, costs calculated from price list rates will not be affected by this.', + 'Use markup/discount to manipulate how the raw costs are being calculated for your integrations. Note, costs calculated from price list rates will not be affected by this.', id: 'markupOrDiscountModalDesc', }, markupOrDiscountNumber: { @@ -2445,8 +2453,8 @@ export default defineMessages({ id: 'noProvidersStateGcpTitle', }, noProvidersStateGetStarted: { - defaultMessage: 'Get started with Sources', - description: 'Get started with Sources', + defaultMessage: 'Get started with Integrations', + description: 'Get started with Integrations', id: 'noProvidersStateGetStarted', }, noProvidersStateIbmDesc: { @@ -2984,8 +2992,9 @@ export default defineMessages({ }, priceListDeleteRateDesc: { defaultMessage: - '{count, plural, one {This action will remove {metric} rate from {costModel}} other {This action will remove {metric} rate from {costModel}, which is assigned to the following sources:}}', - description: 'This action will remove {metric} rate from {costModel}, which is assigned to the following sources:', + '{count, plural, one {This action will remove {metric} rate from {costModel}} other {This action will remove {metric} rate from {costModel}, which is assigned to the following integrations:}}', + description: + 'This action will remove {metric} rate from {costModel}, which is assigned to the following integrations:', id: 'priceListDeleteRateDesc', }, priceListDuplicate: { @@ -3275,8 +3284,8 @@ export default defineMessages({ id: 'sinceDate', }, sourceType: { - defaultMessage: 'Source type', - description: 'Source type', + defaultMessage: 'Integration', + description: 'Integration', id: 'sourceType', }, sourceTypes: { @@ -3289,12 +3298,12 @@ export default defineMessages({ 'ibm {IBM Cloud} ' + 'ocp {OpenShift} ' + 'other {}}', - description: 'Source types', + description: 'Integrations', id: 'sourceTypes', }, sources: { - defaultMessage: 'Sources', - description: 'Sources', + defaultMessage: 'Integrations', + description: 'Integrations', id: 'sources', }, start: { @@ -3339,9 +3348,9 @@ export default defineMessages({ }, tagDesc: { defaultMessage: - 'Enable your data source labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. {learnMore}', + 'Enable your tags and labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. {learnMore}', description: - 'Enable your data source labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. {learnMore}', + 'Enable your tags and labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. {learnMore}', id: 'tagDesc', }, tagHeadingKey: { diff --git a/src/routes/settings/costModels/costModelWizard/generalInformation.tsx b/src/routes/settings/costModels/costModelWizard/generalInformation.tsx index 14a70cfa9..26a813135 100644 --- a/src/routes/settings/costModels/costModelWizard/generalInformation.tsx +++ b/src/routes/settings/costModels/costModelWizard/generalInformation.tsx @@ -85,7 +85,13 @@ class GeneralInformation extends React.Component { {intl.formatMessage(messages.costModelsWizardGeneralInfoTitle)} - + {intl.formatMessage(messages.learnMore)} diff --git a/src/routes/settings/costModels/costModelsDetails/dialog.test.tsx b/src/routes/settings/costModels/costModelsDetails/dialog.test.tsx index 5bad614b1..6918981f4 100644 --- a/src/routes/settings/costModels/costModelsDetails/dialog.test.tsx +++ b/src/routes/settings/costModels/costModelsDetails/dialog.test.tsx @@ -113,7 +113,7 @@ test('delete dialog error', async () => { renderUI(state); expect(screen.queryAllByText(regExp(messages.costModelsDelete))).toHaveLength(1); expect(screen.queryAllByText(/This action will delete/i)).toHaveLength(0); - expect(screen.queryAllByText(/The following sources are assigned to/i)).toHaveLength(1); + expect(screen.queryAllByText(/The following integrations are assigned to/i)).toHaveLength(1); await user.click(screen.getByText(regExp(messages.cancel))); expect(screen.queryAllByText(regExp(messages.costModelsDelete))).toHaveLength(0); }); diff --git a/src/routes/settings/costModels/costModelsDetails/table.test.tsx b/src/routes/settings/costModels/costModelsDetails/table.test.tsx index e0c6061fb..80812af0c 100644 --- a/src/routes/settings/costModels/costModelsDetails/table.test.tsx +++ b/src/routes/settings/costModels/costModelsDetails/table.test.tsx @@ -41,7 +41,7 @@ function regExp(msg) { test('loading table', () => { renderUI({}); - expect(screen.queryAllByText(/Looking for sources/i)).toHaveLength(1); + expect(screen.queryAllByText(/Looking for integrations/i)).toHaveLength(1); }); // Todo: Replace no_cost_models_title with default message string From acb9a88cd543ae355bfdfcd73d5c0c330b3b0d7e Mon Sep 17 00:00:00 2001 From: Dan Labrecque Date: Thu, 12 Oct 2023 13:38:22 -0400 Subject: [PATCH 03/16] Added localize "sources" file to use with prod-stable --- locales/data.json | 12417 +++++++++++++++++++++++++++++++++ locales/en-sources.json | 12496 ++++++++++++++++++++++++++++++++++ src/components/i18n/intl.ts | 17 +- 3 files changed, 24927 insertions(+), 3 deletions(-) create mode 100644 locales/en-sources.json diff --git a/locales/data.json b/locales/data.json index cdffc5174..12e5bfe6c 100644 --- a/locales/data.json +++ b/locales/data.json @@ -1,4 +1,12421 @@ { + "en-sources": { + "addProjects": [ + { + "type": 0, + "value": "Add projects" + } + ], + "allOtherProjectCosts": [ + { + "type": 0, + "value": "Project (All other costs)" + } + ], + "aws": [ + { + "type": 0, + "value": "Amazon Web Services" + } + ], + "awsComputeTitle": [ + { + "type": 0, + "value": "Compute (EC2) instances usage" + } + ], + "awsCostTrendTitle": [ + { + "type": 0, + "value": "Amazon Web Services cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "awsDailyCostTrendTitle": [ + { + "type": 0, + "value": "Amazon Web Services daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "awsDashboardCostTitle": [ + { + "type": 0, + "value": "Amazon Web Services cost" + } + ], + "awsDesc": [ + { + "type": 0, + "value": "Raw cost from Amazon Web Services infrastructure." + } + ], + "awsDetailsTitle": [ + { + "type": 0, + "value": "Amazon Web Services Details" + } + ], + "awsOcpDashboardCostTitle": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift cost" + } + ], + "azure": [ + { + "type": 0, + "value": "Microsoft Azure" + } + ], + "azureComputeTitle": [ + { + "type": 0, + "value": "Virtual machines usage" + } + ], + "azureCostTrendTitle": [ + { + "type": 0, + "value": "Microsoft Azure cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "azureDailyCostTrendTitle": [ + { + "type": 0, + "value": "Microsoft Azure daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "azureDashboardCostTitle": [ + { + "type": 0, + "value": "Microsoft Azure cost" + } + ], + "azureDesc": [ + { + "type": 0, + "value": "Raw cost from Azure infrastructure." + } + ], + "azureDetailsTitle": [ + { + "type": 0, + "value": "Microsoft Azure Details" + } + ], + "azureOcpDashboardCostTitle": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift cost" + } + ], + "back": [ + { + "type": 0, + "value": "Back" + } + ], + "breakdownBackToDetails": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " account details" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " cost category details" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " cluster details" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " GCP project details" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " node details" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " organizational unit details" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " account details" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " service details" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " project details" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " region details" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " region details" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " service details" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " service details" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " account details" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " tag details" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "breakdownBackToDetailsAriaLabel": [ + { + "type": 0, + "value": "Back to details" + } + ], + "breakdownBackToOptimizations": [ + { + "type": 0, + "value": "Back to optimizations" + } + ], + "breakdownBackToOptimizationsProject": [ + { + "type": 0, + "value": "Back to optimizations for project " + }, + { + "type": 1, + "value": "value" + } + ], + "breakdownBackToTitles": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud - Top 5 Costliest" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "value" + } + ], + "breakdownCostOverviewTitle": [ + { + "type": 0, + "value": "Cost overview" + } + ], + "breakdownHistoricalDataTitle": [ + { + "type": 0, + "value": "Historical data" + } + ], + "breakdownSummaryTitle": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Cost by accounts" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Cost by category" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Cost by clusters" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Cost by GCP projects" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Cost by Node" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Cost by organizational units" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Cost by accounts" + } + ] + }, + "platform": { + "value": [ + { + "type": 0, + "value": "Cost by default projects" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Cost by services" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Cost by projects" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Cost by regions" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Cost by regions" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Cost by services" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Cost by services" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Cost by accounts" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Cost by tags" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "breakdownTitle": [ + { + "type": 1, + "value": "value" + } + ], + "breakdownTotalCostDate": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " total cost (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "calculationType": [ + { + "type": 0, + "value": "Calculation type" + } + ], + "cancel": [ + { + "type": 0, + "value": "Cancel" + } + ], + "change": [ + { + "type": 0, + "value": "Change" + } + ], + "chartCostForecastConeLegendLabel": [ + { + "type": 0, + "value": "Cost confidence (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostForecastConeLegendNoDataLabel": [ + { + "type": 0, + "value": "Cost confidence (no data)" + } + ], + "chartCostForecastConeLegendTooltip": [ + { + "type": 0, + "value": "Cost confidence (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostForecastConeTooltip": [ + { + "type": 1, + "value": "value0" + }, + { + "type": 0, + "value": " - " + }, + { + "type": 1, + "value": "value1" + } + ], + "chartCostForecastLegendLabel": [ + { + "type": 0, + "value": "Cost forecast (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostForecastLegendNoDataLabel": [ + { + "type": 0, + "value": "Cost forecast (no data)" + } + ], + "chartCostForecastLegendTooltip": [ + { + "type": 0, + "value": "Cost forecast (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostLegendLabel": [ + { + "type": 0, + "value": "Cost (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostLegendNoDataLabel": [ + { + "type": 0, + "value": "Cost (no data)" + } + ], + "chartCostLegendTooltip": [ + { + "type": 0, + "value": "Cost (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostSupplementaryLegendLabel": [ + { + "type": 0, + "value": "Supplementary cost (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostSupplementaryLegendNoDataLabel": [ + { + "type": 0, + "value": "Supplementary cost (no data)" + } + ], + "chartCostSupplementaryLegendTooltip": [ + { + "type": 0, + "value": "Supplementary cost (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chartDayOfTheMonth": [ + { + "type": 0, + "value": "Day " + }, + { + "type": 1, + "value": "day" + } + ], + "chartLimitLegendLabel": [ + { + "type": 0, + "value": "Limit (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartLimitLegendNoDataLabel": [ + { + "type": 0, + "value": "Limit (no data)" + } + ], + "chartLimitLegendTooltip": [ + { + "type": 0, + "value": "Limit (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chartNoData": [ + { + "type": 0, + "value": "no data" + } + ], + "chartOthers": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " Other" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " Others" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "chartRequestsLegendLabel": [ + { + "type": 0, + "value": "Requests (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartRequestsLegendNoDataLabel": [ + { + "type": 0, + "value": "Requests (no data)" + } + ], + "chartRequestsLegendTooltip": [ + { + "type": 0, + "value": "Requests (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chartUsageLegendLabel": [ + { + "type": 0, + "value": "Usage (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartUsageLegendNoDataLabel": [ + { + "type": 0, + "value": "Usage (no data)" + } + ], + "chartUsageLegendTooltip": [ + { + "type": 0, + "value": "Usage (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chooseKeyPlaceholder": [ + { + "type": 0, + "value": "Choose key" + } + ], + "chooseValuePlaceholder": [ + { + "type": 0, + "value": "Choose value" + } + ], + "close": [ + { + "type": 0, + "value": "Close" + } + ], + "cluster": [ + { + "type": 0, + "value": "Cluster" + } + ], + "clusters": [ + { + "type": 0, + "value": "Clusters" + } + ], + "copyToClipboard": [ + { + "type": 0, + "value": "Copy to clipboard" + } + ], + "copyToClipboardSuccessfull": [ + { + "type": 0, + "value": "Successfully copied to clipboard!" + } + ], + "cost": [ + { + "type": 0, + "value": "Cost" + } + ], + "costBreakdownAriaDesc": [ + { + "type": 0, + "value": "Breakdown of markup, raw, and usage costs" + } + ], + "costBreakdownAriaLabel": [ + { + "type": 0, + "value": "A description of markup, raw cost and usage cost" + } + ], + "costBreakdownTitle": [ + { + "type": 0, + "value": "Cost breakdown" + } + ], + "costBreakdownTooltip": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": ": " + }, + { + "type": 1, + "value": "value" + } + ], + "costCalculations": [ + { + "type": 0, + "value": "Cost calculations" + } + ], + "costCalculationsOptional": [ + { + "type": 0, + "value": "Cost calculations (optional)" + } + ], + "costCategoryDesc": [ + { + "type": 0, + "value": "Enable your AWS cost categories to be used for report grouping and filtering. Changes will be reflected within 24 hours. " + }, + { + "type": 1, + "value": "learnMore" + } + ], + "costCategoryNames": [ + { + "type": 0, + "value": "Cost category names" + } + ], + "costCategoryTitle": [ + { + "type": 0, + "value": "Cost categories" + } + ], + "costDistribution": [ + { + "type": 0, + "value": "Cost distribution" + } + ], + "costDistributionAriaDesc": [ + { + "type": 0, + "value": "Overhead cost breakdown of platform, worker unallocated, and total costs" + } + ], + "costDistributionAriaLabel": [ + { + "type": 0, + "value": "A description of platform, worker unallocated, and total costs" + } + ], + "costDistributionLabel": [ + { + "type": 0, + "value": "Overhead cost" + } + ], + "costDistributionTitle": [ + { + "type": 0, + "value": "Overhead cost breakdown" + } + ], + "costDistributionType": [ + { + "options": { + "distributed": { + "value": [ + { + "type": 0, + "value": "Distribute through cost models" + } + ] + }, + "other": { + "value": [] + }, + "total": { + "value": [ + { + "type": 0, + "value": "Don't distribute overhead costs" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "costManagement": [ + { + "type": 0, + "value": "Cost Management" + } + ], + "costModels": [ + { + "type": 0, + "value": "Cost Models" + } + ], + "costModelsActions": [ + { + "type": 0, + "value": "Cost model actions" + } + ], + "costModelsAddTagValues": [ + { + "type": 0, + "value": "Add more tag values" + } + ], + "costModelsAssignSources": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Assign source" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Assign sources" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "costModelsAssignSourcesErrorDesc": [ + { + "type": 0, + "value": "You cannot assign a source at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our " + }, + { + "type": 1, + "value": "url" + }, + { + "type": 0, + "value": " for known outages." + } + ], + "costModelsAssignSourcesErrorTitle": [ + { + "type": 0, + "value": "This action is temporarily unavailable" + } + ], + "costModelsAssignSourcesParen": [ + { + "type": 0, + "value": "Assign source(s)" + } + ], + "costModelsAssignedSources": [ + { + "type": 0, + "value": "Assigned sources" + } + ], + "costModelsAvailableSources": [ + { + "type": 0, + "value": "The following sources are assigned to my production cost model:" + } + ], + "costModelsCanDelete": [ + { + "type": 0, + "value": "This action will delete " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " cost model from the system. This action cannot be undone" + } + ], + "costModelsCanNotDelete": [ + { + "type": 0, + "value": "The following sources are assigned to " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " cost model:" + } + ], + "costModelsDelete": [ + { + "type": 0, + "value": "Delete cost model" + } + ], + "costModelsDeleteDesc": [ + { + "type": 0, + "value": "This action will delete " + }, + { + "type": 1, + "value": "costModel" + }, + { + "type": 0, + "value": " cost model from the system. This action cannot be undone." + } + ], + "costModelsDeleteSource": [ + { + "type": 0, + "value": "You must unassign any sources before you can delete this cost model." + } + ], + "costModelsDesc": [ + { + "type": 0, + "value": "Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your sources to calculate your charges for resource usage. " + }, + { + "type": 1, + "value": "learnMore" + } + ], + "costModelsDescTooLong": [ + { + "type": 0, + "value": "Should not exceed 500 characters" + } + ], + "costModelsDetailsTitle": [ + { + "type": 0, + "value": "Cost Model Details" + } + ], + "costModelsDistributionDesc": [ + { + "type": 0, + "value": "The following is the type of metric that is set to be used when distributing costs to the project level breakdowns." + } + ], + "costModelsDistributionEdit": [ + { + "type": 0, + "value": "Edit distribution" + } + ], + "costModelsEmptyState": [ + { + "type": 0, + "value": "What is your hybrid cloud costing you?" + } + ], + "costModelsEmptyStateDesc": [ + { + "type": 0, + "value": "Create a cost model to start calculating your hybrid cloud costs using custom price lists, markups, or both. Click on the button below to begin the journey." + } + ], + "costModelsEmptyStateLearnMore": [ + { + "type": 0, + "value": "Read about setting up a cost model" + } + ], + "costModelsEnterTagDesc": [ + { + "type": 0, + "value": "Enter a tag description" + } + ], + "costModelsEnterTagKey": [ + { + "type": 0, + "value": "Enter a tag key" + } + ], + "costModelsEnterTagRate": [ + { + "type": 0, + "value": "Enter rate by tag" + } + ], + "costModelsEnterTagValue": [ + { + "type": 0, + "value": "Enter a tag value" + } + ], + "costModelsExamplesDoubleMarkup": [ + { + "type": 0, + "value": "A markup rate of (+) 100% doubles the base costs of your source(s)." + } + ], + "costModelsExamplesNoAdjust": [ + { + "type": 0, + "value": "A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your source(s)." + } + ], + "costModelsExamplesReduceSeventyfive": [ + { + "type": 0, + "value": "A discount rate of (-) 25% reduces the base costs of your source(s) to 75% of the original value." + } + ], + "costModelsExamplesReduceZero": [ + { + "type": 0, + "value": "A discount rate of (-) 100% reduces the base costs of your source(s) to 0." + } + ], + "costModelsFilterPlaceholder": [ + { + "type": 0, + "value": "Filter by name..." + } + ], + "costModelsFilterTagKey": [ + { + "type": 0, + "value": "Filter by tag key" + } + ], + "costModelsInfoTooLong": [ + { + "type": 0, + "value": "Should not exceed 100 characters" + } + ], + "costModelsLastUpdated": [ + { + "type": 0, + "value": "Last updated" + } + ], + "costModelsRateTooLong": [ + { + "type": 0, + "value": "Should not exceed 10 decimals" + } + ], + "costModelsRefreshDialog": [ + { + "type": 0, + "value": "Refresh this dialog" + } + ], + "costModelsRemoveTagLabel": [ + { + "type": 0, + "value": "Remove tag value" + } + ], + "costModelsRequiredField": [ + { + "type": 0, + "value": "This field is required" + } + ], + "costModelsRouterErrorTitle": [ + { + "type": 0, + "value": "Fail routing to cost model" + } + ], + "costModelsRouterServerError": [ + { + "type": 0, + "value": "Server error: could not get the cost model." + } + ], + "costModelsSelectMeasurement": [ + { + "type": 0, + "value": "Select Measurement" + } + ], + "costModelsSelectMetric": [ + { + "type": 0, + "value": "Select Metric" + } + ], + "costModelsSourceDelete": [ + { + "type": 0, + "value": "Unassign" + } + ], + "costModelsSourceDeleteSource": [ + { + "type": 0, + "value": "Unassign source" + } + ], + "costModelsSourceDeleteSourceDesc": [ + { + "type": 0, + "value": "This will remove the assignment of " + }, + { + "type": 1, + "value": "source" + }, + { + "type": 0, + "value": " from the " + }, + { + "type": 1, + "value": "costModel" + }, + { + "type": 0, + "value": " cost model. You can then assign the cost model to a new source." + } + ], + "costModelsSourceEmptyStateDesc": [ + { + "type": 0, + "value": "Select the source(s) you want to apply this cost model to." + } + ], + "costModelsSourceEmptyStateTitle": [ + { + "type": 0, + "value": "No sources are assigned" + } + ], + "costModelsSourceTableAriaLabel": [ + { + "type": 0, + "value": "Sources table" + } + ], + "costModelsTableAriaLabel": [ + { + "type": 0, + "value": "Cost models table" + } + ], + "costModelsTagRateTableKey": [ + { + "type": 0, + "value": "Tag key" + } + ], + "costModelsTagRateTableValue": [ + { + "type": 0, + "value": "Tag value" + } + ], + "costModelsUUIDEmptyState": [ + { + "type": 0, + "value": "Cost model can not be found" + } + ], + "costModelsUUIDEmptyStateDesc": [ + { + "type": 0, + "value": "Cost model with uuid: " + }, + { + "type": 1, + "value": "uuid" + }, + { + "type": 0, + "value": " does not exist." + } + ], + "costModelsWizardCreateCostModel": [ + { + "type": 0, + "value": "Create cost model" + } + ], + "costModelsWizardCreatePriceList": [ + { + "type": 0, + "value": "Create a price list" + } + ], + "costModelsWizardCurrencyToggleLabel": [ + { + "type": 0, + "value": "Select currency" + } + ], + "costModelsWizardEmptySourceTypeLabel": [ + { + "type": 0, + "value": "Select source type" + } + ], + "costModelsWizardEmptyStateOtherTime": [ + { + "type": 0, + "value": "You can create a price list or modify one at a later time." + } + ], + "costModelsWizardEmptyStateSkipStep": [ + { + "type": 0, + "value": "To skip this step, click the " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " button." + } + ], + "costModelsWizardEmptyStateTitle": [ + { + "type": 0, + "value": "A price list has not been created." + } + ], + "costModelsWizardGeneralInfoTitle": [ + { + "type": 0, + "value": "Enter general information" + } + ], + "costModelsWizardNoRatesAdded": [ + { + "type": 0, + "value": "No rates were added to the price list" + } + ], + "costModelsWizardOnboardAws": [ + { + "type": 0, + "value": "Amazon Web Services (AWS)" + } + ], + "costModelsWizardOnboardOcp": [ + { + "type": 0, + "value": "Red Hat OpenShift Container Platform" + } + ], + "costModelsWizardPriceListMetric": [ + { + "type": 0, + "value": "Select the metric you want to assign a price to, and specify a measurement unit and rate. You can optionally set multiple rates for particular tags." + } + ], + "costModelsWizardRateAriaLabel": [ + { + "type": 0, + "value": "Assign rate" + } + ], + "costModelsWizardReviewMarkDiscount": [ + { + "type": 0, + "value": "Markup/Discount" + } + ], + "costModelsWizardReviewStatusSubDetails": [ + { + "type": 0, + "value": "Review and confirm your cost model configuration and assignments. Click " + }, + { + "type": 1, + "value": "create" + }, + { + "type": 0, + "value": " to create the cost model, or " + }, + { + "type": 1, + "value": "back" + }, + { + "type": 0, + "value": " to revise." + } + ], + "costModelsWizardReviewStatusSubTitle": [ + { + "type": 0, + "value": "Costs for resources connected to the assigned sources will now be calculated using the newly created " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " cost model." + } + ], + "costModelsWizardReviewStatusTitle": [ + { + "type": 0, + "value": "Creation successful" + } + ], + "costModelsWizardSourceCaption": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Select from the following Amazon Web Services sources:" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Select from the following Microsoft Azure sources:" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Select from the following Google Cloud Platform sources:" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Select from the following Oracle Cloud Infrastructure sources:" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "Select from the following Red Hat OpenShift sources:" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "value" + } + ], + "costModelsWizardSourceErrorDesc": [ + { + "type": 0, + "value": "Try refreshing this step or you can skip this step (as it is optional) and assign the source to the cost model at a later time. If the problem persists, contact your organization administrator or visit our " + }, + { + "type": 1, + "value": "url" + }, + { + "type": 0, + "value": " for known outages." + } + ], + "costModelsWizardSourceErrorTitle": [ + { + "type": 0, + "value": "This step is temporarily unavailable" + } + ], + "costModelsWizardSourceSubtitle": [ + { + "type": 0, + "value": "Select one or more sources to this cost model. You can skip this step and assign the cost model to a source at a later time. A source will be unavailable for selection if a cost model is already assigned to it." + } + ], + "costModelsWizardSourceTableAriaLabel": [ + { + "type": 0, + "value": "Assign sources to cost model table" + } + ], + "costModelsWizardSourceTableCostModel": [ + { + "type": 0, + "value": "Cost model assigned" + } + ], + "costModelsWizardSourceTableDefaultCostModel": [ + { + "type": 0, + "value": "Default cost model" + } + ], + "costModelsWizardSourceTitle": [ + { + "type": 0, + "value": "Assign sources to the cost model (optional)" + } + ], + "costModelsWizardSourceWarning": [ + { + "type": 0, + "value": "This source is assigned to " + }, + { + "type": 1, + "value": "costModel" + }, + { + "type": 0, + "value": " cost model. You will have to unassigned it first" + } + ], + "costModelsWizardStepsGenInfo": [ + { + "type": 0, + "value": "Enter information" + } + ], + "costModelsWizardStepsReview": [ + { + "type": 0, + "value": "Review details" + } + ], + "costModelsWizardStepsSources": [ + { + "type": 0, + "value": "Assign a source to the cost model" + } + ], + "costModelsWizardSubTitleTable": [ + { + "type": 0, + "value": "The following is a list of rates you have set so far for this price list." + } + ], + "costModelsWizardWarningSources": [ + { + "type": 0, + "value": "Cannot assign cost model to a source that is already assigned to another one" + } + ], + "costTypeAmortized": [ + { + "type": 0, + "value": "Amortized" + } + ], + "costTypeAmortizedDesc": [ + { + "type": 0, + "value": "Recurring and/or upfront costs are distributed evenly across the month" + } + ], + "costTypeBlended": [ + { + "type": 0, + "value": "Blended" + } + ], + "costTypeBlendedDesc": [ + { + "type": 0, + "value": "Using a blended rate to calcuate cost usage" + } + ], + "costTypeLabel": [ + { + "type": 0, + "value": "Show cost as" + } + ], + "costTypeSettingsDesc": [ + { + "type": 0, + "value": "Select the preferred way of calculating upfront costs of savings plans or subscription fees. This feature is available for Amazon Web Services cost only." + } + ], + "costTypeSettingsLabel": [ + { + "type": 0, + "value": "Show cost as (Amazon Web Services only)" + } + ], + "costTypeUnblended": [ + { + "type": 0, + "value": "Unblended" + } + ], + "costTypeUnblendedDesc": [ + { + "type": 0, + "value": "Usage cost on the day you are charged" + } + ], + "cpuTitle": [ + { + "type": 0, + "value": "CPU" + } + ], + "create": [ + { + "type": 0, + "value": "Create" + } + ], + "createCostModelConfirmMsg": [ + { + "type": 0, + "value": "Are you sure you want to stop creating a cost model? All settings will be discarded." + } + ], + "createCostModelDesc": [ + { + "type": 0, + "value": "A cost model allows you to associate a price to metrics provided by your sources to charge for utilization of resources." + } + ], + "createCostModelExit": [ + { + "type": 0, + "value": "Exit cost model creation" + } + ], + "createCostModelExitYes": [ + { + "type": 0, + "value": "Yes, I want to exit" + } + ], + "createCostModelNoContinue": [ + { + "type": 0, + "value": "No, I want to continue" + } + ], + "createCostModelTitle": [ + { + "type": 0, + "value": "Create a cost model" + } + ], + "createRate": [ + { + "type": 0, + "value": "Create rate" + } + ], + "currency": [ + { + "type": 0, + "value": "Currency" + } + ], + "currencyAbbreviations": [ + { + "options": { + "billion": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " B" + } + ] + }, + "million": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " M" + } + ] + }, + "other": { + "value": [] + }, + "quadrillion": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " q" + } + ] + }, + "thousand": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " K" + } + ] + }, + "trillion": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " t" + } + ] + } + }, + "type": 5, + "value": "symbol" + } + ], + "currencyCalcuationsTitle": [ + { + "type": 0, + "value": "Currency and calculations" + } + ], + "currencyDesc": [ + { + "type": 0, + "value": "Select the preferred currency view for your organization" + } + ], + "currencyOptions": [ + { + "options": { + "AUD": { + "value": [ + { + "type": 0, + "value": "AUD (A$) - Australian Dollar" + } + ] + }, + "CAD": { + "value": [ + { + "type": 0, + "value": "CAD (CA$) - Canadian Dollar" + } + ] + }, + "CHF": { + "value": [ + { + "type": 0, + "value": "CHF (CHF) - Swiss Franc" + } + ] + }, + "CNY": { + "value": [ + { + "type": 0, + "value": "CNY (CN¥) - Chinese Yuan" + } + ] + }, + "DKK": { + "value": [ + { + "type": 0, + "value": "DKK (DKK) - Danish Krone" + } + ] + }, + "EUR": { + "value": [ + { + "type": 0, + "value": "EUR (€) - Euro" + } + ] + }, + "GBP": { + "value": [ + { + "type": 0, + "value": "GBP (£) - British Pound" + } + ] + }, + "HKD": { + "value": [ + { + "type": 0, + "value": "HKD (HK$) - Hong Kong Dollar" + } + ] + }, + "JPY": { + "value": [ + { + "type": 0, + "value": "JPY (¥) - Japanese Yen" + } + ] + }, + "NOK": { + "value": [ + { + "type": 0, + "value": "NOK (NOK) - Norwegian Krone" + } + ] + }, + "NZD": { + "value": [ + { + "type": 0, + "value": "NZD (NZ$) - New Zealand Dollar" + } + ] + }, + "SEK": { + "value": [ + { + "type": 0, + "value": "SEK (SEK) - Swedish Krona" + } + ] + }, + "SGD": { + "value": [ + { + "type": 0, + "value": "SGD (SGD) - Singapore Dollar" + } + ] + }, + "USD": { + "value": [ + { + "type": 0, + "value": "USD ($) - United States Dollar" + } + ] + }, + "ZAR": { + "value": [ + { + "type": 0, + "value": "ZAR (ZAR) - South African Rand" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "units" + } + ], + "currencyUnits": [ + { + "options": { + "AUD": { + "value": [ + { + "type": 0, + "value": "A$" + } + ] + }, + "CAD": { + "value": [ + { + "type": 0, + "value": "CA$" + } + ] + }, + "CHF": { + "value": [ + { + "type": 0, + "value": "CHF" + } + ] + }, + "CNY": { + "value": [ + { + "type": 0, + "value": "CN¥" + } + ] + }, + "DKK": { + "value": [ + { + "type": 0, + "value": "DKK" + } + ] + }, + "EUR": { + "value": [ + { + "type": 0, + "value": "€" + } + ] + }, + "GBP": { + "value": [ + { + "type": 0, + "value": "£" + } + ] + }, + "HKD": { + "value": [ + { + "type": 0, + "value": "HK$" + } + ] + }, + "JPY": { + "value": [ + { + "type": 0, + "value": "¥" + } + ] + }, + "NOK": { + "value": [ + { + "type": 0, + "value": "NOK" + } + ] + }, + "NZD": { + "value": [ + { + "type": 0, + "value": "NZ$" + } + ] + }, + "SEK": { + "value": [ + { + "type": 0, + "value": "SEK" + } + ] + }, + "SGD": { + "value": [ + { + "type": 0, + "value": "SGD" + } + ] + }, + "USD": { + "value": [ + { + "type": 0, + "value": "$" + } + ] + }, + "ZAR": { + "value": [ + { + "type": 0, + "value": "ZAR" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "units" + } + ], + "current": [ + { + "type": 0, + "value": "Current" + } + ], + "currentConfiguration": [ + { + "type": 0, + "value": "Current configuration" + } + ], + "dashboardCumulativeCostComparison": [ + { + "type": 0, + "value": "Cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "dashboardDailyUsageComparison": [ + { + "type": 0, + "value": "Daily usage comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "dashboardDatabaseTitle": [ + { + "type": 0, + "value": "Database services cost" + } + ], + "dashboardNetworkTitle": [ + { + "type": 0, + "value": "Network services cost" + } + ], + "dashboardStorageTitle": [ + { + "type": 0, + "value": "Storage services usage" + } + ], + "dashboardTotalCostTooltip": [ + { + "type": 0, + "value": "This total cost is the sum of the infrastructure cost " + }, + { + "type": 1, + "value": "infrastructureCost" + }, + { + "type": 0, + "value": " and supplementary cost " + }, + { + "type": 1, + "value": "supplementaryCost" + } + ], + "dataTableAriaLabel": [ + { + "type": 0, + "value": "Details table" + } + ], + "datePickerAfterError": [ + { + "type": 0, + "value": "Date is after the allowable range" + } + ], + "datePickerBeforeError": [ + { + "type": 0, + "value": "Date is before the allowable range" + } + ], + "datePickerEndDateAriaLabel": [ + { + "type": 0, + "value": "End date" + } + ], + "datePickerStartDateAriaLabel": [ + { + "type": 0, + "value": "Start date" + } + ], + "default": [ + { + "type": 0, + "value": "Default" + } + ], + "delete": [ + { + "type": 0, + "value": "Delete" + } + ], + "description": [ + { + "type": 0, + "value": "Description" + } + ], + "detailsActionsExport": [ + { + "type": 0, + "value": "Export data" + } + ], + "detailsActionsPriceList": [ + { + "type": 0, + "value": "View all price lists" + } + ], + "detailsClustersModalTitle": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "account " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "cost category " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "cluster " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "GCP project " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "node " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "organizational unit " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "account " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "service " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "project " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "region " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "region " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "service " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "service " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "account " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "tags " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "detailsColumnManagementTitle": [ + { + "type": 0, + "value": "Manage columns" + } + ], + "detailsCostValue": [ + { + "type": 0, + "value": "Cost: " + }, + { + "type": 1, + "value": "value" + } + ], + "detailsEmptyState": [ + { + "type": 0, + "value": "Processing data to generate a list of all services that sums to a total cost..." + } + ], + "detailsMore": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " more..." + } + ], + "detailsMoreClusters": [ + { + "type": 0, + "value": ", " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " more..." + } + ], + "detailsResourceNames": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Account names" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Cost category names" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Cluster names" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "GCP project names" + } + ] + }, + "group": { + "value": [ + { + "type": 0, + "value": "Group" + } + ] + }, + "name": { + "value": [ + { + "type": 0, + "value": "Name" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Node names" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Organizational unit names" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Account names" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Service names" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Project names" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Region names" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Region names" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Service names" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Service names" + } + ] + }, + "source_type": { + "value": [ + { + "type": 0, + "value": "Source type" + } + ] + }, + "status": { + "value": [ + { + "type": 0, + "value": "Status" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Account names" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Tag names" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "detailsSummaryModalTitle": [ + { + "options": { + "account": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " accounts" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " cost categories" + } + ] + }, + "cluster": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " GCP projects" + } + ] + }, + "node": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " nodes" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " organizational units" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " accounts" + } + ] + }, + "product_service": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " services" + } + ] + }, + "project": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " projects" + } + ] + }, + "region": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " regions" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " regions" + } + ] + }, + "service": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " services" + } + ] + }, + "service_name": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " services" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " accounts" + } + ] + }, + "tag": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " tags" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "detailsUnusedCapacityLabel": [ + { + "type": 0, + "value": "Unused capacity" + } + ], + "detailsUnusedRequestsLabel": [ + { + "type": 0, + "value": "Unrequested capacity" + } + ], + "detailsUnusedUnits": [ + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": " (" + }, + { + "type": 1, + "value": "percentage" + }, + { + "type": 0, + "value": "% of capacity)" + } + ], + "detailsUsageCapacity": [ + { + "type": 0, + "value": "Capacity - " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + } + ], + "detailsUsageLimit": [ + { + "type": 0, + "value": "Limit - " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + } + ], + "detailsUsageRequests": [ + { + "type": 0, + "value": "Requests - " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + } + ], + "detailsUsageUsage": [ + { + "type": 0, + "value": "Usage - " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + } + ], + "detailsViewAll": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "View all accounts" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "View all cost categories" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "View all clusters" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "View all GCP projects" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "View all nodes" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "View all organizational units" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "View all accounts" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "View all services" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "View all projects" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "View all regions" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "View all regions" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "View all Services" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "View all services" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "View all accounts" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "View all tags" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "disableCategories": [ + { + "type": 0, + "value": "Disable categories" + } + ], + "disableTags": [ + { + "type": 0, + "value": "Disable tags" + } + ], + "disabled": [ + { + "type": 0, + "value": "Disabled" + } + ], + "discountMinus": [ + { + "type": 0, + "value": "Discount (-)" + } + ], + "distribute": [ + { + "type": 0, + "value": "Distribute" + } + ], + "distributeCosts": [ + { + "options": { + "false": { + "value": [ + { + "type": 0, + "value": "Do not distribute " + }, + { + "options": { + "other": { + "value": [] + }, + "platform": { + "value": [ + { + "type": 0, + "value": "platform" + } + ] + }, + "worker": { + "value": [ + { + "type": 0, + "value": "worker" + } + ] + } + }, + "type": 5, + "value": "type" + }, + { + "type": 0, + "value": " unallocated capacity" + } + ] + }, + "other": { + "value": [] + }, + "true": { + "value": [ + { + "type": 0, + "value": "Distribute " + }, + { + "options": { + "other": { + "value": [] + }, + "platform": { + "value": [ + { + "type": 0, + "value": "platform" + } + ] + }, + "worker": { + "value": [ + { + "type": 0, + "value": "worker" + } + ] + } + }, + "type": 5, + "value": "type" + }, + { + "type": 0, + "value": " unallocated capacity" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "distributionModelDesc": [ + { + "type": 0, + "value": "This choice is for users to direct how their raw costs are distributed either by CPU or Memory on the project level breakdowns." + } + ], + "distributionType": [ + { + "type": 0, + "value": "Distribution type" + } + ], + "distributionTypeDesc": [ + { + "options": { + "cpu": { + "value": [ + { + "type": 0, + "value": "Distribute costs based on CPU usage" + } + ] + }, + "memory": { + "value": [ + { + "type": 0, + "value": "Distribute costs based on memory usage" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "type" + } + ], + "doNotDistribute": [ + { + "type": 0, + "value": "Do not distribute" + } + ], + "docsAddOcpSources": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/adding_an_openshift_container_platform_source_to_cost_management" + } + ], + "docsConfigCostCategory": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023" + } + ], + "docsConfigCostModels": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index#assembly-setting-up-cost-models" + } + ], + "docsConfigCostModelsOcp": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-ocp-cost-model_setting-up-cost-models" + } + ], + "docsConfigPlatformProjects": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023" + } + ], + "docsConfigTags": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/managing_cost_data_using_tagging/assembly-configuring-tags-and-labels-in-cost-management" + } + ], + "docsCostModelTerminology": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index#cost-model-terminology" + } + ], + "docsCostModelsDistribution": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-AWS-Azure-cost-model_setting-up-cost-models" + } + ], + "docsCostModelsMarkup": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-AWS-Azure-cost-model_setting-up-cost-models" + } + ], + "docsUsingCostModels": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index" + } + ], + "download": [ + { + "type": 0, + "value": "Download" + } + ], + "edit": [ + { + "type": 0, + "value": "Edit" + } + ], + "editCostModel": [ + { + "type": 0, + "value": "Edit cost model" + } + ], + "editMarkup": [ + { + "type": 0, + "value": "Edit markup" + } + ], + "editMarkupOrDiscount": [ + { + "type": 0, + "value": "Edit markup or discount" + } + ], + "emptyFilterSourceStateSubtitle": [ + { + "type": 0, + "value": "Sorry, no source with the given filter was found." + } + ], + "emptyFilterStateSubtitle": [ + { + "type": 0, + "value": "Sorry, no data with the given filter was found." + } + ], + "emptyFilterStateTitle": [ + { + "type": 0, + "value": "No match found" + } + ], + "enableCategories": [ + { + "type": 0, + "value": "Enable categories" + } + ], + "enableTags": [ + { + "type": 0, + "value": "Enable tags" + } + ], + "enabled": [ + { + "type": 0, + "value": "Enabled" + } + ], + "end": [ + { + "type": 0, + "value": "End" + } + ], + "equalsSymbol": [ + { + "type": 0, + "value": "=" + } + ], + "errorStateNotAuthorizedDesc": [ + { + "type": 0, + "value": "Contact the cost management administrator to provide access to this application" + } + ], + "errorStateNotAuthorizedTitle": [ + { + "type": 0, + "value": "You don't have access to the Cost management application" + } + ], + "errorStateUnexpectedDesc": [ + { + "type": 0, + "value": "We encountered an unexpected error. Contact your administrator." + } + ], + "errorStateUnexpectedTitle": [ + { + "type": 0, + "value": "Oops!" + } + ], + "examplesTitle": [ + { + "type": 0, + "value": "Examples" + } + ], + "excludeLabel": [ + { + "type": 0, + "value": "Excludes: " + }, + { + "type": 1, + "value": "value" + } + ], + "excludeValues": [ + { + "options": { + "excludes": { + "value": [ + { + "type": 0, + "value": "excludes" + } + ] + }, + "includes": { + "value": [ + { + "type": 0, + "value": "includes" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "value" + } + ], + "expiresOn": [ + { + "type": 0, + "value": "Expires on" + } + ], + "explorerChartAriaTitle": [ + { + "type": 0, + "value": "Cost Explorer Chart" + } + ], + "explorerChartTitle": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services - Top 5 Costliest" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift - Top 5 Costliest" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure - Top 5 Costliest" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift - Top 5 Costliest" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform - Top 5 Costliest" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift - Top 5 Costliest" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud - Top 5 Costliest" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift - Top 5 Costliest" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure - Top 5 Costliest" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "All OpenShift - Top 5 Costliest" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift - Top 5 Costliest" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "value" + } + ], + "explorerDateRange": [ + { + "options": { + "current_month_to_date": { + "value": [ + { + "type": 0, + "value": "Month to date" + } + ] + }, + "custom": { + "value": [ + { + "type": 0, + "value": "Custom" + } + ] + }, + "last_ninety_days": { + "value": [ + { + "type": 0, + "value": "Last 90 days" + } + ] + }, + "last_sixty_days": { + "value": [ + { + "type": 0, + "value": "Last 60 days" + } + ] + }, + "last_thirty_days": { + "value": [ + { + "type": 0, + "value": "Last 30 days" + } + ] + }, + "other": { + "value": [] + }, + "previous_month": { + "value": [ + { + "type": 0, + "value": "Previous month" + } + ] + }, + "previous_month_to_date": { + "value": [ + { + "type": 0, + "value": "Previous month and month to date" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "explorerTableAriaLabel": [ + { + "type": 0, + "value": "Cost Explorer table" + } + ], + "explorerTitle": [ + { + "type": 0, + "value": "Cost Explorer" + } + ], + "exportAggregateType": [ + { + "type": 0, + "value": "Aggregate type" + } + ], + "exportAll": [ + { + "type": 0, + "value": "Export all" + } + ], + "exportDesc": [ + { + "type": 0, + "value": "The active selections from the table plus the values here will be used to generate an export file. When the file is available, download it from the " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " view." + } + ], + "exportError": [ + { + "type": 0, + "value": "Something went wrong, please try fewer selections" + } + ], + "exportFileName": [ + { + "options": { + "account": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_accounts_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_accounts_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "aws_category": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_cost_category_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_cost_category_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "cluster": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_clusters_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_clusters_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "gcp_project": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_gcp-projects_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_gcp-projects_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "node": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_node_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_node_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "org_unit_id": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_orgs_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_orgs_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_accounts_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_accounts_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "product_service": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_services_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_services_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "project": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_projects_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_projects_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "region": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_regions_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_regions_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "resource_location": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_regions_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_regions_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "service": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_services_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_services_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "service_name": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_services_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_services_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "subscription_guid": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_accounts_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_accounts_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "tag": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_tags_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_tags_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "resolution" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "exportFormatType": [ + { + "options": { + "csv": { + "value": [ + { + "type": 0, + "value": "CSV" + } + ] + }, + "json": { + "value": [ + { + "type": 0, + "value": "JSON" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "value" + } + ], + "exportFormatTypeTitle": [ + { + "type": 0, + "value": "Format type" + } + ], + "exportGenerate": [ + { + "type": 0, + "value": "Generate export" + } + ], + "exportHeading": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following accounts will be exported to a .csv file." + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following cost categories will be exported to a .csv file." + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following clusters will be exported to a .csv file." + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following GCP projects will be exported to a .csv file." + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following nodes will be exported to a .csv file." + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following organizational units will be exported to a .csv file." + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following accounts will be exported to a .csv file." + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following services will be exported to a .csv file." + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following projects will be exported to a .csv file." + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following regions will be exported to a .csv file." + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Aggregates of the regions will be exported to a .csv file." + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following services will be exported to a .csv file." + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following services will be exported to a .csv file." + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following accounts will be exported to a .csv file." + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following tags will be exported to a .csv file." + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "exportName": [ + { + "options": { + "account": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Account" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Account" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Account" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Account" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Account" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Account" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Account" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Account" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Account" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Account" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Account" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "aws_category": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Cost category" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Cost category" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Cost category" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Cost category" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Cost category" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Cost category" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Cost category" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Cost category" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Cost category" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Cost category" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Cost category" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "cluster": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Cluster" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Cluster" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Cluster" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Cluster" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Cluster" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Cluster" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Cluster" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Cluster" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Cluster" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Cluster" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Cluster" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "gcp_project": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by GCP Project" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by GCP Project" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by GCP Project" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by GCP Project" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by GCP Project" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by GCP Project" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by GCP Project" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by GCP Project" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by GCP Project" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by GCP Project" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by GCP Project" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "node": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Node" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Node" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Node" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Node" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Node" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Node" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Node" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Node" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Node" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Node" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Node" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "org_unit_id": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Organizational unit" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Organizational unit" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Organizational unit" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Organizational unit" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Organizational unit" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Organizational unit" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Organizational unit" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Organizational unit" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Organizational unit" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Organizational unit" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Organizational unit" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "options": { + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Account" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "product_service": { + "value": [ + { + "options": { + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Service" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "project": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Project" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Project" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Project" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Project" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Project" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Project" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Project" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Project" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Project" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Project" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Project" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "region": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Region" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Region" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Region" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Region" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Region" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Region" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Region" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Region" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Region" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Region" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Region" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "resource_location": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Region" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Region" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Region" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Region" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Region" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Region" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Region" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Region" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Region" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Region" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Region" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "service": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Service" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Service" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Service" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Service" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Service" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Service" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Service" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Service" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Service" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Service" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Service" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "service_name": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Service" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Service" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Service" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Service" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Service" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Service" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Service" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Service" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Service" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Service" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Service" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "subscription_guid": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Account" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Account" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Account" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Account" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Account" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Account" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Account" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Account" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Account" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Account" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Account" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "tag": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Tag" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Tag" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Tag" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Tag" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Tag" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Tag" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Tag" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Tag" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Tag" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Tag" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Tag" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "provider" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "exportNameRequired": [ + { + "type": 0, + "value": "Please enter a name for the export" + } + ], + "exportNameTooLong": [ + { + "type": 0, + "value": "Should not exceed 50 characters" + } + ], + "exportResolution": [ + { + "options": { + "daily": { + "value": [ + { + "type": 0, + "value": "Daily" + } + ] + }, + "monthly": { + "value": [ + { + "type": 0, + "value": "Monthly" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "value" + } + ], + "exportSelected": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Selected accounts (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Selected cost categories (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Selected clusters (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Selected GCP projects (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Selected nodes (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Selected organizational units (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Selected accounts (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Selected services (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Selected projects (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Selected regions (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Selected regions (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Selected services (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Selected services (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Selected accounts (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Selected tags (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "exportTimeScope": [ + { + "options": { + "current": { + "value": [ + { + "type": 0, + "value": "Current (" + }, + { + "type": 1, + "value": "date" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "other": { + "value": [] + }, + "previous": { + "value": [ + { + "type": 0, + "value": "Previous (" + }, + { + "type": 1, + "value": "date" + }, + { + "type": 0, + "value": ")" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "exportTimeScopeTitle": [ + { + "type": 0, + "value": "Month" + } + ], + "exportTitle": [ + { + "type": 0, + "value": "Export" + } + ], + "exportsDesc": [ + { + "type": 0, + "value": "Exports are available for download from the time that they are generated up to 7 days later. After 7 days, the export file will be removed." + } + ], + "exportsEmptyState": [ + { + "type": 0, + "value": "To get started, close this view and select rows in the table you want to export and click the export button to start the journey." + } + ], + "exportsFailed": [ + { + "type": 0, + "value": "Could not create export file" + } + ], + "exportsFailedDesc": [ + { + "type": 0, + "value": "Something went wrong with the generation of this export file. Try exporting again." + } + ], + "exportsSuccess": [ + { + "type": 0, + "value": "Export preparing for download" + } + ], + "exportsSuccessDesc": [ + { + "type": 0, + "value": "The export is preparing for download. It will be accessible from " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " view. " + }, + { + "type": 1, + "value": "link" + } + ], + "exportsTableAriaLabel": [ + { + "type": 0, + "value": "Available exports table" + } + ], + "exportsTitle": [ + { + "type": 0, + "value": "All exports" + } + ], + "exportsUnavailable": [ + { + "type": 0, + "value": "Export cannot be generated" + } + ], + "filterByButtonAriaLabel": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Filter button for account name" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Filter button for cost category name" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Filter button for cluster name" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Filter button for GCP project name" + } + ] + }, + "name": { + "value": [ + { + "type": 0, + "value": "Filter button for name name" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Filter button for node name" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Filter button for organizational unit name" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Filter button for account name" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Filter button for service name" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Filter button for project name" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Filter button for region name" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Filter button for region name" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Filter button for service name" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Filter button for service_name name" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Filter button for account name" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Filter button for tag name" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "filterByCostCategoryKeyAriaLabel": [ + { + "type": 0, + "value": "Cost category keys" + } + ], + "filterByCostCategoryValueAriaLabel": [ + { + "type": 0, + "value": "Cost category values" + } + ], + "filterByCostCategoryValueButtonAriaLabel": [ + { + "type": 0, + "value": "Filter button for cost category value" + } + ], + "filterByInputAriaLabel": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Input for account name" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Input for cost category name" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Input for cluster name" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Input for GCP project name" + } + ] + }, + "name": { + "value": [ + { + "type": 0, + "value": "Input for name" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Input for node name" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Input for organizational unit name" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Input for account name" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Input for service_name" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Input for project name" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Input for region name" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Input for region name" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Input for service name" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Input for service_name" + } + ] + }, + "status": { + "value": [ + { + "type": 0, + "value": "Input for status value" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Input for account name" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Input for tag name" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "filterByOrgUnitAriaLabel": [ + { + "type": 0, + "value": "Organizational units" + } + ], + "filterByOrgUnitPlaceholder": [ + { + "type": 0, + "value": "Choose unit" + } + ], + "filterByPlaceholder": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Filter by account" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Filter by cost category" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Filter by cluster" + } + ] + }, + "container": { + "value": [ + { + "type": 0, + "value": "Filter by container" + } + ] + }, + "description": { + "value": [ + { + "type": 0, + "value": "Filter by description" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Filter by GCP project" + } + ] + }, + "group": { + "value": [ + { + "type": 0, + "value": "Filter by group" + } + ] + }, + "name": { + "value": [ + { + "type": 0, + "value": "Filter by name" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Filter by node" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Filter by organizational unit" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Filter by account" + } + ] + }, + "persistent_volume_claim": { + "value": [ + { + "type": 0, + "value": "Filter by persistent volume claim" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Filter by service" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Filter by project" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Filter by region" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Filter by region" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Filter by service" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Filter by service" + } + ] + }, + "source_type": { + "value": [ + { + "type": 0, + "value": "Filter by source type" + } + ] + }, + "status": { + "value": [ + { + "type": 0, + "value": "Filter by status" + } + ] + }, + "storage_class": { + "value": [ + { + "type": 0, + "value": "Filter by StorageClass" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Filter by account" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Filter by tag" + } + ] + }, + "workload": { + "value": [ + { + "type": 0, + "value": "Filter by workload name" + } + ] + }, + "workload_type": { + "value": [ + { + "type": 0, + "value": "Filter by workload type" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "filterByTagKeyAriaLabel": [ + { + "type": 0, + "value": "Tag keys" + } + ], + "filterByTagValueAriaLabel": [ + { + "type": 0, + "value": "Tag values" + } + ], + "filterByTagValueButtonAriaLabel": [ + { + "type": 0, + "value": "Filter button for tag value" + } + ], + "filterByValuePlaceholder": [ + { + "type": 0, + "value": "Filter by value" + } + ], + "filterByValues": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Account" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Cost category" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Cluster" + } + ] + }, + "container": { + "value": [ + { + "type": 0, + "value": "Container" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "GCP project" + } + ] + }, + "group": { + "value": [ + { + "type": 0, + "value": "Group" + } + ] + }, + "name": { + "value": [ + { + "type": 0, + "value": "Name" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Node" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Organizational unit" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Account" + } + ] + }, + "persistent_volume_claim": { + "value": [ + { + "type": 0, + "value": "Persistent volume claim" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Service" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Project" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Region" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Region" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Service" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Service" + } + ] + }, + "source_type": { + "value": [ + { + "type": 0, + "value": "Source type" + } + ] + }, + "status": { + "value": [ + { + "type": 0, + "value": "Status" + } + ] + }, + "storage_class": { + "value": [ + { + "type": 0, + "value": "StorageClass" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Account" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Tag" + } + ] + }, + "workload": { + "value": [ + { + "type": 0, + "value": "Workload name" + } + ] + }, + "workload_type": { + "value": [ + { + "type": 0, + "value": "Workload type" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "filterByValuesAriaLabel": [ + { + "type": 0, + "value": "Values" + } + ], + "forDate": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " for " + }, + { + "type": 1, + "value": "dateRange" + } + ], + "gcp": [ + { + "type": 0, + "value": "Google Cloud Platform" + } + ], + "gcpComputeTitle": [ + { + "type": 0, + "value": "Compute instances usage" + } + ], + "gcpCostTitle": [ + { + "type": 0, + "value": "Google Cloud Platform Services cost" + } + ], + "gcpCostTrendTitle": [ + { + "type": 0, + "value": "Google Cloud Platform Services cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "gcpDailyCostTrendTitle": [ + { + "type": 0, + "value": "Google Cloud Platform Services daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "gcpDesc": [ + { + "type": 0, + "value": "Raw cost from Google Cloud Platform infrastructure." + } + ], + "gcpDetailsTitle": [ + { + "type": 0, + "value": "Google Cloud Platform Details" + } + ], + "groupByAll": [ + { + "options": { + "account": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "aws_category": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All cost category" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All cost categories" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "cluster": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All cluster" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All clusters" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "gcp_project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All GCP project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All GCP projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "node": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All node" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All nodes" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "org_unit_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All organizational unit" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All organizational units" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "product_service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "region": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "resource_location": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service_name": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "subscription_guid": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "tag": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All tag" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All tags" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "groupByLabel": [ + { + "type": 0, + "value": "Group by" + } + ], + "groupByTop": [ + { + "options": { + "account": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "aws_category": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top cost category" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top cost categories" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "cluster": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top cluster" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top clusters" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "gcp_project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top GCP project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top GCP projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "node": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top node" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top node" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "org_unit_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top organizational unit" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top organizational units" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "product_service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "region": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "resource_location": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service_name": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "subscription_guid": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "tag": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top tag" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top tags" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "groupByValueNames": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Account names" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Cost category names" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Cluster names" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "GCP project names" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Node names" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Organizational unit names" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Account names" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Service names" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Project names" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Region names" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Region names" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Service names" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Service names" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Account names" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Tag names" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "groupByValues": [ + { + "options": { + "account": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "aws_category": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "cost category" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "cost categories" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "cluster": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "cluster" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "clusters" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "gcp_project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "GCP project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "GCP projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "node": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "node" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "node" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "org_unit_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "organizational unit" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "organizational units" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "product_service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "region": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "resource_location": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service_name": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "subscription_guid": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "tag": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "tag" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "tags" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "groupByValuesTitleCase": [ + { + "options": { + "account": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "aws_category": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Cost category" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Cost categories" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "cluster": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Cluster" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Clusters" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "gcp_project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "GCP project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "GCP projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "node": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Node" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Node" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "org_unit_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Organizational unit" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Organizational units" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [] + }, + "payer_tenant_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "product_service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "region": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "resource_location": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service_name": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "subscription_guid": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "tag": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Tag" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Tags" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "historicalChartCostLabel": [ + { + "type": 0, + "value": "Cost (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "historicalChartDayOfMonthLabel": [ + { + "type": 0, + "value": "Day of Month" + } + ], + "historicalChartTitle": [ + { + "options": { + "cost": { + "value": [ + { + "type": 0, + "value": "Cost comparison" + } + ] + }, + "cpu": { + "value": [ + { + "type": 0, + "value": "CPU usage, request, and limit comparison" + } + ] + }, + "instance_type": { + "value": [ + { + "type": 0, + "value": "Compute usage comparison" + } + ] + }, + "memory": { + "value": [ + { + "type": 0, + "value": "Memory usage, request, and limit comparison" + } + ] + }, + "modal": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " daily usage comparison" + } + ] + }, + "other": { + "value": [] + }, + "storage": { + "value": [ + { + "type": 0, + "value": "Storage usage comparison" + } + ] + }, + "virtual_machine": { + "value": [ + { + "type": 0, + "value": "Virtual machine usage comparison" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "historicalChartUsageLabel": [ + { + "options": { + "instance_type": { + "value": [ + { + "type": 0, + "value": "hrs" + } + ] + }, + "other": { + "value": [] + }, + "storage": { + "value": [ + { + "type": 0, + "value": "gb-mo" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "ibm": [ + { + "type": 0, + "value": "IBM Cloud" + } + ], + "ibmComputeTitle": [ + { + "type": 0, + "value": "Compute instances usage" + } + ], + "ibmCostTitle": [ + { + "type": 0, + "value": "IBM Cloud Services cost" + } + ], + "ibmCostTrendTitle": [ + { + "type": 0, + "value": "IBM Cloud Services cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ibmDailyCostTrendTitle": [ + { + "type": 0, + "value": "IBM Cloud Services daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ibmDesc": [ + { + "type": 0, + "value": "Raw cost from IBM Cloud infrastructure." + } + ], + "ibmDetailsTitle": [ + { + "type": 0, + "value": "IBM Cloud Details" + } + ], + "inactiveSourcesGoTo": [ + { + "type": 0, + "value": "Go to Sources for more information" + } + ], + "inactiveSourcesTitle": [ + { + "type": 0, + "value": "A problem was detected with " + }, + { + "type": 1, + "value": "value" + } + ], + "inactiveSourcesTitleMultiplier": [ + { + "type": 0, + "value": "A problem was detected with the following sources" + } + ], + "infrastructure": [ + { + "type": 0, + "value": "Infrastructure" + } + ], + "lastProcessed": [ + { + "type": 0, + "value": "Last processed" + } + ], + "learnMore": [ + { + "type": 0, + "value": "Learn more" + } + ], + "limits": [ + { + "type": 0, + "value": "Limits" + } + ], + "loadingStateDesc": [ + { + "type": 0, + "value": "Searching for your sources. Do not refresh the browser" + } + ], + "loadingStateTitle": [ + { + "type": 0, + "value": "Looking for sources..." + } + ], + "maintenanceEmptyStateDesc": [ + { + "type": 0, + "value": "Cost Management is currently undergoing scheduled maintenance and will be unavailable from 13:00 - 19:00 UTC (09:00 AM - 03:00 PM EDT)." + } + ], + "maintenanceEmptyStateInfo": [ + { + "type": 0, + "value": "For more information visit " + }, + { + "type": 1, + "value": "url" + } + ], + "maintenanceEmptyStateThanks": [ + { + "type": 0, + "value": "We will be back soon. Thank you for your patience!" + } + ], + "manageColumnsAriaLabel": [ + { + "type": 0, + "value": "Table column management" + } + ], + "manageColumnsDesc": [ + { + "type": 0, + "value": "Selected categories will be displayed in the table" + } + ], + "manageColumnsTitle": [ + { + "type": 0, + "value": "Manage columns" + } + ], + "markupDesc": [ + { + "type": 0, + "value": "The portion of cost calculated by applying markup or discount to infrastructure raw cost in the cost management application" + } + ], + "markupOrDiscount": [ + { + "type": 0, + "value": "Markup or Discount" + } + ], + "markupOrDiscountDesc": [ + { + "type": 0, + "value": "This Percentage is applied to raw cost calculations by multiplying the cost with this percentage. Costs calculated from price list rates will not be effected." + } + ], + "markupOrDiscountModalDesc": [ + { + "type": 0, + "value": "Use markup/discount to manipulate how the raw costs are being calculated for your sources. Note, costs calculated from price list rates will not be affected by this." + } + ], + "markupOrDiscountNumber": [ + { + "type": 0, + "value": "Markup or discount must be a number" + } + ], + "markupOrDiscountTooLong": [ + { + "type": 0, + "value": "Should not exceed 10 decimals" + } + ], + "markupPlus": [ + { + "type": 0, + "value": "Markup (+)" + } + ], + "markupTitle": [ + { + "type": 0, + "value": "Markup" + } + ], + "measurement": [ + { + "type": 0, + "value": "Measurement" + } + ], + "measurementPlaceholder": [ + { + "type": 0, + "value": "Filter by measurements" + } + ], + "measurementValues": [ + { + "options": { + "count": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Count" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Count (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "effective_usage": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Request" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Effective-usage (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [] + }, + "request": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Request" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Request (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "usage": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Usage" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Usage (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "measurementValuesDesc": [ + { + "options": { + "count": { + "value": [ + { + "options": { + "cluster_month": { + "value": [ + { + "type": 0, + "value": "The distinct number of clusters identified during the month" + } + ] + }, + "node_month": { + "value": [ + { + "type": 0, + "value": "The distinct number of nodes identified during the month" + } + ] + }, + "other": { + "value": [] + }, + "pvc_month": { + "value": [ + { + "type": 0, + "value": "The distinct number of volume claims identified during the month" + } + ] + } + }, + "type": 5, + "value": "units" + } + ] + }, + "effective_usage": { + "value": [ + { + "type": 0, + "value": "The greater of usage and request each hour" + } + ] + }, + "other": { + "value": [] + }, + "request": { + "value": [ + { + "type": 0, + "value": "The pod resources requested, as reported by OpenShift" + } + ] + }, + "usage": { + "value": [ + { + "type": 0, + "value": "The pod resources used, as reported by OpenShift" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "memoryTitle": [ + { + "type": 0, + "value": "Memory" + } + ], + "metric": [ + { + "type": 0, + "value": "Metric" + } + ], + "metricPlaceholder": [ + { + "type": 0, + "value": "Filter by metrics" + } + ], + "metricValues": [ + { + "options": { + "cluster": { + "value": [ + { + "type": 0, + "value": "Cluster" + } + ] + }, + "cpu": { + "value": [ + { + "type": 0, + "value": "CPU" + } + ] + }, + "memory": { + "value": [ + { + "type": 0, + "value": "Memory" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Node" + } + ] + }, + "other": { + "value": [] + }, + "persistent_volume_claims": { + "value": [ + { + "type": 0, + "value": "Persistent volume claims" + } + ] + }, + "storage": { + "value": [ + { + "type": 0, + "value": "Storage" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "monthOverMonthChange": [ + { + "type": 0, + "value": "Month over month change" + } + ], + "names": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Name" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Names" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "next": [ + { + "type": 0, + "value": "next" + } + ], + "no": [ + { + "type": 0, + "value": "No" + } + ], + "noDataForDate": [ + { + "type": 0, + "value": "No data available for " + }, + { + "type": 1, + "value": "dateRange" + } + ], + "noDataStateDesc": [ + { + "type": 0, + "value": "We have detected a source, but we are not done processing the incoming data. The time to process could take up to 24 hours. Try refreshing the page at a later time." + } + ], + "noDataStateRefresh": [ + { + "type": 0, + "value": "Refresh this page" + } + ], + "noDataStateTitle": [ + { + "type": 0, + "value": "Still processing the data" + } + ], + "noExportsStateTitle": [ + { + "type": 0, + "value": "There are no export files available" + } + ], + "noOptimizationsDesc": [ + { + "type": 0, + "value": "Resource Optimization is now available in preview for select customers. If your organization wants to participate, tell us through the Feedback button, which is purple and located on the right. Otherwise, there is not enough data available to generate an optimization." + } + ], + "noOptimizationsTitle": [ + { + "type": 0, + "value": "No optimizations available" + } + ], + "noProvidersStateAwsDesc": [ + { + "type": 0, + "value": "Add an Amazon Web Services account to see a total cost breakdown of your spend by accounts, organizational units, services, regions, or tags." + } + ], + "noProvidersStateAwsTitle": [ + { + "type": 0, + "value": "Track your Amazon Web Services spending!" + } + ], + "noProvidersStateAzureDesc": [ + { + "type": 0, + "value": "Add a Microsoft Azure account to see a total cost breakdown of your spend by accounts, services, regions, or tags." + } + ], + "noProvidersStateAzureTitle": [ + { + "type": 0, + "value": "Track your Microsoft Azure spending!" + } + ], + "noProvidersStateGcpDesc": [ + { + "type": 0, + "value": "Add a Google Cloud Platform account to see a total cost breakdown of your spend by accounts, services, regions, or tags." + } + ], + "noProvidersStateGcpTitle": [ + { + "type": 0, + "value": "Track your Google Cloud Platform spending!" + } + ], + "noProvidersStateGetStarted": [ + { + "type": 0, + "value": "Get started with Sources" + } + ], + "noProvidersStateIbmDesc": [ + { + "type": 0, + "value": "Add an IBM Cloud account to see a total cost breakdown of your spend by accounts, services, regions, or tags." + } + ], + "noProvidersStateIbmTitle": [ + { + "type": 0, + "value": "Track your IBM Cloud spending!" + } + ], + "noProvidersStateOcpAddSources": [ + { + "type": 0, + "value": "Add an OpenShift cluster to Cost Management" + } + ], + "noProvidersStateOcpDesc": [ + { + "type": 0, + "value": "Add an OpenShift Container Platform cluster to see a total cost breakdown of your pods by cluster, node, project, or labels." + } + ], + "noProvidersStateOcpTitle": [ + { + "type": 0, + "value": "Track your OpenShift spending!" + } + ], + "noProvidersStateOverviewDesc": [ + { + "type": 0, + "value": "Add a source, like an OpenShift Container Platform cluster or a cloud services account, to see a total cost breakdown as well as usage information like instance counts and storage." + } + ], + "noProvidersStateOverviewTitle": [ + { + "type": 0, + "value": "Track your spending!" + } + ], + "noResultsFound": [ + { + "type": 0, + "value": "No results found" + } + ], + "notAuthorizedStateAws": [ + { + "type": 0, + "value": "Amazon Web Services in Cost Management" + } + ], + "notAuthorizedStateAzure": [ + { + "type": 0, + "value": "Microsoft Azure in Cost Management" + } + ], + "notAuthorizedStateCostModels": [ + { + "type": 0, + "value": "Cost Models in Cost Management" + } + ], + "notAuthorizedStateGcp": [ + { + "type": 0, + "value": "Google Cloud Platform in Cost Management" + } + ], + "notAuthorizedStateIbm": [ + { + "type": 0, + "value": "IBM Cloud in Cost Management" + } + ], + "notAuthorizedStateOci": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure in Cost Management" + } + ], + "notAuthorizedStateOcp": [ + { + "type": 0, + "value": "OpenShift in Cost Management" + } + ], + "notAuthorizedStateOptimizations": [ + { + "type": 0, + "value": "Optimizations in Cost Management" + } + ], + "notAuthorizedStateRhel": [ + { + "type": 0, + "value": "RHEL in Cost Management" + } + ], + "notAuthorizedStateSettings": [ + { + "type": 0, + "value": "Settings in Cost Management" + } + ], + "notificationsAlertTitle": [ + { + "type": 0, + "value": "Duration based notifications" + } + ], + "oci": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure" + } + ], + "ociComputeTitle": [ + { + "type": 0, + "value": "Virtual machines usage" + } + ], + "ociCostTrendTitle": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ociDailyCostTrendTitle": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ociDashboardCostTitle": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure cost" + } + ], + "ociDesc": [ + { + "type": 0, + "value": "Raw cost from Oracle Cloud Infrastructure." + } + ], + "ociDetailsTitle": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure Details" + } + ], + "ocpCloudDashboardComputeTitle": [ + { + "type": 0, + "value": "Compute services usage" + } + ], + "ocpCloudDashboardCostTitle": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift cost" + } + ], + "ocpCloudDashboardCostTrendTitle": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ocpCloudDashboardDailyCostTrendTitle": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ocpCpuUsageAndRequests": [ + { + "type": 0, + "value": "CPU usage and requests" + } + ], + "ocpDailyUsageAndRequestComparison": [ + { + "type": 0, + "value": "Daily usage and requests comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ocpDashboardCostTitle": [ + { + "type": 0, + "value": "All OpenShift cost" + } + ], + "ocpDashboardCostTrendTitle": [ + { + "type": 0, + "value": "All OpenShift cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ocpDashboardDailyCostTitle": [ + { + "type": 0, + "value": "All OpenShift daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ocpDetailsInfrastructureCost": [ + { + "type": 0, + "value": "Infrastructure cost" + } + ], + "ocpDetailsInfrastructureCostDesc": [ + { + "type": 0, + "value": "The cost based on raw usage data from the underlying infrastructure." + } + ], + "ocpDetailsSupplementaryCost": [ + { + "type": 0, + "value": "Supplementary cost" + } + ], + "ocpDetailsSupplementaryCostDesc": [ + { + "type": 0, + "value": "All costs not directly attributed to the infrastructure. These costs are determined by applying a price list within a cost model to OpenShift cluster metrics." + } + ], + "ocpDetailsTitle": [ + { + "type": 0, + "value": "OpenShift Details" + } + ], + "ocpMemoryUsageAndRequests": [ + { + "type": 0, + "value": "Memory usage and requests" + } + ], + "ocpVolumeUsageAndRequests": [ + { + "type": 0, + "value": "Volume usage and requests" + } + ], + "openShift": [ + { + "type": 0, + "value": "OpenShift" + } + ], + "openShiftCloudInfrastructure": [ + { + "type": 0, + "value": "OpenShift cloud infrastructure" + } + ], + "openShiftCloudInfrastructureDesc": [ + { + "type": 0, + "value": "Infrastructure cost attributed to OpenShift Container Platform, based on a subset of cloud cost data." + } + ], + "openShiftDesc": [ + { + "type": 0, + "value": "Total cost for OpenShift Container Platform, comprising the infrastructure cost and cost calculated from metrics." + } + ], + "optimizations": [ + { + "type": 0, + "value": "Optimizations" + } + ], + "optimizationsDetails": [ + { + "offset": 0, + "options": { + "=0": { + "value": [ + { + "type": 0, + "value": "No optimizations" + } + ] + }, + "=1": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " optimization" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " optimizations" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "optimizationsInfo": [ + { + "type": 0, + "value": "Assess and monitor your usage so you can optimize your OpenShift resources." + } + ], + "optimizationsInfoArialLabel": [ + { + "type": 0, + "value": "A description of optimizations" + } + ], + "optimizationsInfoButtonArialLabel": [ + { + "type": 0, + "value": "A dialog with a description of optimizations" + } + ], + "optimizationsLoadingStateDesc": [ + { + "type": 0, + "value": "Searching for your optimizations. Do not refresh the browser" + } + ], + "optimizationsLoadingStateTitle": [ + { + "type": 0, + "value": "Looking for optimizations..." + } + ], + "optimizationsLongTerm": [ + { + "type": 0, + "value": "Last 15 days" + } + ], + "optimizationsMediumTerm": [ + { + "type": 0, + "value": "Last 7 days" + } + ], + "optimizationsNames": [ + { + "options": { + "cluster": { + "value": [ + { + "type": 0, + "value": "Cluster names" + } + ] + }, + "container": { + "value": [ + { + "type": 0, + "value": "Container names" + } + ] + }, + "last_reported": { + "value": [ + { + "type": 0, + "value": "Last reported" + } + ] + }, + "other": { + "value": [] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Project names" + } + ] + }, + "workload": { + "value": [ + { + "type": 0, + "value": "Workload names" + } + ] + }, + "workload_type": { + "value": [ + { + "type": 0, + "value": "Workload types" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "optimizationsPerspective": [ + { + "type": 0, + "value": "View optimizations based on" + } + ], + "optimizationsShortTerm": [ + { + "type": 0, + "value": "Last 24 hrs" + } + ], + "optimizationsTableAriaLabel": [ + { + "type": 0, + "value": "Optimizations table" + } + ], + "optimizationsValue": [ + { + "type": 1, + "value": "value" + }, + { + "type": 1, + "value": "units" + } + ], + "optimizationsValues": [ + { + "options": { + "cluster": { + "value": [ + { + "type": 0, + "value": "Cluster name" + } + ] + }, + "container": { + "value": [ + { + "type": 0, + "value": "Container name" + } + ] + }, + "last_reported": { + "value": [ + { + "type": 0, + "value": "Last reported" + } + ] + }, + "other": { + "value": [] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Project name" + } + ] + }, + "workload": { + "value": [ + { + "type": 0, + "value": "Workload name" + } + ] + }, + "workload_type": { + "value": [ + { + "type": 0, + "value": "Workload type" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "optimizationsViewAll": [ + { + "type": 0, + "value": "View all optimizations for this project" + } + ], + "optimizationsViewAllDisabled": [ + { + "type": 0, + "value": "This project has not reported data this month." + } + ], + "overhead": [ + { + "type": 0, + "value": "Overhead" + } + ], + "overheadDesc": [ + { + "type": 0, + "value": "Includes distributed costs" + } + ], + "overviewInfoArialLabel": [ + { + "type": 0, + "value": "A description of perspectives" + } + ], + "overviewInfoButtonArialLabel": [ + { + "type": 0, + "value": "A dialog with a description of perspectives" + } + ], + "overviewTitle": [ + { + "type": 0, + "value": "Cost Management Overview" + } + ], + "pageTitleAws": [ + { + "type": 0, + "value": "Amazon Web Services - Cost Management | OpenShift" + } + ], + "pageTitleAzure": [ + { + "type": 0, + "value": "Microsoft Azure - Cost Management | OpenShift" + } + ], + "pageTitleCostModels": [ + { + "type": 0, + "value": "Cost Models - Cost Management | OpenShift" + } + ], + "pageTitleDefault": [ + { + "type": 0, + "value": "Cost Management | OpenShift" + } + ], + "pageTitleExplorer": [ + { + "type": 0, + "value": "Cost Explorer - Cost Management | OpenShift" + } + ], + "pageTitleGcp": [ + { + "type": 0, + "value": "Google Cloud Platform - Cost Management | OpenShift" + } + ], + "pageTitleIbm": [ + { + "type": 0, + "value": "IBM Cloud - Cost Management | OpenShift" + } + ], + "pageTitleOci": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure - Cost Management | OpenShift" + } + ], + "pageTitleOcp": [ + { + "type": 0, + "value": "OpenShift - Cost Management | OpenShift" + } + ], + "pageTitleOptimizations": [ + { + "type": 0, + "value": "Optimizations - Cost Management | OpenShift" + } + ], + "pageTitleOverview": [ + { + "type": 0, + "value": "Overview - Cost Management | OpenShift" + } + ], + "pageTitleRhel": [ + { + "type": 0, + "value": "RHEL - Cost Management | OpenShift" + } + ], + "pageTitleSettings": [ + { + "type": 0, + "value": "Settings - Cost Management | OpenShift" + } + ], + "paginationTitle": [ + { + "options": { + "bottom": { + "value": [ + { + "type": 1, + "value": "title" + }, + { + "type": 0, + "value": " bottom pagination" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "title" + }, + { + "type": 0, + "value": " pagination" + } + ] + }, + "top": { + "value": [ + { + "type": 1, + "value": "title" + }, + { + "type": 0, + "value": " top pagination" + } + ] + } + }, + "type": 5, + "value": "placement" + } + ], + "percent": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " %" + } + ], + "percentOfCost": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " % of cost" + } + ], + "percentPlus": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "+" + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": "%" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": "%" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "percentSymbol": [ + { + "type": 0, + "value": "%" + } + ], + "percentTotalCost": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": " (" + }, + { + "type": 1, + "value": "percent" + }, + { + "type": 0, + "value": " %)" + } + ], + "perspective": [ + { + "type": 0, + "value": "Perspective" + } + ], + "perspectiveValues": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM filtered by OpenShift" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "All OpenShift" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift" + } + ] + }, + "other": { + "value": [] + }, + "rhel": { + "value": [ + { + "type": 0, + "value": "All RHEL" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "platfomProjectaDesc": [ + { + "type": 0, + "value": "Associate additional projects with OpenShift Platform project costs to charge for utilization of resources. Changes will be reflected in this month's cost calculations within 24 hrs. " + }, + { + "type": 1, + "value": "learnMore" + } + ], + "platform": [ + { + "type": 0, + "value": "Platform" + } + ], + "platformDesc": [ + { + "type": 0, + "value": "Distribute the cost of running the OpenShift services to projects" + } + ], + "platformDistributed": [ + { + "type": 0, + "value": "Platform distributed" + } + ], + "platformProjectsTitle": [ + { + "type": 0, + "value": "Platform projects" + } + ], + "priceList": [ + { + "type": 0, + "value": "Price list" + } + ], + "priceListAddRate": [ + { + "type": 0, + "value": "Add rate" + } + ], + "priceListDeleteRate": [ + { + "type": 0, + "value": "Delete rate" + } + ], + "priceListDeleteRateDesc": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "This action will remove " + }, + { + "type": 1, + "value": "metric" + }, + { + "type": 0, + "value": " rate from " + }, + { + "type": 1, + "value": "costModel" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "This action will remove " + }, + { + "type": 1, + "value": "metric" + }, + { + "type": 0, + "value": " rate from " + }, + { + "type": 1, + "value": "costModel" + }, + { + "type": 0, + "value": ", which is assigned to the following sources:" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "priceListDuplicate": [ + { + "type": 0, + "value": "This tag key is already in use" + } + ], + "priceListEditRate": [ + { + "type": 0, + "value": "Edit rate" + } + ], + "priceListEmptyRate": [ + { + "type": 0, + "value": "No rates are set" + } + ], + "priceListEmptyRateDesc": [ + { + "type": 0, + "value": "To add rates to the price list, click on the \"Add\" rate button above." + } + ], + "priceListNumberRate": [ + { + "type": 0, + "value": "Rate must be a number" + } + ], + "priceListPosNumberRate": [ + { + "type": 0, + "value": "Rate must be a positive number" + } + ], + "pvcTitle": [ + { + "type": 0, + "value": "Persistent Volume Claims" + } + ], + "rate": [ + { + "type": 0, + "value": "Rate" + } + ], + "rawCostDesc": [ + { + "type": 0, + "value": "The costs reported by a cloud provider without any cost model calculations applied." + } + ], + "rawCostTitle": [ + { + "type": 0, + "value": "Raw cost" + } + ], + "rbacErrorDesc": [ + { + "type": 0, + "value": "There was a problem receiving user permissions. Refreshing this page may fix it. If it does not, please contact your admin." + } + ], + "rbacErrorTitle": [ + { + "type": 0, + "value": "Failed to get RBAC information" + } + ], + "readOnly": [ + { + "type": 0, + "value": "Read only" + } + ], + "readOnlyPermissions": [ + { + "type": 0, + "value": "You have read only permissions" + } + ], + "recommended": [ + { + "type": 0, + "value": "Recommended" + } + ], + "recommendedConfiguration": [ + { + "type": 0, + "value": "Recommended configuration" + } + ], + "redHatStatusUrl": [ + { + "type": 0, + "value": "https://status.redhat.com" + } + ], + "remove": [ + { + "type": 0, + "value": "Remove" + } + ], + "removeProjects": [ + { + "type": 0, + "value": "Remove projects" + } + ], + "requestedCapacity": [ + { + "type": 0, + "value": "Requested capacity" + } + ], + "requestedCapacityValue": [ + { + "type": 0, + "value": "Requested capacity - " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + } + ], + "requests": [ + { + "type": 0, + "value": "Requests" + } + ], + "rhel": [ + { + "type": 0, + "value": "RHEL" + } + ], + "rhelCpuUsageAndRequests": [ + { + "type": 0, + "value": "CPU usage and requests" + } + ], + "rhelDailyUsageAndRequestComparison": [ + { + "type": 0, + "value": "Daily usage and requests comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "rhelDashboardCostTitle": [ + { + "type": 0, + "value": "All RHEL cost" + } + ], + "rhelDashboardCostTrendTitle": [ + { + "type": 0, + "value": "All RHEL cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "rhelDashboardDailyCostTitle": [ + { + "type": 0, + "value": "All RHEL daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "rhelDesc": [ + { + "type": 0, + "value": "Total cost for Red Hat Enterprise Linux, comprising the infrastructure cost and cost calculated from metrics." + } + ], + "rhelDetailsInfrastructureCost": [ + { + "type": 0, + "value": "Infrastructure cost" + } + ], + "rhelDetailsSupplementaryCost": [ + { + "type": 0, + "value": "Supplementary cost" + } + ], + "rhelDetailsTitle": [ + { + "type": 0, + "value": "RHEL Details" + } + ], + "rhelMemoryUsageAndRequests": [ + { + "type": 0, + "value": "Memory usage and requests" + } + ], + "rhelVolumeUsageAndRequests": [ + { + "type": 0, + "value": "Volume usage and requests" + } + ], + "save": [ + { + "type": 0, + "value": "Save" + } + ], + "select": [ + { + "type": 0, + "value": "Select..." + } + ], + "selectAll": [ + { + "type": 0, + "value": "Select all" + } + ], + "selectCategories": [ + { + "type": 0, + "value": "Select categories to enable or disable" + } + ], + "selectRow": [ + { + "type": 0, + "value": "Select row " + }, + { + "type": 1, + "value": "value" + } + ], + "selectTags": [ + { + "type": 0, + "value": "Select tags to enable or disable" + } + ], + "selectableTableAriaLabel": [ + { + "type": 0, + "value": "Selectable table" + } + ], + "selectableTableHeaderAriaLabel": [ + { + "type": 0, + "value": "Select to open the optimizations drawer" + } + ], + "selectableTableRowAriaLabel": [ + { + "type": 0, + "value": "Selectable table row" + } + ], + "selected": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " selected" + } + ], + "settingsErrorDesc": [ + { + "type": 0, + "value": "Failed to update settings" + } + ], + "settingsErrorTitle": [ + { + "type": 0, + "value": "Unable to save application settings" + } + ], + "settingsSuccessChanges": [ + { + "type": 0, + "value": "Changes will be reflected in report summarizations within 24 hours" + } + ], + "settingsSuccessCostCategoryKeys": [ + { + "options": { + "disable": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " cost category key disabled" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " cost category keys disabled" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "enable": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " cost category key enabled" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " cost category keys enabled" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "value" + } + ], + "settingsSuccessDesc": [ + { + "type": 0, + "value": "Settings for Cost Management were replaced with new values" + } + ], + "settingsSuccessTags": [ + { + "options": { + "disable": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " tag disabled" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " tags disabled" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "enable": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " tag enabled" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " tags enabled" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "value" + } + ], + "settingsSuccessTitle": [ + { + "type": 0, + "value": "Application settings saved" + } + ], + "settingsTagsErrorDesc": [ + { + "type": 0, + "value": "You currently have " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " tags enabled" + } + ], + "settingsTagsErrorTitle": [ + { + "type": 0, + "value": "You can not enable more than " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " tags total" + } + ], + "settingsTitle": [ + { + "type": 0, + "value": "Cost Management Settings" + } + ], + "sinceDate": [ + { + "type": 1, + "value": "dateRange" + } + ], + "sourceType": [ + { + "type": 0, + "value": "Source type" + } + ], + "sourceTypes": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift" + } + ] + }, + "other": { + "value": [] + } + }, + "type": 5, + "value": "value" + } + ], + "sources": [ + { + "type": 0, + "value": "Sources" + } + ], + "start": [ + { + "type": 0, + "value": "Start" + } + ], + "status": [ + { + "options": { + "failed": { + "value": [ + { + "type": 0, + "value": "Failed" + } + ] + }, + "other": { + "value": [] + }, + "pending": { + "value": [ + { + "type": 0, + "value": "Pending" + } + ] + }, + "running": { + "value": [ + { + "type": 0, + "value": "Running" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "statusActions": [ + { + "type": 0, + "value": "Status/Actions" + } + ], + "storageClass": [ + { + "type": 0, + "value": "StorageClass" + } + ], + "suggestions": [ + { + "type": 0, + "value": "Suggestions" + } + ], + "sumPlatformCosts": [ + { + "type": 0, + "value": "Sum platform costs" + } + ], + "summary": [ + { + "type": 0, + "value": "Summary" + } + ], + "supplementary": [ + { + "type": 0, + "value": "Supplementary" + } + ], + "tagDesc": [ + { + "type": 0, + "value": "Enable your data source labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. " + }, + { + "type": 1, + "value": "learnMore" + } + ], + "tagHeadingKey": [ + { + "type": 0, + "value": "Key" + } + ], + "tagHeadingTitle": [ + { + "type": 0, + "value": "Tags (" + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": ")" + } + ], + "tagHeadingValue": [ + { + "type": 0, + "value": "Value" + } + ], + "tagLabels": [ + { + "type": 0, + "value": "Tags and labels" + } + ], + "tagNames": [ + { + "type": 0, + "value": "Tag names" + } + ], + "timeOfExport": [ + { + "type": 0, + "value": "Time of export" + } + ], + "to": [ + { + "type": 0, + "value": "to" + } + ], + "toolBarBulkSelectAll": [ + { + "type": 0, + "value": "Select all (" + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " items)" + } + ], + "toolBarBulkSelectAriaDeselect": [ + { + "type": 0, + "value": "Deselect all items" + } + ], + "toolBarBulkSelectAriaSelect": [ + { + "type": 0, + "value": "Select all items" + } + ], + "toolBarBulkSelectNone": [ + { + "type": 0, + "value": "Select none (0 items)" + } + ], + "toolBarBulkSelectPage": [ + { + "type": 0, + "value": "Select page (" + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " items)" + } + ], + "toolBarPriceListMeasurementPlaceHolder": [ + { + "type": 0, + "value": "Filter by measurements" + } + ], + "toolBarPriceListMetricPlaceHolder": [ + { + "type": 0, + "value": "Filter by metrics" + } + ], + "unitTooltips": [ + { + "options": { + "byte_ms": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " Byte-ms" + } + ] + }, + "core_hours": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " core-hours" + } + ] + }, + "gb": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " GB" + } + ] + }, + "gb_hours": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " GB-hours" + } + ] + }, + "gb_mo": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " GB-month" + } + ] + }, + "gb_ms": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " GB-ms" + } + ] + }, + "gibibyte_month": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " GiB-month" + } + ] + }, + "hour": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " hours" + } + ] + }, + "hrs": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " hours" + } + ] + }, + "ms": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " milliseconds" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "value" + } + ] + }, + "vm_hours": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " VM-hours" + } + ] + } + }, + "type": 5, + "value": "units" + } + ], + "units": [ + { + "options": { + "byte_ms": { + "value": [ + { + "type": 0, + "value": "Byte-ms" + } + ] + }, + "core": { + "value": [ + { + "type": 0, + "value": "core" + } + ] + }, + "core_hours": { + "value": [ + { + "type": 0, + "value": "core-hours" + } + ] + }, + "gb": { + "value": [ + { + "type": 0, + "value": "GB" + } + ] + }, + "gb_hours": { + "value": [ + { + "type": 0, + "value": "GB-hours" + } + ] + }, + "gb_mo": { + "value": [ + { + "type": 0, + "value": "GB-month" + } + ] + }, + "gb_ms": { + "value": [ + { + "type": 0, + "value": "GB-ms" + } + ] + }, + "gibibyte_month": { + "value": [ + { + "type": 0, + "value": "GiB-month" + } + ] + }, + "hour": { + "value": [ + { + "type": 0, + "value": "hours" + } + ] + }, + "hrs": { + "value": [ + { + "type": 0, + "value": "hours" + } + ] + }, + "ms": { + "value": [ + { + "type": 0, + "value": "milliseconds" + } + ] + }, + "other": { + "value": [] + }, + "vm_hours": { + "value": [ + { + "type": 0, + "value": "VM-hours" + } + ] + } + }, + "type": 5, + "value": "units" + } + ], + "usage": [ + { + "type": 0, + "value": "Usage" + } + ], + "usageCostDesc": [ + { + "type": 0, + "value": "The portion of cost calculated by applying hourly and/or monthly price list rates to metrics." + } + ], + "usageCostTitle": [ + { + "type": 0, + "value": "Usage cost" + } + ], + "usageSubtitle": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": " maximum" + } + ], + "valueUnits": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + } + ], + "various": [ + { + "type": 0, + "value": "Various" + } + ], + "volumeTitle": [ + { + "type": 0, + "value": "Volume" + } + ], + "workerUnallocated": [ + { + "type": 0, + "value": "Worker unallocated" + } + ], + "workerUnallocatedDesc": [ + { + "type": 0, + "value": "Distribute unused and non-reserved resource costs to projects" + } + ], + "yes": [ + { + "type": 0, + "value": "Yes" + } + ] + }, "en": { "addProjects": [ { diff --git a/locales/en-sources.json b/locales/en-sources.json new file mode 100644 index 000000000..477c6977a --- /dev/null +++ b/locales/en-sources.json @@ -0,0 +1,12496 @@ +{ + "addProjects": [ + { + "type": 0, + "value": "Add projects" + } + ], + "allOtherProjectCosts": [ + { + "type": 0, + "value": "Project (All other costs)" + } + ], + "aws": [ + { + "type": 0, + "value": "Amazon Web Services" + } + ], + "awsComputeTitle": [ + { + "type": 0, + "value": "Compute (EC2) instances usage" + } + ], + "awsCostTrendTitle": [ + { + "type": 0, + "value": "Amazon Web Services cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "awsDailyCostTrendTitle": [ + { + "type": 0, + "value": "Amazon Web Services daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "awsDashboardCostTitle": [ + { + "type": 0, + "value": "Amazon Web Services cost" + } + ], + "awsDesc": [ + { + "type": 0, + "value": "Raw cost from Amazon Web Services infrastructure." + } + ], + "awsDetailsTitle": [ + { + "type": 0, + "value": "Amazon Web Services Details" + } + ], + "awsOcpDashboardCostTitle": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift cost" + } + ], + "azure": [ + { + "type": 0, + "value": "Microsoft Azure" + } + ], + "azureComputeTitle": [ + { + "type": 0, + "value": "Virtual machines usage" + } + ], + "azureCostTrendTitle": [ + { + "type": 0, + "value": "Microsoft Azure cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "azureDailyCostTrendTitle": [ + { + "type": 0, + "value": "Microsoft Azure daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "azureDashboardCostTitle": [ + { + "type": 0, + "value": "Microsoft Azure cost" + } + ], + "azureDesc": [ + { + "type": 0, + "value": "Raw cost from Azure infrastructure." + } + ], + "azureDetailsTitle": [ + { + "type": 0, + "value": "Microsoft Azure Details" + } + ], + "azureOcpDashboardCostTitle": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift cost" + } + ], + "back": [ + { + "type": 0, + "value": "Back" + } + ], + "breakdownBackToDetails": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " account details" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " cost category details" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " cluster details" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " GCP project details" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " node details" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " organizational unit details" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " account details" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " service details" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " project details" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " region details" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " region details" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " service details" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " service details" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " account details" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Back to " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " tag details" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "breakdownBackToDetailsAriaLabel": [ + { + "type": 0, + "value": "Back to details" + } + ], + "breakdownBackToOptimizations": [ + { + "type": 0, + "value": "Back to optimizations" + } + ], + "breakdownBackToOptimizationsProject": [ + { + "type": 0, + "value": "Back to optimizations for project " + }, + { + "type": 1, + "value": "value" + } + ], + "breakdownBackToTitles": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud - Top 5 Costliest" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "value" + } + ], + "breakdownCostOverviewTitle": [ + { + "type": 0, + "value": "Cost overview" + } + ], + "breakdownHistoricalDataTitle": [ + { + "type": 0, + "value": "Historical data" + } + ], + "breakdownSummaryTitle": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Cost by accounts" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Cost by category" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Cost by clusters" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Cost by GCP projects" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Cost by Node" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Cost by organizational units" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Cost by accounts" + } + ] + }, + "platform": { + "value": [ + { + "type": 0, + "value": "Cost by default projects" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Cost by services" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Cost by projects" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Cost by regions" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Cost by regions" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Cost by services" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Cost by services" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Cost by accounts" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Cost by tags" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "breakdownTitle": [ + { + "type": 1, + "value": "value" + } + ], + "breakdownTotalCostDate": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " total cost (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "calculationType": [ + { + "type": 0, + "value": "Calculation type" + } + ], + "cancel": [ + { + "type": 0, + "value": "Cancel" + } + ], + "change": [ + { + "type": 0, + "value": "Change" + } + ], + "chartCostForecastConeLegendLabel": [ + { + "type": 0, + "value": "Cost confidence (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostForecastConeLegendNoDataLabel": [ + { + "type": 0, + "value": "Cost confidence (no data)" + } + ], + "chartCostForecastConeLegendTooltip": [ + { + "type": 0, + "value": "Cost confidence (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostForecastConeTooltip": [ + { + "type": 1, + "value": "value0" + }, + { + "type": 0, + "value": " - " + }, + { + "type": 1, + "value": "value1" + } + ], + "chartCostForecastLegendLabel": [ + { + "type": 0, + "value": "Cost forecast (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostForecastLegendNoDataLabel": [ + { + "type": 0, + "value": "Cost forecast (no data)" + } + ], + "chartCostForecastLegendTooltip": [ + { + "type": 0, + "value": "Cost forecast (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostLegendLabel": [ + { + "type": 0, + "value": "Cost (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostLegendNoDataLabel": [ + { + "type": 0, + "value": "Cost (no data)" + } + ], + "chartCostLegendTooltip": [ + { + "type": 0, + "value": "Cost (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostSupplementaryLegendLabel": [ + { + "type": 0, + "value": "Supplementary cost (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartCostSupplementaryLegendNoDataLabel": [ + { + "type": 0, + "value": "Supplementary cost (no data)" + } + ], + "chartCostSupplementaryLegendTooltip": [ + { + "type": 0, + "value": "Supplementary cost (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chartDayOfTheMonth": [ + { + "type": 0, + "value": "Day " + }, + { + "type": 1, + "value": "day" + } + ], + "chartLimitLegendLabel": [ + { + "type": 0, + "value": "Limit (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartLimitLegendNoDataLabel": [ + { + "type": 0, + "value": "Limit (no data)" + } + ], + "chartLimitLegendTooltip": [ + { + "type": 0, + "value": "Limit (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chartNoData": [ + { + "type": 0, + "value": "no data" + } + ], + "chartOthers": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " Other" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " Others" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "chartRequestsLegendLabel": [ + { + "type": 0, + "value": "Requests (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartRequestsLegendNoDataLabel": [ + { + "type": 0, + "value": "Requests (no data)" + } + ], + "chartRequestsLegendTooltip": [ + { + "type": 0, + "value": "Requests (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chartUsageLegendLabel": [ + { + "type": 0, + "value": "Usage (" + }, + { + "type": 1, + "value": "dateRange" + }, + { + "type": 0, + "value": ")" + } + ], + "chartUsageLegendNoDataLabel": [ + { + "type": 0, + "value": "Usage (no data)" + } + ], + "chartUsageLegendTooltip": [ + { + "type": 0, + "value": "Usage (" + }, + { + "type": 1, + "value": "month" + }, + { + "type": 0, + "value": ")" + } + ], + "chooseKeyPlaceholder": [ + { + "type": 0, + "value": "Choose key" + } + ], + "chooseValuePlaceholder": [ + { + "type": 0, + "value": "Choose value" + } + ], + "close": [ + { + "type": 0, + "value": "Close" + } + ], + "cluster": [ + { + "type": 0, + "value": "Cluster" + } + ], + "clusters": [ + { + "type": 0, + "value": "Clusters" + } + ], + "copyToClipboard": [ + { + "type": 0, + "value": "Copy to clipboard" + } + ], + "copyToClipboardSuccessfull": [ + { + "type": 0, + "value": "Successfully copied to clipboard!" + } + ], + "cost": [ + { + "type": 0, + "value": "Cost" + } + ], + "costBreakdownAriaDesc": [ + { + "type": 0, + "value": "Breakdown of markup, raw, and usage costs" + } + ], + "costBreakdownAriaLabel": [ + { + "type": 0, + "value": "A description of markup, raw cost and usage cost" + } + ], + "costBreakdownTitle": [ + { + "type": 0, + "value": "Cost breakdown" + } + ], + "costBreakdownTooltip": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": ": " + }, + { + "type": 1, + "value": "value" + } + ], + "costCalculations": [ + { + "type": 0, + "value": "Cost calculations" + } + ], + "costCalculationsOptional": [ + { + "type": 0, + "value": "Cost calculations (optional)" + } + ], + "costCategoryDesc": [ + { + "type": 0, + "value": "Enable your AWS cost categories to be used for report grouping and filtering. Changes will be reflected within 24 hours. " + }, + { + "type": 1, + "value": "learnMore" + } + ], + "costCategoryNames": [ + { + "type": 0, + "value": "Cost category names" + } + ], + "costCategoryTitle": [ + { + "type": 0, + "value": "Cost categories" + } + ], + "costDistribution": [ + { + "type": 0, + "value": "Cost distribution" + } + ], + "costDistributionAriaDesc": [ + { + "type": 0, + "value": "Overhead cost breakdown of platform, worker unallocated, and total costs" + } + ], + "costDistributionAriaLabel": [ + { + "type": 0, + "value": "A description of platform, worker unallocated, and total costs" + } + ], + "costDistributionLabel": [ + { + "type": 0, + "value": "Overhead cost" + } + ], + "costDistributionTitle": [ + { + "type": 0, + "value": "Overhead cost breakdown" + } + ], + "costDistributionType": [ + { + "options": { + "distributed": { + "value": [ + { + "type": 0, + "value": "Distribute through cost models" + } + ] + }, + "other": { + "value": [ + ] + }, + "total": { + "value": [ + { + "type": 0, + "value": "Don't distribute overhead costs" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "costManagement": [ + { + "type": 0, + "value": "Cost Management" + } + ], + "costModels": [ + { + "type": 0, + "value": "Cost Models" + } + ], + "costModelsActions": [ + { + "type": 0, + "value": "Cost model actions" + } + ], + "costModelsAddTagValues": [ + { + "type": 0, + "value": "Add more tag values" + } + ], + "costModelsAssignSources": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Assign source" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Assign sources" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "costModelsAssignSourcesErrorDesc": [ + { + "type": 0, + "value": "You cannot assign a source at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our " + }, + { + "type": 1, + "value": "url" + }, + { + "type": 0, + "value": " for known outages." + } + ], + "costModelsAssignSourcesErrorTitle": [ + { + "type": 0, + "value": "This action is temporarily unavailable" + } + ], + "costModelsAssignSourcesParen": [ + { + "type": 0, + "value": "Assign source(s)" + } + ], + "costModelsAssignedSources": [ + { + "type": 0, + "value": "Assigned sources" + } + ], + "costModelsAvailableSources": [ + { + "type": 0, + "value": "The following sources are assigned to my production cost model:" + } + ], + "costModelsCanDelete": [ + { + "type": 0, + "value": "This action will delete " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " cost model from the system. This action cannot be undone" + } + ], + "costModelsCanNotDelete": [ + { + "type": 0, + "value": "The following sources are assigned to " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " cost model:" + } + ], + "costModelsDelete": [ + { + "type": 0, + "value": "Delete cost model" + } + ], + "costModelsDeleteDesc": [ + { + "type": 0, + "value": "This action will delete " + }, + { + "type": 1, + "value": "costModel" + }, + { + "type": 0, + "value": " cost model from the system. This action cannot be undone." + } + ], + "costModelsDeleteSource": [ + { + "type": 0, + "value": "You must unassign any sources before you can delete this cost model." + } + ], + "costModelsDesc": [ + { + "type": 0, + "value": "Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your sources to calculate your charges for resource usage. " + }, + { + "type": 1, + "value": "learnMore" + } + ], + "costModelsDescTooLong": [ + { + "type": 0, + "value": "Should not exceed 500 characters" + } + ], + "costModelsDetailsTitle": [ + { + "type": 0, + "value": "Cost Model Details" + } + ], + "costModelsDistributionDesc": [ + { + "type": 0, + "value": "The following is the type of metric that is set to be used when distributing costs to the project level breakdowns." + } + ], + "costModelsDistributionEdit": [ + { + "type": 0, + "value": "Edit distribution" + } + ], + "costModelsEmptyState": [ + { + "type": 0, + "value": "What is your hybrid cloud costing you?" + } + ], + "costModelsEmptyStateDesc": [ + { + "type": 0, + "value": "Create a cost model to start calculating your hybrid cloud costs using custom price lists, markups, or both. Click on the button below to begin the journey." + } + ], + "costModelsEmptyStateLearnMore": [ + { + "type": 0, + "value": "Read about setting up a cost model" + } + ], + "costModelsEnterTagDesc": [ + { + "type": 0, + "value": "Enter a tag description" + } + ], + "costModelsEnterTagKey": [ + { + "type": 0, + "value": "Enter a tag key" + } + ], + "costModelsEnterTagRate": [ + { + "type": 0, + "value": "Enter rate by tag" + } + ], + "costModelsEnterTagValue": [ + { + "type": 0, + "value": "Enter a tag value" + } + ], + "costModelsExamplesDoubleMarkup": [ + { + "type": 0, + "value": "A markup rate of (+) 100% doubles the base costs of your source(s)." + } + ], + "costModelsExamplesNoAdjust": [ + { + "type": 0, + "value": "A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your source(s)." + } + ], + "costModelsExamplesReduceSeventyfive": [ + { + "type": 0, + "value": "A discount rate of (-) 25% reduces the base costs of your source(s) to 75% of the original value." + } + ], + "costModelsExamplesReduceZero": [ + { + "type": 0, + "value": "A discount rate of (-) 100% reduces the base costs of your source(s) to 0." + } + ], + "costModelsFilterPlaceholder": [ + { + "type": 0, + "value": "Filter by name..." + } + ], + "costModelsFilterTagKey": [ + { + "type": 0, + "value": "Filter by tag key" + } + ], + "costModelsInfoTooLong": [ + { + "type": 0, + "value": "Should not exceed 100 characters" + } + ], + "costModelsLastUpdated": [ + { + "type": 0, + "value": "Last updated" + } + ], + "costModelsRateTooLong": [ + { + "type": 0, + "value": "Should not exceed 10 decimals" + } + ], + "costModelsRefreshDialog": [ + { + "type": 0, + "value": "Refresh this dialog" + } + ], + "costModelsRemoveTagLabel": [ + { + "type": 0, + "value": "Remove tag value" + } + ], + "costModelsRequiredField": [ + { + "type": 0, + "value": "This field is required" + } + ], + "costModelsRouterErrorTitle": [ + { + "type": 0, + "value": "Fail routing to cost model" + } + ], + "costModelsRouterServerError": [ + { + "type": 0, + "value": "Server error: could not get the cost model." + } + ], + "costModelsSelectMeasurement": [ + { + "type": 0, + "value": "Select Measurement" + } + ], + "costModelsSelectMetric": [ + { + "type": 0, + "value": "Select Metric" + } + ], + "costModelsSourceDelete": [ + { + "type": 0, + "value": "Unassign" + } + ], + "costModelsSourceDeleteSource": [ + { + "type": 0, + "value": "Unassign source" + } + ], + "costModelsSourceDeleteSourceDesc": [ + { + "type": 0, + "value": "This will remove the assignment of " + }, + { + "type": 1, + "value": "source" + }, + { + "type": 0, + "value": " from the " + }, + { + "type": 1, + "value": "costModel" + }, + { + "type": 0, + "value": " cost model. You can then assign the cost model to a new source." + } + ], + "costModelsSourceEmptyStateDesc": [ + { + "type": 0, + "value": "Select the source(s) you want to apply this cost model to." + } + ], + "costModelsSourceEmptyStateTitle": [ + { + "type": 0, + "value": "No sources are assigned" + } + ], + "costModelsSourceTableAriaLabel": [ + { + "type": 0, + "value": "Sources table" + } + ], + "costModelsTableAriaLabel": [ + { + "type": 0, + "value": "Cost models table" + } + ], + "costModelsTagRateTableKey": [ + { + "type": 0, + "value": "Tag key" + } + ], + "costModelsTagRateTableValue": [ + { + "type": 0, + "value": "Tag value" + } + ], + "costModelsUUIDEmptyState": [ + { + "type": 0, + "value": "Cost model can not be found" + } + ], + "costModelsUUIDEmptyStateDesc": [ + { + "type": 0, + "value": "Cost model with uuid: " + }, + { + "type": 1, + "value": "uuid" + }, + { + "type": 0, + "value": " does not exist." + } + ], + "costModelsWizardCreateCostModel": [ + { + "type": 0, + "value": "Create cost model" + } + ], + "costModelsWizardCreatePriceList": [ + { + "type": 0, + "value": "Create a price list" + } + ], + "costModelsWizardCurrencyToggleLabel": [ + { + "type": 0, + "value": "Select currency" + } + ], + "costModelsWizardEmptySourceTypeLabel": [ + { + "type": 0, + "value": "Select source type" + } + ], + "costModelsWizardEmptyStateOtherTime": [ + { + "type": 0, + "value": "You can create a price list or modify one at a later time." + } + ], + "costModelsWizardEmptyStateSkipStep": [ + { + "type": 0, + "value": "To skip this step, click the " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " button." + } + ], + "costModelsWizardEmptyStateTitle": [ + { + "type": 0, + "value": "A price list has not been created." + } + ], + "costModelsWizardGeneralInfoTitle": [ + { + "type": 0, + "value": "Enter general information" + } + ], + "costModelsWizardNoRatesAdded": [ + { + "type": 0, + "value": "No rates were added to the price list" + } + ], + "costModelsWizardOnboardAws": [ + { + "type": 0, + "value": "Amazon Web Services (AWS)" + } + ], + "costModelsWizardOnboardOcp": [ + { + "type": 0, + "value": "Red Hat OpenShift Container Platform" + } + ], + "costModelsWizardPriceListMetric": [ + { + "type": 0, + "value": "Select the metric you want to assign a price to, and specify a measurement unit and rate. You can optionally set multiple rates for particular tags." + } + ], + "costModelsWizardRateAriaLabel": [ + { + "type": 0, + "value": "Assign rate" + } + ], + "costModelsWizardReviewMarkDiscount": [ + { + "type": 0, + "value": "Markup/Discount" + } + ], + "costModelsWizardReviewStatusSubDetails": [ + { + "type": 0, + "value": "Review and confirm your cost model configuration and assignments. Click " + }, + { + "type": 1, + "value": "create" + }, + { + "type": 0, + "value": " to create the cost model, or " + }, + { + "type": 1, + "value": "back" + }, + { + "type": 0, + "value": " to revise." + } + ], + "costModelsWizardReviewStatusSubTitle": [ + { + "type": 0, + "value": "Costs for resources connected to the assigned sources will now be calculated using the newly created " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " cost model." + } + ], + "costModelsWizardReviewStatusTitle": [ + { + "type": 0, + "value": "Creation successful" + } + ], + "costModelsWizardSourceCaption": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Select from the following Amazon Web Services sources:" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Select from the following Microsoft Azure sources:" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Select from the following Google Cloud Platform sources:" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Select from the following Oracle Cloud Infrastructure sources:" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "Select from the following Red Hat OpenShift sources:" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "value" + } + ], + "costModelsWizardSourceErrorDesc": [ + { + "type": 0, + "value": "Try refreshing this step or you can skip this step (as it is optional) and assign the source to the cost model at a later time. If the problem persists, contact your organization administrator or visit our " + }, + { + "type": 1, + "value": "url" + }, + { + "type": 0, + "value": " for known outages." + } + ], + "costModelsWizardSourceErrorTitle": [ + { + "type": 0, + "value": "This step is temporarily unavailable" + } + ], + "costModelsWizardSourceSubtitle": [ + { + "type": 0, + "value": "Select one or more sources to this cost model. You can skip this step and assign the cost model to a source at a later time. A source will be unavailable for selection if a cost model is already assigned to it." + } + ], + "costModelsWizardSourceTableAriaLabel": [ + { + "type": 0, + "value": "Assign sources to cost model table" + } + ], + "costModelsWizardSourceTableCostModel": [ + { + "type": 0, + "value": "Cost model assigned" + } + ], + "costModelsWizardSourceTableDefaultCostModel": [ + { + "type": 0, + "value": "Default cost model" + } + ], + "costModelsWizardSourceTitle": [ + { + "type": 0, + "value": "Assign sources to the cost model (optional)" + } + ], + "costModelsWizardSourceWarning": [ + { + "type": 0, + "value": "This source is assigned to " + }, + { + "type": 1, + "value": "costModel" + }, + { + "type": 0, + "value": " cost model. You will have to unassigned it first" + } + ], + "costModelsWizardStepsGenInfo": [ + { + "type": 0, + "value": "Enter information" + } + ], + "costModelsWizardStepsReview": [ + { + "type": 0, + "value": "Review details" + } + ], + "costModelsWizardStepsSources": [ + { + "type": 0, + "value": "Assign a source to the cost model" + } + ], + "costModelsWizardSubTitleTable": [ + { + "type": 0, + "value": "The following is a list of rates you have set so far for this price list." + } + ], + "costModelsWizardWarningSources": [ + { + "type": 0, + "value": "Cannot assign cost model to a source that is already assigned to another one" + } + ], + "costTypeAmortized": [ + { + "type": 0, + "value": "Amortized" + } + ], + "costTypeAmortizedDesc": [ + { + "type": 0, + "value": "Recurring and/or upfront costs are distributed evenly across the month" + } + ], + "costTypeBlended": [ + { + "type": 0, + "value": "Blended" + } + ], + "costTypeBlendedDesc": [ + { + "type": 0, + "value": "Using a blended rate to calcuate cost usage" + } + ], + "costTypeLabel": [ + { + "type": 0, + "value": "Show cost as" + } + ], + "costTypeSettingsDesc": [ + { + "type": 0, + "value": "Select the preferred way of calculating upfront costs of savings plans or subscription fees. This feature is available for Amazon Web Services cost only." + } + ], + "costTypeSettingsLabel": [ + { + "type": 0, + "value": "Show cost as (Amazon Web Services only)" + } + ], + "costTypeUnblended": [ + { + "type": 0, + "value": "Unblended" + } + ], + "costTypeUnblendedDesc": [ + { + "type": 0, + "value": "Usage cost on the day you are charged" + } + ], + "cpuTitle": [ + { + "type": 0, + "value": "CPU" + } + ], + "create": [ + { + "type": 0, + "value": "Create" + } + ], + "createCostModelConfirmMsg": [ + { + "type": 0, + "value": "Are you sure you want to stop creating a cost model? All settings will be discarded." + } + ], + "createCostModelDesc": [ + { + "type": 0, + "value": "A cost model allows you to associate a price to metrics provided by your sources to charge for utilization of resources." + } + ], + "createCostModelExit": [ + { + "type": 0, + "value": "Exit cost model creation" + } + ], + "createCostModelExitYes": [ + { + "type": 0, + "value": "Yes, I want to exit" + } + ], + "createCostModelNoContinue": [ + { + "type": 0, + "value": "No, I want to continue" + } + ], + "createCostModelTitle": [ + { + "type": 0, + "value": "Create a cost model" + } + ], + "createRate": [ + { + "type": 0, + "value": "Create rate" + } + ], + "currency": [ + { + "type": 0, + "value": "Currency" + } + ], + "currencyAbbreviations": [ + { + "options": { + "billion": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " B" + } + ] + }, + "million": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " M" + } + ] + }, + "other": { + "value": [ + ] + }, + "quadrillion": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " q" + } + ] + }, + "thousand": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " K" + } + ] + }, + "trillion": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " t" + } + ] + } + }, + "type": 5, + "value": "symbol" + } + ], + "currencyCalcuationsTitle": [ + { + "type": 0, + "value": "Currency and calculations" + } + ], + "currencyDesc": [ + { + "type": 0, + "value": "Select the preferred currency view for your organization" + } + ], + "currencyOptions": [ + { + "options": { + "AUD": { + "value": [ + { + "type": 0, + "value": "AUD (A$) - Australian Dollar" + } + ] + }, + "CAD": { + "value": [ + { + "type": 0, + "value": "CAD (CA$) - Canadian Dollar" + } + ] + }, + "CHF": { + "value": [ + { + "type": 0, + "value": "CHF (CHF) - Swiss Franc" + } + ] + }, + "CNY": { + "value": [ + { + "type": 0, + "value": "CNY (CN¥) - Chinese Yuan" + } + ] + }, + "DKK": { + "value": [ + { + "type": 0, + "value": "DKK (DKK) - Danish Krone" + } + ] + }, + "EUR": { + "value": [ + { + "type": 0, + "value": "EUR (€) - Euro" + } + ] + }, + "GBP": { + "value": [ + { + "type": 0, + "value": "GBP (£) - British Pound" + } + ] + }, + "HKD": { + "value": [ + { + "type": 0, + "value": "HKD (HK$) - Hong Kong Dollar" + } + ] + }, + "JPY": { + "value": [ + { + "type": 0, + "value": "JPY (¥) - Japanese Yen" + } + ] + }, + "NOK": { + "value": [ + { + "type": 0, + "value": "NOK (NOK) - Norwegian Krone" + } + ] + }, + "NZD": { + "value": [ + { + "type": 0, + "value": "NZD (NZ$) - New Zealand Dollar" + } + ] + }, + "SEK": { + "value": [ + { + "type": 0, + "value": "SEK (SEK) - Swedish Krona" + } + ] + }, + "SGD": { + "value": [ + { + "type": 0, + "value": "SGD (SGD) - Singapore Dollar" + } + ] + }, + "USD": { + "value": [ + { + "type": 0, + "value": "USD ($) - United States Dollar" + } + ] + }, + "ZAR": { + "value": [ + { + "type": 0, + "value": "ZAR (ZAR) - South African Rand" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "units" + } + ], + "currencyUnits": [ + { + "options": { + "AUD": { + "value": [ + { + "type": 0, + "value": "A$" + } + ] + }, + "CAD": { + "value": [ + { + "type": 0, + "value": "CA$" + } + ] + }, + "CHF": { + "value": [ + { + "type": 0, + "value": "CHF" + } + ] + }, + "CNY": { + "value": [ + { + "type": 0, + "value": "CN¥" + } + ] + }, + "DKK": { + "value": [ + { + "type": 0, + "value": "DKK" + } + ] + }, + "EUR": { + "value": [ + { + "type": 0, + "value": "€" + } + ] + }, + "GBP": { + "value": [ + { + "type": 0, + "value": "£" + } + ] + }, + "HKD": { + "value": [ + { + "type": 0, + "value": "HK$" + } + ] + }, + "JPY": { + "value": [ + { + "type": 0, + "value": "¥" + } + ] + }, + "NOK": { + "value": [ + { + "type": 0, + "value": "NOK" + } + ] + }, + "NZD": { + "value": [ + { + "type": 0, + "value": "NZ$" + } + ] + }, + "SEK": { + "value": [ + { + "type": 0, + "value": "SEK" + } + ] + }, + "SGD": { + "value": [ + { + "type": 0, + "value": "SGD" + } + ] + }, + "USD": { + "value": [ + { + "type": 0, + "value": "$" + } + ] + }, + "ZAR": { + "value": [ + { + "type": 0, + "value": "ZAR" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "units" + } + ], + "current": [ + { + "type": 0, + "value": "Current" + } + ], + "currentConfiguration": [ + { + "type": 0, + "value": "Current configuration" + } + ], + "dashboardCumulativeCostComparison": [ + { + "type": 0, + "value": "Cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "dashboardDailyUsageComparison": [ + { + "type": 0, + "value": "Daily usage comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "dashboardDatabaseTitle": [ + { + "type": 0, + "value": "Database services cost" + } + ], + "dashboardNetworkTitle": [ + { + "type": 0, + "value": "Network services cost" + } + ], + "dashboardStorageTitle": [ + { + "type": 0, + "value": "Storage services usage" + } + ], + "dashboardTotalCostTooltip": [ + { + "type": 0, + "value": "This total cost is the sum of the infrastructure cost " + }, + { + "type": 1, + "value": "infrastructureCost" + }, + { + "type": 0, + "value": " and supplementary cost " + }, + { + "type": 1, + "value": "supplementaryCost" + } + ], + "dataTableAriaLabel": [ + { + "type": 0, + "value": "Details table" + } + ], + "datePickerAfterError": [ + { + "type": 0, + "value": "Date is after the allowable range" + } + ], + "datePickerBeforeError": [ + { + "type": 0, + "value": "Date is before the allowable range" + } + ], + "datePickerEndDateAriaLabel": [ + { + "type": 0, + "value": "End date" + } + ], + "datePickerStartDateAriaLabel": [ + { + "type": 0, + "value": "Start date" + } + ], + "default": [ + { + "type": 0, + "value": "Default" + } + ], + "delete": [ + { + "type": 0, + "value": "Delete" + } + ], + "description": [ + { + "type": 0, + "value": "Description" + } + ], + "detailsActionsExport": [ + { + "type": 0, + "value": "Export data" + } + ], + "detailsActionsPriceList": [ + { + "type": 0, + "value": "View all price lists" + } + ], + "detailsClustersModalTitle": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "account " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "cost category " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "cluster " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "GCP project " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "node " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "organizational unit " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "account " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "service " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "project " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "region " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "region " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "service " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "service " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "account " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "tags " + }, + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "detailsColumnManagementTitle": [ + { + "type": 0, + "value": "Manage columns" + } + ], + "detailsCostValue": [ + { + "type": 0, + "value": "Cost: " + }, + { + "type": 1, + "value": "value" + } + ], + "detailsEmptyState": [ + { + "type": 0, + "value": "Processing data to generate a list of all services that sums to a total cost..." + } + ], + "detailsMore": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " more..." + } + ], + "detailsMoreClusters": [ + { + "type": 0, + "value": ", " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " more..." + } + ], + "detailsResourceNames": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Account names" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Cost category names" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Cluster names" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "GCP project names" + } + ] + }, + "group": { + "value": [ + { + "type": 0, + "value": "Group" + } + ] + }, + "name": { + "value": [ + { + "type": 0, + "value": "Name" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Node names" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Organizational unit names" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Account names" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Service names" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Project names" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Region names" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Region names" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Service names" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Service names" + } + ] + }, + "source_type": { + "value": [ + { + "type": 0, + "value": "Source type" + } + ] + }, + "status": { + "value": [ + { + "type": 0, + "value": "Status" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Account names" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Tag names" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "detailsSummaryModalTitle": [ + { + "options": { + "account": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " accounts" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " cost categories" + } + ] + }, + "cluster": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " clusters" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " GCP projects" + } + ] + }, + "node": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " nodes" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " organizational units" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " accounts" + } + ] + }, + "product_service": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " services" + } + ] + }, + "project": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " projects" + } + ] + }, + "region": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " regions" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " regions" + } + ] + }, + "service": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " services" + } + ] + }, + "service_name": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " services" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " accounts" + } + ] + }, + "tag": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " tags" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "detailsUnusedCapacityLabel": [ + { + "type": 0, + "value": "Unused capacity" + } + ], + "detailsUnusedRequestsLabel": [ + { + "type": 0, + "value": "Unrequested capacity" + } + ], + "detailsUnusedUnits": [ + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": " (" + }, + { + "type": 1, + "value": "percentage" + }, + { + "type": 0, + "value": "% of capacity)" + } + ], + "detailsUsageCapacity": [ + { + "type": 0, + "value": "Capacity - " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + } + ], + "detailsUsageLimit": [ + { + "type": 0, + "value": "Limit - " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + } + ], + "detailsUsageRequests": [ + { + "type": 0, + "value": "Requests - " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + } + ], + "detailsUsageUsage": [ + { + "type": 0, + "value": "Usage - " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + } + ], + "detailsViewAll": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "View all accounts" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "View all cost categories" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "View all clusters" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "View all GCP projects" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "View all nodes" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "View all organizational units" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "View all accounts" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "View all services" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "View all projects" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "View all regions" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "View all regions" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "View all Services" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "View all services" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "View all accounts" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "View all tags" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "disableCategories": [ + { + "type": 0, + "value": "Disable categories" + } + ], + "disableTags": [ + { + "type": 0, + "value": "Disable tags" + } + ], + "disabled": [ + { + "type": 0, + "value": "Disabled" + } + ], + "discountMinus": [ + { + "type": 0, + "value": "Discount (-)" + } + ], + "distribute": [ + { + "type": 0, + "value": "Distribute" + } + ], + "distributeCosts": [ + { + "options": { + "false": { + "value": [ + { + "type": 0, + "value": "Do not distribute " + }, + { + "options": { + "other": { + "value": [ + ] + }, + "platform": { + "value": [ + { + "type": 0, + "value": "platform" + } + ] + }, + "worker": { + "value": [ + { + "type": 0, + "value": "worker" + } + ] + } + }, + "type": 5, + "value": "type" + }, + { + "type": 0, + "value": " unallocated capacity" + } + ] + }, + "other": { + "value": [ + ] + }, + "true": { + "value": [ + { + "type": 0, + "value": "Distribute " + }, + { + "options": { + "other": { + "value": [ + ] + }, + "platform": { + "value": [ + { + "type": 0, + "value": "platform" + } + ] + }, + "worker": { + "value": [ + { + "type": 0, + "value": "worker" + } + ] + } + }, + "type": 5, + "value": "type" + }, + { + "type": 0, + "value": " unallocated capacity" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "distributionModelDesc": [ + { + "type": 0, + "value": "This choice is for users to direct how their raw costs are distributed either by CPU or Memory on the project level breakdowns." + } + ], + "distributionType": [ + { + "type": 0, + "value": "Distribution type" + } + ], + "distributionTypeDesc": [ + { + "options": { + "cpu": { + "value": [ + { + "type": 0, + "value": "Distribute costs based on CPU usage" + } + ] + }, + "memory": { + "value": [ + { + "type": 0, + "value": "Distribute costs based on memory usage" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "type" + } + ], + "doNotDistribute": [ + { + "type": 0, + "value": "Do not distribute" + } + ], + "docsAddOcpSources": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/adding_an_openshift_container_platform_source_to_cost_management" + } + ], + "docsConfigCostCategory": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023" + } + ], + "docsConfigCostModels": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index#assembly-setting-up-cost-models" + } + ], + "docsConfigCostModelsOcp": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-ocp-cost-model_setting-up-cost-models" + } + ], + "docsConfigPlatformProjects": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023" + } + ], + "docsConfigTags": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/managing_cost_data_using_tagging/assembly-configuring-tags-and-labels-in-cost-management" + } + ], + "docsCostModelTerminology": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index#cost-model-terminology" + } + ], + "docsCostModelsDistribution": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-AWS-Azure-cost-model_setting-up-cost-models" + } + ], + "docsCostModelsMarkup": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html/using_cost_models/assembly-setting-up-cost-models#creating-an-AWS-Azure-cost-model_setting-up-cost-models" + } + ], + "docsUsingCostModels": [ + { + "type": 0, + "value": "https://access.redhat.com/documentation/en-us/cost_management_service/2023/html-single/using_cost_models/index" + } + ], + "download": [ + { + "type": 0, + "value": "Download" + } + ], + "edit": [ + { + "type": 0, + "value": "Edit" + } + ], + "editCostModel": [ + { + "type": 0, + "value": "Edit cost model" + } + ], + "editMarkup": [ + { + "type": 0, + "value": "Edit markup" + } + ], + "editMarkupOrDiscount": [ + { + "type": 0, + "value": "Edit markup or discount" + } + ], + "emptyFilterSourceStateSubtitle": [ + { + "type": 0, + "value": "Sorry, no source with the given filter was found." + } + ], + "emptyFilterStateSubtitle": [ + { + "type": 0, + "value": "Sorry, no data with the given filter was found." + } + ], + "emptyFilterStateTitle": [ + { + "type": 0, + "value": "No match found" + } + ], + "enableCategories": [ + { + "type": 0, + "value": "Enable categories" + } + ], + "enableTags": [ + { + "type": 0, + "value": "Enable tags" + } + ], + "enabled": [ + { + "type": 0, + "value": "Enabled" + } + ], + "end": [ + { + "type": 0, + "value": "End" + } + ], + "equalsSymbol": [ + { + "type": 0, + "value": "=" + } + ], + "errorStateNotAuthorizedDesc": [ + { + "type": 0, + "value": "Contact the cost management administrator to provide access to this application" + } + ], + "errorStateNotAuthorizedTitle": [ + { + "type": 0, + "value": "You don't have access to the Cost management application" + } + ], + "errorStateUnexpectedDesc": [ + { + "type": 0, + "value": "We encountered an unexpected error. Contact your administrator." + } + ], + "errorStateUnexpectedTitle": [ + { + "type": 0, + "value": "Oops!" + } + ], + "examplesTitle": [ + { + "type": 0, + "value": "Examples" + } + ], + "excludeLabel": [ + { + "type": 0, + "value": "Excludes: " + }, + { + "type": 1, + "value": "value" + } + ], + "excludeValues": [ + { + "options": { + "excludes": { + "value": [ + { + "type": 0, + "value": "excludes" + } + ] + }, + "includes": { + "value": [ + { + "type": 0, + "value": "includes" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "value" + } + ], + "expiresOn": [ + { + "type": 0, + "value": "Expires on" + } + ], + "explorerChartAriaTitle": [ + { + "type": 0, + "value": "Cost Explorer Chart" + } + ], + "explorerChartTitle": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services - Top 5 Costliest" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift - Top 5 Costliest" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure - Top 5 Costliest" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift - Top 5 Costliest" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform - Top 5 Costliest" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift - Top 5 Costliest" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud - Top 5 Costliest" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift - Top 5 Costliest" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure - Top 5 Costliest" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "All OpenShift - Top 5 Costliest" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift - Top 5 Costliest" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "value" + } + ], + "explorerDateRange": [ + { + "options": { + "current_month_to_date": { + "value": [ + { + "type": 0, + "value": "Month to date" + } + ] + }, + "custom": { + "value": [ + { + "type": 0, + "value": "Custom" + } + ] + }, + "last_ninety_days": { + "value": [ + { + "type": 0, + "value": "Last 90 days" + } + ] + }, + "last_sixty_days": { + "value": [ + { + "type": 0, + "value": "Last 60 days" + } + ] + }, + "last_thirty_days": { + "value": [ + { + "type": 0, + "value": "Last 30 days" + } + ] + }, + "other": { + "value": [ + ] + }, + "previous_month": { + "value": [ + { + "type": 0, + "value": "Previous month" + } + ] + }, + "previous_month_to_date": { + "value": [ + { + "type": 0, + "value": "Previous month and month to date" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "explorerTableAriaLabel": [ + { + "type": 0, + "value": "Cost Explorer table" + } + ], + "explorerTitle": [ + { + "type": 0, + "value": "Cost Explorer" + } + ], + "exportAggregateType": [ + { + "type": 0, + "value": "Aggregate type" + } + ], + "exportAll": [ + { + "type": 0, + "value": "Export all" + } + ], + "exportDesc": [ + { + "type": 0, + "value": "The active selections from the table plus the values here will be used to generate an export file. When the file is available, download it from the " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " view." + } + ], + "exportError": [ + { + "type": 0, + "value": "Something went wrong, please try fewer selections" + } + ], + "exportFileName": [ + { + "options": { + "account": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_accounts_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_accounts_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "aws_category": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_cost_category_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_cost_category_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "cluster": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_clusters_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_clusters_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "gcp_project": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_gcp-projects_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_gcp-projects_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "node": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_node_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_node_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "org_unit_id": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_orgs_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_orgs_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_accounts_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_accounts_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "product_service": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_services_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_services_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "project": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_projects_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_projects_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "region": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_regions_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_regions_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "resource_location": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_regions_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_regions_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "service": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_services_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_services_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "service_name": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_services_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_services_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "subscription_guid": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_accounts_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_accounts_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + }, + "tag": { + "value": [ + { + "options": { + "daily": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_tags_daily_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "monthly": { + "value": [ + { + "type": 1, + "value": "provider" + }, + { + "type": 0, + "value": "_tags_monthly_" + }, + { + "type": 1, + "value": "startDate" + }, + { + "type": 0, + "value": "_" + }, + { + "type": 1, + "value": "endDate" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "resolution" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "exportFormatType": [ + { + "options": { + "csv": { + "value": [ + { + "type": 0, + "value": "CSV" + } + ] + }, + "json": { + "value": [ + { + "type": 0, + "value": "JSON" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "value" + } + ], + "exportFormatTypeTitle": [ + { + "type": 0, + "value": "Format type" + } + ], + "exportGenerate": [ + { + "type": 0, + "value": "Generate export" + } + ], + "exportHeading": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following accounts will be exported to a .csv file." + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following cost categories will be exported to a .csv file." + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following clusters will be exported to a .csv file." + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following GCP projects will be exported to a .csv file." + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following nodes will be exported to a .csv file." + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following organizational units will be exported to a .csv file." + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following accounts will be exported to a .csv file." + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following services will be exported to a .csv file." + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following projects will be exported to a .csv file." + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following regions will be exported to a .csv file." + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Aggregates of the regions will be exported to a .csv file." + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following services will be exported to a .csv file." + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following services will be exported to a .csv file." + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following accounts will be exported to a .csv file." + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Aggregates of the following tags will be exported to a .csv file." + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "exportName": [ + { + "options": { + "account": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Account" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Account" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Account" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Account" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Account" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Account" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Account" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Account" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Account" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Account" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Account" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "aws_category": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Cost category" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Cost category" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Cost category" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Cost category" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Cost category" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Cost category" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Cost category" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Cost category" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Cost category" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Cost category" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Cost category" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "cluster": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Cluster" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Cluster" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Cluster" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Cluster" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Cluster" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Cluster" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Cluster" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Cluster" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Cluster" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Cluster" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Cluster" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "gcp_project": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by GCP Project" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by GCP Project" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by GCP Project" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by GCP Project" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by GCP Project" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by GCP Project" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by GCP Project" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by GCP Project" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by GCP Project" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by GCP Project" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by GCP Project" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "node": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Node" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Node" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Node" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Node" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Node" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Node" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Node" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Node" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Node" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Node" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Node" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "org_unit_id": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Organizational unit" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Organizational unit" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Organizational unit" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Organizational unit" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Organizational unit" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Organizational unit" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Organizational unit" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Organizational unit" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Organizational unit" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Organizational unit" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Organizational unit" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "options": { + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Account" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "product_service": { + "value": [ + { + "options": { + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Service" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "project": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Project" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Project" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Project" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Project" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Project" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Project" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Project" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Project" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Project" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Project" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Project" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "region": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Region" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Region" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Region" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Region" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Region" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Region" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Region" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Region" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Region" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Region" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Region" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "resource_location": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Region" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Region" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Region" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Region" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Region" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Region" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Region" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Region" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Region" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Region" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Region" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "service": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Service" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Service" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Service" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Service" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Service" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Service" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Service" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Service" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Service" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Service" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Service" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "service_name": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Service" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Service" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Service" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Service" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Service" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Service" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Service" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Service" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Service" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Service" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Service" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "subscription_guid": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Account" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Account" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Account" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Account" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Account" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Account" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Account" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Account" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Account" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Account" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Account" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + }, + "tag": { + "value": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services grouped by Tag" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift grouped by Tag" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure grouped by Tag" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift grouped by Tag" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform grouped by Tag" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift grouped by Tag" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud grouped by Tag" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM Cloud filtered by OpenShift grouped by Tag" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure grouped by Tag" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift grouped by Tag" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift grouped by Tag" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "provider" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "exportNameRequired": [ + { + "type": 0, + "value": "Please enter a name for the export" + } + ], + "exportNameTooLong": [ + { + "type": 0, + "value": "Should not exceed 50 characters" + } + ], + "exportResolution": [ + { + "options": { + "daily": { + "value": [ + { + "type": 0, + "value": "Daily" + } + ] + }, + "monthly": { + "value": [ + { + "type": 0, + "value": "Monthly" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "value" + } + ], + "exportSelected": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Selected accounts (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Selected cost categories (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Selected clusters (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Selected GCP projects (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Selected nodes (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Selected organizational units (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Selected accounts (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Selected services (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Selected projects (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Selected regions (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Selected regions (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Selected services (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Selected services (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Selected accounts (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Selected tags (" + }, + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": ")" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "exportTimeScope": [ + { + "options": { + "current": { + "value": [ + { + "type": 0, + "value": "Current (" + }, + { + "type": 1, + "value": "date" + }, + { + "type": 0, + "value": ")" + } + ] + }, + "other": { + "value": [ + ] + }, + "previous": { + "value": [ + { + "type": 0, + "value": "Previous (" + }, + { + "type": 1, + "value": "date" + }, + { + "type": 0, + "value": ")" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "exportTimeScopeTitle": [ + { + "type": 0, + "value": "Month" + } + ], + "exportTitle": [ + { + "type": 0, + "value": "Export" + } + ], + "exportsDesc": [ + { + "type": 0, + "value": "Exports are available for download from the time that they are generated up to 7 days later. After 7 days, the export file will be removed." + } + ], + "exportsEmptyState": [ + { + "type": 0, + "value": "To get started, close this view and select rows in the table you want to export and click the export button to start the journey." + } + ], + "exportsFailed": [ + { + "type": 0, + "value": "Could not create export file" + } + ], + "exportsFailedDesc": [ + { + "type": 0, + "value": "Something went wrong with the generation of this export file. Try exporting again." + } + ], + "exportsSuccess": [ + { + "type": 0, + "value": "Export preparing for download" + } + ], + "exportsSuccessDesc": [ + { + "type": 0, + "value": "The export is preparing for download. It will be accessible from " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " view. " + }, + { + "type": 1, + "value": "link" + } + ], + "exportsTableAriaLabel": [ + { + "type": 0, + "value": "Available exports table" + } + ], + "exportsTitle": [ + { + "type": 0, + "value": "All exports" + } + ], + "exportsUnavailable": [ + { + "type": 0, + "value": "Export cannot be generated" + } + ], + "filterByButtonAriaLabel": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Filter button for account name" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Filter button for cost category name" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Filter button for cluster name" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Filter button for GCP project name" + } + ] + }, + "name": { + "value": [ + { + "type": 0, + "value": "Filter button for name name" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Filter button for node name" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Filter button for organizational unit name" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Filter button for account name" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Filter button for service name" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Filter button for project name" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Filter button for region name" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Filter button for region name" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Filter button for service name" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Filter button for service_name name" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Filter button for account name" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Filter button for tag name" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "filterByCostCategoryKeyAriaLabel": [ + { + "type": 0, + "value": "Cost category keys" + } + ], + "filterByCostCategoryValueAriaLabel": [ + { + "type": 0, + "value": "Cost category values" + } + ], + "filterByCostCategoryValueButtonAriaLabel": [ + { + "type": 0, + "value": "Filter button for cost category value" + } + ], + "filterByInputAriaLabel": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Input for account name" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Input for cost category name" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Input for cluster name" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Input for GCP project name" + } + ] + }, + "name": { + "value": [ + { + "type": 0, + "value": "Input for name" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Input for node name" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Input for organizational unit name" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Input for account name" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Input for service_name" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Input for project name" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Input for region name" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Input for region name" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Input for service name" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Input for service_name" + } + ] + }, + "status": { + "value": [ + { + "type": 0, + "value": "Input for status value" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Input for account name" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Input for tag name" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "filterByOrgUnitAriaLabel": [ + { + "type": 0, + "value": "Organizational units" + } + ], + "filterByOrgUnitPlaceholder": [ + { + "type": 0, + "value": "Choose unit" + } + ], + "filterByPlaceholder": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Filter by account" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Filter by cost category" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Filter by cluster" + } + ] + }, + "container": { + "value": [ + { + "type": 0, + "value": "Filter by container" + } + ] + }, + "description": { + "value": [ + { + "type": 0, + "value": "Filter by description" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "Filter by GCP project" + } + ] + }, + "group": { + "value": [ + { + "type": 0, + "value": "Filter by group" + } + ] + }, + "name": { + "value": [ + { + "type": 0, + "value": "Filter by name" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Filter by node" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Filter by organizational unit" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Filter by account" + } + ] + }, + "persistent_volume_claim": { + "value": [ + { + "type": 0, + "value": "Filter by persistent volume claim" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Filter by service" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Filter by project" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Filter by region" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Filter by region" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Filter by service" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Filter by service" + } + ] + }, + "source_type": { + "value": [ + { + "type": 0, + "value": "Filter by source type" + } + ] + }, + "status": { + "value": [ + { + "type": 0, + "value": "Filter by status" + } + ] + }, + "storage_class": { + "value": [ + { + "type": 0, + "value": "Filter by StorageClass" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Filter by account" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Filter by tag" + } + ] + }, + "workload": { + "value": [ + { + "type": 0, + "value": "Filter by workload name" + } + ] + }, + "workload_type": { + "value": [ + { + "type": 0, + "value": "Filter by workload type" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "filterByTagKeyAriaLabel": [ + { + "type": 0, + "value": "Tag keys" + } + ], + "filterByTagValueAriaLabel": [ + { + "type": 0, + "value": "Tag values" + } + ], + "filterByTagValueButtonAriaLabel": [ + { + "type": 0, + "value": "Filter button for tag value" + } + ], + "filterByValuePlaceholder": [ + { + "type": 0, + "value": "Filter by value" + } + ], + "filterByValues": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Account" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Cost category" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Cluster" + } + ] + }, + "container": { + "value": [ + { + "type": 0, + "value": "Container" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "GCP project" + } + ] + }, + "group": { + "value": [ + { + "type": 0, + "value": "Group" + } + ] + }, + "name": { + "value": [ + { + "type": 0, + "value": "Name" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Node" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Organizational unit" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Account" + } + ] + }, + "persistent_volume_claim": { + "value": [ + { + "type": 0, + "value": "Persistent volume claim" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Service" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Project" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Region" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Region" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Service" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Service" + } + ] + }, + "source_type": { + "value": [ + { + "type": 0, + "value": "Source type" + } + ] + }, + "status": { + "value": [ + { + "type": 0, + "value": "Status" + } + ] + }, + "storage_class": { + "value": [ + { + "type": 0, + "value": "StorageClass" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Account" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Tag" + } + ] + }, + "workload": { + "value": [ + { + "type": 0, + "value": "Workload name" + } + ] + }, + "workload_type": { + "value": [ + { + "type": 0, + "value": "Workload type" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "filterByValuesAriaLabel": [ + { + "type": 0, + "value": "Values" + } + ], + "forDate": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " for " + }, + { + "type": 1, + "value": "dateRange" + } + ], + "gcp": [ + { + "type": 0, + "value": "Google Cloud Platform" + } + ], + "gcpComputeTitle": [ + { + "type": 0, + "value": "Compute instances usage" + } + ], + "gcpCostTitle": [ + { + "type": 0, + "value": "Google Cloud Platform Services cost" + } + ], + "gcpCostTrendTitle": [ + { + "type": 0, + "value": "Google Cloud Platform Services cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "gcpDailyCostTrendTitle": [ + { + "type": 0, + "value": "Google Cloud Platform Services daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "gcpDesc": [ + { + "type": 0, + "value": "Raw cost from Google Cloud Platform infrastructure." + } + ], + "gcpDetailsTitle": [ + { + "type": 0, + "value": "Google Cloud Platform Details" + } + ], + "groupByAll": [ + { + "options": { + "account": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "aws_category": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All cost category" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All cost categories" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "cluster": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All cluster" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All clusters" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "gcp_project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All GCP project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All GCP projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "node": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All node" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All nodes" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "org_unit_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All organizational unit" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All organizational units" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "product_service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "region": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "resource_location": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service_name": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "subscription_guid": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "tag": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "All tag" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "All tags" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "groupByLabel": [ + { + "type": 0, + "value": "Group by" + } + ], + "groupByTop": [ + { + "options": { + "account": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "aws_category": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top cost category" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top cost categories" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "cluster": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top cluster" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top clusters" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "gcp_project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top GCP project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top GCP projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "node": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top node" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top node" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "org_unit_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top organizational unit" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top organizational units" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "product_service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "region": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "resource_location": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service_name": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "subscription_guid": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "tag": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Top tag" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Top tags" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "groupByValueNames": [ + { + "options": { + "account": { + "value": [ + { + "type": 0, + "value": "Account names" + } + ] + }, + "aws_category": { + "value": [ + { + "type": 0, + "value": "Cost category names" + } + ] + }, + "cluster": { + "value": [ + { + "type": 0, + "value": "Cluster names" + } + ] + }, + "gcp_project": { + "value": [ + { + "type": 0, + "value": "GCP project names" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Node names" + } + ] + }, + "org_unit_id": { + "value": [ + { + "type": 0, + "value": "Organizational unit names" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "type": 0, + "value": "Account names" + } + ] + }, + "product_service": { + "value": [ + { + "type": 0, + "value": "Service names" + } + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Project names" + } + ] + }, + "region": { + "value": [ + { + "type": 0, + "value": "Region names" + } + ] + }, + "resource_location": { + "value": [ + { + "type": 0, + "value": "Region names" + } + ] + }, + "service": { + "value": [ + { + "type": 0, + "value": "Service names" + } + ] + }, + "service_name": { + "value": [ + { + "type": 0, + "value": "Service names" + } + ] + }, + "subscription_guid": { + "value": [ + { + "type": 0, + "value": "Account names" + } + ] + }, + "tag": { + "value": [ + { + "type": 0, + "value": "Tag names" + } + ] + } + }, + "type": 5, + "value": "groupBy" + } + ], + "groupByValues": [ + { + "options": { + "account": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "aws_category": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "cost category" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "cost categories" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "cluster": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "cluster" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "clusters" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "gcp_project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "GCP project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "GCP projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "node": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "node" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "node" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "org_unit_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "organizational unit" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "organizational units" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "product_service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "region": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "resource_location": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service_name": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "subscription_guid": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "tag": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "tag" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "tags" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "groupByValuesTitleCase": [ + { + "options": { + "account": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "aws_category": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Cost category" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Cost categories" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "cluster": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Cluster" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Clusters" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "gcp_project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "GCP project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "GCP projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "node": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Node" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Node" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "org_unit_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Organizational unit" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Organizational units" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [ + ] + }, + "payer_tenant_id": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "product_service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "project": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Project" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Projects" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "region": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "resource_location": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Region" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Regions" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "service_name": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Service" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Services" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "subscription_guid": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Account" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Accounts" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "tag": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Tag" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Tags" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "historicalChartCostLabel": [ + { + "type": 0, + "value": "Cost (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "historicalChartDayOfMonthLabel": [ + { + "type": 0, + "value": "Day of Month" + } + ], + "historicalChartTitle": [ + { + "options": { + "cost": { + "value": [ + { + "type": 0, + "value": "Cost comparison" + } + ] + }, + "cpu": { + "value": [ + { + "type": 0, + "value": "CPU usage, request, and limit comparison" + } + ] + }, + "instance_type": { + "value": [ + { + "type": 0, + "value": "Compute usage comparison" + } + ] + }, + "memory": { + "value": [ + { + "type": 0, + "value": "Memory usage, request, and limit comparison" + } + ] + }, + "modal": { + "value": [ + { + "type": 1, + "value": "name" + }, + { + "type": 0, + "value": " daily usage comparison" + } + ] + }, + "other": { + "value": [ + ] + }, + "storage": { + "value": [ + { + "type": 0, + "value": "Storage usage comparison" + } + ] + }, + "virtual_machine": { + "value": [ + { + "type": 0, + "value": "Virtual machine usage comparison" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "historicalChartUsageLabel": [ + { + "options": { + "instance_type": { + "value": [ + { + "type": 0, + "value": "hrs" + } + ] + }, + "other": { + "value": [ + ] + }, + "storage": { + "value": [ + { + "type": 0, + "value": "gb-mo" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "ibm": [ + { + "type": 0, + "value": "IBM Cloud" + } + ], + "ibmComputeTitle": [ + { + "type": 0, + "value": "Compute instances usage" + } + ], + "ibmCostTitle": [ + { + "type": 0, + "value": "IBM Cloud Services cost" + } + ], + "ibmCostTrendTitle": [ + { + "type": 0, + "value": "IBM Cloud Services cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ibmDailyCostTrendTitle": [ + { + "type": 0, + "value": "IBM Cloud Services daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ibmDesc": [ + { + "type": 0, + "value": "Raw cost from IBM Cloud infrastructure." + } + ], + "ibmDetailsTitle": [ + { + "type": 0, + "value": "IBM Cloud Details" + } + ], + "inactiveSourcesGoTo": [ + { + "type": 0, + "value": "Go to Sources for more information" + } + ], + "inactiveSourcesTitle": [ + { + "type": 0, + "value": "A problem was detected with " + }, + { + "type": 1, + "value": "value" + } + ], + "inactiveSourcesTitleMultiplier": [ + { + "type": 0, + "value": "A problem was detected with the following sources" + } + ], + "infrastructure": [ + { + "type": 0, + "value": "Infrastructure" + } + ], + "lastProcessed": [ + { + "type": 0, + "value": "Last processed" + } + ], + "learnMore": [ + { + "type": 0, + "value": "Learn more" + } + ], + "limits": [ + { + "type": 0, + "value": "Limits" + } + ], + "loadingStateDesc": [ + { + "type": 0, + "value": "Searching for your sources. Do not refresh the browser" + } + ], + "loadingStateTitle": [ + { + "type": 0, + "value": "Looking for sources..." + } + ], + "maintenanceEmptyStateDesc": [ + { + "type": 0, + "value": "Cost Management is currently undergoing scheduled maintenance and will be unavailable from 13:00 - 19:00 UTC (09:00 AM - 03:00 PM EDT)." + } + ], + "maintenanceEmptyStateInfo": [ + { + "type": 0, + "value": "For more information visit " + }, + { + "type": 1, + "value": "url" + } + ], + "maintenanceEmptyStateThanks": [ + { + "type": 0, + "value": "We will be back soon. Thank you for your patience!" + } + ], + "manageColumnsAriaLabel": [ + { + "type": 0, + "value": "Table column management" + } + ], + "manageColumnsDesc": [ + { + "type": 0, + "value": "Selected categories will be displayed in the table" + } + ], + "manageColumnsTitle": [ + { + "type": 0, + "value": "Manage columns" + } + ], + "markupDesc": [ + { + "type": 0, + "value": "The portion of cost calculated by applying markup or discount to infrastructure raw cost in the cost management application" + } + ], + "markupOrDiscount": [ + { + "type": 0, + "value": "Markup or Discount" + } + ], + "markupOrDiscountDesc": [ + { + "type": 0, + "value": "This Percentage is applied to raw cost calculations by multiplying the cost with this percentage. Costs calculated from price list rates will not be effected." + } + ], + "markupOrDiscountModalDesc": [ + { + "type": 0, + "value": "Use markup/discount to manipulate how the raw costs are being calculated for your sources. Note, costs calculated from price list rates will not be affected by this." + } + ], + "markupOrDiscountNumber": [ + { + "type": 0, + "value": "Markup or discount must be a number" + } + ], + "markupOrDiscountTooLong": [ + { + "type": 0, + "value": "Should not exceed 10 decimals" + } + ], + "markupPlus": [ + { + "type": 0, + "value": "Markup (+)" + } + ], + "markupTitle": [ + { + "type": 0, + "value": "Markup" + } + ], + "measurement": [ + { + "type": 0, + "value": "Measurement" + } + ], + "measurementPlaceholder": [ + { + "type": 0, + "value": "Filter by measurements" + } + ], + "measurementValues": [ + { + "options": { + "count": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Count" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Count (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "effective_usage": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Request" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Effective-usage (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [ + ] + }, + "request": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Request" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Request (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "usage": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Usage" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Usage (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "measurementValuesDesc": [ + { + "options": { + "count": { + "value": [ + { + "options": { + "cluster_month": { + "value": [ + { + "type": 0, + "value": "The distinct number of clusters identified during the month" + } + ] + }, + "node_month": { + "value": [ + { + "type": 0, + "value": "The distinct number of nodes identified during the month" + } + ] + }, + "other": { + "value": [ + ] + }, + "pvc_month": { + "value": [ + { + "type": 0, + "value": "The distinct number of volume claims identified during the month" + } + ] + } + }, + "type": 5, + "value": "units" + } + ] + }, + "effective_usage": { + "value": [ + { + "type": 0, + "value": "The greater of usage and request each hour" + } + ] + }, + "other": { + "value": [ + ] + }, + "request": { + "value": [ + { + "type": 0, + "value": "The pod resources requested, as reported by OpenShift" + } + ] + }, + "usage": { + "value": [ + { + "type": 0, + "value": "The pod resources used, as reported by OpenShift" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "memoryTitle": [ + { + "type": 0, + "value": "Memory" + } + ], + "metric": [ + { + "type": 0, + "value": "Metric" + } + ], + "metricPlaceholder": [ + { + "type": 0, + "value": "Filter by metrics" + } + ], + "metricValues": [ + { + "options": { + "cluster": { + "value": [ + { + "type": 0, + "value": "Cluster" + } + ] + }, + "cpu": { + "value": [ + { + "type": 0, + "value": "CPU" + } + ] + }, + "memory": { + "value": [ + { + "type": 0, + "value": "Memory" + } + ] + }, + "node": { + "value": [ + { + "type": 0, + "value": "Node" + } + ] + }, + "other": { + "value": [ + ] + }, + "persistent_volume_claims": { + "value": [ + { + "type": 0, + "value": "Persistent volume claims" + } + ] + }, + "storage": { + "value": [ + { + "type": 0, + "value": "Storage" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "monthOverMonthChange": [ + { + "type": 0, + "value": "Month over month change" + } + ], + "names": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "Name" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "Names" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "next": [ + { + "type": 0, + "value": "next" + } + ], + "no": [ + { + "type": 0, + "value": "No" + } + ], + "noDataForDate": [ + { + "type": 0, + "value": "No data available for " + }, + { + "type": 1, + "value": "dateRange" + } + ], + "noDataStateDesc": [ + { + "type": 0, + "value": "We have detected a source, but we are not done processing the incoming data. The time to process could take up to 24 hours. Try refreshing the page at a later time." + } + ], + "noDataStateRefresh": [ + { + "type": 0, + "value": "Refresh this page" + } + ], + "noDataStateTitle": [ + { + "type": 0, + "value": "Still processing the data" + } + ], + "noExportsStateTitle": [ + { + "type": 0, + "value": "There are no export files available" + } + ], + "noOptimizationsDesc": [ + { + "type": 0, + "value": "Resource Optimization is now available in preview for select customers. If your organization wants to participate, tell us through the Feedback button, which is purple and located on the right. Otherwise, there is not enough data available to generate an optimization." + } + ], + "noOptimizationsTitle": [ + { + "type": 0, + "value": "No optimizations available" + } + ], + "noProvidersStateAwsDesc": [ + { + "type": 0, + "value": "Add an Amazon Web Services account to see a total cost breakdown of your spend by accounts, organizational units, services, regions, or tags." + } + ], + "noProvidersStateAwsTitle": [ + { + "type": 0, + "value": "Track your Amazon Web Services spending!" + } + ], + "noProvidersStateAzureDesc": [ + { + "type": 0, + "value": "Add a Microsoft Azure account to see a total cost breakdown of your spend by accounts, services, regions, or tags." + } + ], + "noProvidersStateAzureTitle": [ + { + "type": 0, + "value": "Track your Microsoft Azure spending!" + } + ], + "noProvidersStateGcpDesc": [ + { + "type": 0, + "value": "Add a Google Cloud Platform account to see a total cost breakdown of your spend by accounts, services, regions, or tags." + } + ], + "noProvidersStateGcpTitle": [ + { + "type": 0, + "value": "Track your Google Cloud Platform spending!" + } + ], + "noProvidersStateGetStarted": [ + { + "type": 0, + "value": "Get started with Sources" + } + ], + "noProvidersStateIbmDesc": [ + { + "type": 0, + "value": "Add an IBM Cloud account to see a total cost breakdown of your spend by accounts, services, regions, or tags." + } + ], + "noProvidersStateIbmTitle": [ + { + "type": 0, + "value": "Track your IBM Cloud spending!" + } + ], + "noProvidersStateOcpAddSources": [ + { + "type": 0, + "value": "Add an OpenShift cluster to Cost Management" + } + ], + "noProvidersStateOcpDesc": [ + { + "type": 0, + "value": "Add an OpenShift Container Platform cluster to see a total cost breakdown of your pods by cluster, node, project, or labels." + } + ], + "noProvidersStateOcpTitle": [ + { + "type": 0, + "value": "Track your OpenShift spending!" + } + ], + "noProvidersStateOverviewDesc": [ + { + "type": 0, + "value": "Add a source, like an OpenShift Container Platform cluster or a cloud services account, to see a total cost breakdown as well as usage information like instance counts and storage." + } + ], + "noProvidersStateOverviewTitle": [ + { + "type": 0, + "value": "Track your spending!" + } + ], + "noResultsFound": [ + { + "type": 0, + "value": "No results found" + } + ], + "notAuthorizedStateAws": [ + { + "type": 0, + "value": "Amazon Web Services in Cost Management" + } + ], + "notAuthorizedStateAzure": [ + { + "type": 0, + "value": "Microsoft Azure in Cost Management" + } + ], + "notAuthorizedStateCostModels": [ + { + "type": 0, + "value": "Cost Models in Cost Management" + } + ], + "notAuthorizedStateGcp": [ + { + "type": 0, + "value": "Google Cloud Platform in Cost Management" + } + ], + "notAuthorizedStateIbm": [ + { + "type": 0, + "value": "IBM Cloud in Cost Management" + } + ], + "notAuthorizedStateOci": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure in Cost Management" + } + ], + "notAuthorizedStateOcp": [ + { + "type": 0, + "value": "OpenShift in Cost Management" + } + ], + "notAuthorizedStateOptimizations": [ + { + "type": 0, + "value": "Optimizations in Cost Management" + } + ], + "notAuthorizedStateRhel": [ + { + "type": 0, + "value": "RHEL in Cost Management" + } + ], + "notAuthorizedStateSettings": [ + { + "type": 0, + "value": "Settings in Cost Management" + } + ], + "notificationsAlertTitle": [ + { + "type": 0, + "value": "Duration based notifications" + } + ], + "oci": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure" + } + ], + "ociComputeTitle": [ + { + "type": 0, + "value": "Virtual machines usage" + } + ], + "ociCostTrendTitle": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ociDailyCostTrendTitle": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ociDashboardCostTitle": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure cost" + } + ], + "ociDesc": [ + { + "type": 0, + "value": "Raw cost from Oracle Cloud Infrastructure." + } + ], + "ociDetailsTitle": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure Details" + } + ], + "ocpCloudDashboardComputeTitle": [ + { + "type": 0, + "value": "Compute services usage" + } + ], + "ocpCloudDashboardCostTitle": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift cost" + } + ], + "ocpCloudDashboardCostTrendTitle": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ocpCloudDashboardDailyCostTrendTitle": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ocpCpuUsageAndRequests": [ + { + "type": 0, + "value": "CPU usage and requests" + } + ], + "ocpDailyUsageAndRequestComparison": [ + { + "type": 0, + "value": "Daily usage and requests comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ocpDashboardCostTitle": [ + { + "type": 0, + "value": "All OpenShift cost" + } + ], + "ocpDashboardCostTrendTitle": [ + { + "type": 0, + "value": "All OpenShift cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ocpDashboardDailyCostTitle": [ + { + "type": 0, + "value": "All OpenShift daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "ocpDetailsInfrastructureCost": [ + { + "type": 0, + "value": "Infrastructure cost" + } + ], + "ocpDetailsInfrastructureCostDesc": [ + { + "type": 0, + "value": "The cost based on raw usage data from the underlying infrastructure." + } + ], + "ocpDetailsSupplementaryCost": [ + { + "type": 0, + "value": "Supplementary cost" + } + ], + "ocpDetailsSupplementaryCostDesc": [ + { + "type": 0, + "value": "All costs not directly attributed to the infrastructure. These costs are determined by applying a price list within a cost model to OpenShift cluster metrics." + } + ], + "ocpDetailsTitle": [ + { + "type": 0, + "value": "OpenShift Details" + } + ], + "ocpMemoryUsageAndRequests": [ + { + "type": 0, + "value": "Memory usage and requests" + } + ], + "ocpVolumeUsageAndRequests": [ + { + "type": 0, + "value": "Volume usage and requests" + } + ], + "openShift": [ + { + "type": 0, + "value": "OpenShift" + } + ], + "openShiftCloudInfrastructure": [ + { + "type": 0, + "value": "OpenShift cloud infrastructure" + } + ], + "openShiftCloudInfrastructureDesc": [ + { + "type": 0, + "value": "Infrastructure cost attributed to OpenShift Container Platform, based on a subset of cloud cost data." + } + ], + "openShiftDesc": [ + { + "type": 0, + "value": "Total cost for OpenShift Container Platform, comprising the infrastructure cost and cost calculated from metrics." + } + ], + "optimizations": [ + { + "type": 0, + "value": "Optimizations" + } + ], + "optimizationsDetails": [ + { + "offset": 0, + "options": { + "=0": { + "value": [ + { + "type": 0, + "value": "No optimizations" + } + ] + }, + "=1": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " optimization" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " optimizations" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "optimizationsInfo": [ + { + "type": 0, + "value": "Assess and monitor your usage so you can optimize your OpenShift resources." + } + ], + "optimizationsInfoArialLabel": [ + { + "type": 0, + "value": "A description of optimizations" + } + ], + "optimizationsInfoButtonArialLabel": [ + { + "type": 0, + "value": "A dialog with a description of optimizations" + } + ], + "optimizationsLoadingStateDesc": [ + { + "type": 0, + "value": "Searching for your optimizations. Do not refresh the browser" + } + ], + "optimizationsLoadingStateTitle": [ + { + "type": 0, + "value": "Looking for optimizations..." + } + ], + "optimizationsLongTerm": [ + { + "type": 0, + "value": "Last 15 days" + } + ], + "optimizationsMediumTerm": [ + { + "type": 0, + "value": "Last 7 days" + } + ], + "optimizationsNames": [ + { + "options": { + "cluster": { + "value": [ + { + "type": 0, + "value": "Cluster names" + } + ] + }, + "container": { + "value": [ + { + "type": 0, + "value": "Container names" + } + ] + }, + "last_reported": { + "value": [ + { + "type": 0, + "value": "Last reported" + } + ] + }, + "other": { + "value": [ + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Project names" + } + ] + }, + "workload": { + "value": [ + { + "type": 0, + "value": "Workload names" + } + ] + }, + "workload_type": { + "value": [ + { + "type": 0, + "value": "Workload types" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "optimizationsPerspective": [ + { + "type": 0, + "value": "View optimizations based on" + } + ], + "optimizationsShortTerm": [ + { + "type": 0, + "value": "Last 24 hrs" + } + ], + "optimizationsTableAriaLabel": [ + { + "type": 0, + "value": "Optimizations table" + } + ], + "optimizationsValue": [ + { + "type": 1, + "value": "value" + }, + { + "type": 1, + "value": "units" + } + ], + "optimizationsValues": [ + { + "options": { + "cluster": { + "value": [ + { + "type": 0, + "value": "Cluster name" + } + ] + }, + "container": { + "value": [ + { + "type": 0, + "value": "Container name" + } + ] + }, + "last_reported": { + "value": [ + { + "type": 0, + "value": "Last reported" + } + ] + }, + "other": { + "value": [ + ] + }, + "project": { + "value": [ + { + "type": 0, + "value": "Project name" + } + ] + }, + "workload": { + "value": [ + { + "type": 0, + "value": "Workload name" + } + ] + }, + "workload_type": { + "value": [ + { + "type": 0, + "value": "Workload type" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "optimizationsViewAll": [ + { + "type": 0, + "value": "View all optimizations for this project" + } + ], + "optimizationsViewAllDisabled": [ + { + "type": 0, + "value": "This project has not reported data this month." + } + ], + "overhead": [ + { + "type": 0, + "value": "Overhead" + } + ], + "overheadDesc": [ + { + "type": 0, + "value": "Includes distributed costs" + } + ], + "overviewInfoArialLabel": [ + { + "type": 0, + "value": "A description of perspectives" + } + ], + "overviewInfoButtonArialLabel": [ + { + "type": 0, + "value": "A dialog with a description of perspectives" + } + ], + "overviewTitle": [ + { + "type": 0, + "value": "Cost Management Overview" + } + ], + "pageTitleAws": [ + { + "type": 0, + "value": "Amazon Web Services - Cost Management | OpenShift" + } + ], + "pageTitleAzure": [ + { + "type": 0, + "value": "Microsoft Azure - Cost Management | OpenShift" + } + ], + "pageTitleCostModels": [ + { + "type": 0, + "value": "Cost Models - Cost Management | OpenShift" + } + ], + "pageTitleDefault": [ + { + "type": 0, + "value": "Cost Management | OpenShift" + } + ], + "pageTitleExplorer": [ + { + "type": 0, + "value": "Cost Explorer - Cost Management | OpenShift" + } + ], + "pageTitleGcp": [ + { + "type": 0, + "value": "Google Cloud Platform - Cost Management | OpenShift" + } + ], + "pageTitleIbm": [ + { + "type": 0, + "value": "IBM Cloud - Cost Management | OpenShift" + } + ], + "pageTitleOci": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure - Cost Management | OpenShift" + } + ], + "pageTitleOcp": [ + { + "type": 0, + "value": "OpenShift - Cost Management | OpenShift" + } + ], + "pageTitleOptimizations": [ + { + "type": 0, + "value": "Optimizations - Cost Management | OpenShift" + } + ], + "pageTitleOverview": [ + { + "type": 0, + "value": "Overview - Cost Management | OpenShift" + } + ], + "pageTitleRhel": [ + { + "type": 0, + "value": "RHEL - Cost Management | OpenShift" + } + ], + "pageTitleSettings": [ + { + "type": 0, + "value": "Settings - Cost Management | OpenShift" + } + ], + "paginationTitle": [ + { + "options": { + "bottom": { + "value": [ + { + "type": 1, + "value": "title" + }, + { + "type": 0, + "value": " bottom pagination" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "title" + }, + { + "type": 0, + "value": " pagination" + } + ] + }, + "top": { + "value": [ + { + "type": 1, + "value": "title" + }, + { + "type": 0, + "value": " top pagination" + } + ] + } + }, + "type": 5, + "value": "placement" + } + ], + "percent": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " %" + } + ], + "percentOfCost": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " % of cost" + } + ], + "percentPlus": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "+" + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": "%" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": "%" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "percentSymbol": [ + { + "type": 0, + "value": "%" + } + ], + "percentTotalCost": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": " (" + }, + { + "type": 1, + "value": "percent" + }, + { + "type": 0, + "value": " %)" + } + ], + "perspective": [ + { + "type": 0, + "value": "Perspective" + } + ], + "perspectiveValues": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services" + } + ] + }, + "aws_ocp": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services filtered by OpenShift" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure" + } + ] + }, + "azure_ocp": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure filtered by OpenShift" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform" + } + ] + }, + "gcp_ocp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform filtered by OpenShift" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud" + } + ] + }, + "ibm_ocp": { + "value": [ + { + "type": 0, + "value": "IBM filtered by OpenShift" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "All OpenShift" + } + ] + }, + "ocp_cloud": { + "value": [ + { + "type": 0, + "value": "All cloud filtered by OpenShift" + } + ] + }, + "other": { + "value": [ + ] + }, + "rhel": { + "value": [ + { + "type": 0, + "value": "All RHEL" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "platfomProjectaDesc": [ + { + "type": 0, + "value": "Associate additional projects with OpenShift Platform project costs to charge for utilization of resources. Changes will be reflected in this month's cost calculations within 24 hrs. " + }, + { + "type": 1, + "value": "learnMore" + } + ], + "platform": [ + { + "type": 0, + "value": "Platform" + } + ], + "platformDesc": [ + { + "type": 0, + "value": "Distribute the cost of running the OpenShift services to projects" + } + ], + "platformDistributed": [ + { + "type": 0, + "value": "Platform distributed" + } + ], + "platformProjectsTitle": [ + { + "type": 0, + "value": "Platform projects" + } + ], + "priceList": [ + { + "type": 0, + "value": "Price list" + } + ], + "priceListAddRate": [ + { + "type": 0, + "value": "Add rate" + } + ], + "priceListDeleteRate": [ + { + "type": 0, + "value": "Delete rate" + } + ], + "priceListDeleteRateDesc": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 0, + "value": "This action will remove " + }, + { + "type": 1, + "value": "metric" + }, + { + "type": 0, + "value": " rate from " + }, + { + "type": 1, + "value": "costModel" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "This action will remove " + }, + { + "type": 1, + "value": "metric" + }, + { + "type": 0, + "value": " rate from " + }, + { + "type": 1, + "value": "costModel" + }, + { + "type": 0, + "value": ", which is assigned to the following sources:" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "priceListDuplicate": [ + { + "type": 0, + "value": "This tag key is already in use" + } + ], + "priceListEditRate": [ + { + "type": 0, + "value": "Edit rate" + } + ], + "priceListEmptyRate": [ + { + "type": 0, + "value": "No rates are set" + } + ], + "priceListEmptyRateDesc": [ + { + "type": 0, + "value": "To add rates to the price list, click on the \"Add\" rate button above." + } + ], + "priceListNumberRate": [ + { + "type": 0, + "value": "Rate must be a number" + } + ], + "priceListPosNumberRate": [ + { + "type": 0, + "value": "Rate must be a positive number" + } + ], + "pvcTitle": [ + { + "type": 0, + "value": "Persistent Volume Claims" + } + ], + "rate": [ + { + "type": 0, + "value": "Rate" + } + ], + "rawCostDesc": [ + { + "type": 0, + "value": "The costs reported by a cloud provider without any cost model calculations applied." + } + ], + "rawCostTitle": [ + { + "type": 0, + "value": "Raw cost" + } + ], + "rbacErrorDesc": [ + { + "type": 0, + "value": "There was a problem receiving user permissions. Refreshing this page may fix it. If it does not, please contact your admin." + } + ], + "rbacErrorTitle": [ + { + "type": 0, + "value": "Failed to get RBAC information" + } + ], + "readOnly": [ + { + "type": 0, + "value": "Read only" + } + ], + "readOnlyPermissions": [ + { + "type": 0, + "value": "You have read only permissions" + } + ], + "recommended": [ + { + "type": 0, + "value": "Recommended" + } + ], + "recommendedConfiguration": [ + { + "type": 0, + "value": "Recommended configuration" + } + ], + "redHatStatusUrl": [ + { + "type": 0, + "value": "https://status.redhat.com" + } + ], + "remove": [ + { + "type": 0, + "value": "Remove" + } + ], + "removeProjects": [ + { + "type": 0, + "value": "Remove projects" + } + ], + "requestedCapacity": [ + { + "type": 0, + "value": "Requested capacity" + } + ], + "requestedCapacityValue": [ + { + "type": 0, + "value": "Requested capacity - " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + } + ], + "requests": [ + { + "type": 0, + "value": "Requests" + } + ], + "rhel": [ + { + "type": 0, + "value": "RHEL" + } + ], + "rhelCpuUsageAndRequests": [ + { + "type": 0, + "value": "CPU usage and requests" + } + ], + "rhelDailyUsageAndRequestComparison": [ + { + "type": 0, + "value": "Daily usage and requests comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "rhelDashboardCostTitle": [ + { + "type": 0, + "value": "All RHEL cost" + } + ], + "rhelDashboardCostTrendTitle": [ + { + "type": 0, + "value": "All RHEL cumulative cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "rhelDashboardDailyCostTitle": [ + { + "type": 0, + "value": "All RHEL daily cost comparison (" + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": ")" + } + ], + "rhelDesc": [ + { + "type": 0, + "value": "Total cost for Red Hat Enterprise Linux, comprising the infrastructure cost and cost calculated from metrics." + } + ], + "rhelDetailsInfrastructureCost": [ + { + "type": 0, + "value": "Infrastructure cost" + } + ], + "rhelDetailsSupplementaryCost": [ + { + "type": 0, + "value": "Supplementary cost" + } + ], + "rhelDetailsTitle": [ + { + "type": 0, + "value": "RHEL Details" + } + ], + "rhelMemoryUsageAndRequests": [ + { + "type": 0, + "value": "Memory usage and requests" + } + ], + "rhelVolumeUsageAndRequests": [ + { + "type": 0, + "value": "Volume usage and requests" + } + ], + "save": [ + { + "type": 0, + "value": "Save" + } + ], + "select": [ + { + "type": 0, + "value": "Select..." + } + ], + "selectAll": [ + { + "type": 0, + "value": "Select all" + } + ], + "selectCategories": [ + { + "type": 0, + "value": "Select categories to enable or disable" + } + ], + "selectRow": [ + { + "type": 0, + "value": "Select row " + }, + { + "type": 1, + "value": "value" + } + ], + "selectTags": [ + { + "type": 0, + "value": "Select tags to enable or disable" + } + ], + "selectableTableAriaLabel": [ + { + "type": 0, + "value": "Selectable table" + } + ], + "selectableTableHeaderAriaLabel": [ + { + "type": 0, + "value": "Select to open the optimizations drawer" + } + ], + "selectableTableRowAriaLabel": [ + { + "type": 0, + "value": "Selectable table row" + } + ], + "selected": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " selected" + } + ], + "settingsErrorDesc": [ + { + "type": 0, + "value": "Failed to update settings" + } + ], + "settingsErrorTitle": [ + { + "type": 0, + "value": "Unable to save application settings" + } + ], + "settingsSuccessChanges": [ + { + "type": 0, + "value": "Changes will be reflected in report summarizations within 24 hours" + } + ], + "settingsSuccessCostCategoryKeys": [ + { + "options": { + "disable": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " cost category key disabled" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " cost category keys disabled" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "enable": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " cost category key enabled" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " cost category keys enabled" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "value" + } + ], + "settingsSuccessDesc": [ + { + "type": 0, + "value": "Settings for Cost Management were replaced with new values" + } + ], + "settingsSuccessTags": [ + { + "options": { + "disable": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " tag disabled" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " tags disabled" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "enable": { + "value": [ + { + "offset": 0, + "options": { + "one": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " tag enabled" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " tags enabled" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "value" + } + ], + "settingsSuccessTitle": [ + { + "type": 0, + "value": "Application settings saved" + } + ], + "settingsTagsErrorDesc": [ + { + "type": 0, + "value": "You currently have " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " tags enabled" + } + ], + "settingsTagsErrorTitle": [ + { + "type": 0, + "value": "You can not enable more than " + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " tags total" + } + ], + "settingsTitle": [ + { + "type": 0, + "value": "Cost Management Settings" + } + ], + "sinceDate": [ + { + "type": 1, + "value": "dateRange" + } + ], + "sourceType": [ + { + "type": 0, + "value": "Source type" + } + ], + "sourceTypes": [ + { + "options": { + "aws": { + "value": [ + { + "type": 0, + "value": "Amazon Web Services" + } + ] + }, + "azure": { + "value": [ + { + "type": 0, + "value": "Microsoft Azure" + } + ] + }, + "gcp": { + "value": [ + { + "type": 0, + "value": "Google Cloud Platform" + } + ] + }, + "ibm": { + "value": [ + { + "type": 0, + "value": "IBM Cloud" + } + ] + }, + "oci": { + "value": [ + { + "type": 0, + "value": "Oracle Cloud Infrastructure" + } + ] + }, + "ocp": { + "value": [ + { + "type": 0, + "value": "OpenShift" + } + ] + }, + "other": { + "value": [ + ] + } + }, + "type": 5, + "value": "value" + } + ], + "sources": [ + { + "type": 0, + "value": "Sources" + } + ], + "start": [ + { + "type": 0, + "value": "Start" + } + ], + "status": [ + { + "options": { + "failed": { + "value": [ + { + "type": 0, + "value": "Failed" + } + ] + }, + "other": { + "value": [ + ] + }, + "pending": { + "value": [ + { + "type": 0, + "value": "Pending" + } + ] + }, + "running": { + "value": [ + { + "type": 0, + "value": "Running" + } + ] + } + }, + "type": 5, + "value": "value" + } + ], + "statusActions": [ + { + "type": 0, + "value": "Status/Actions" + } + ], + "storageClass": [ + { + "type": 0, + "value": "StorageClass" + } + ], + "suggestions": [ + { + "type": 0, + "value": "Suggestions" + } + ], + "sumPlatformCosts": [ + { + "type": 0, + "value": "Sum platform costs" + } + ], + "summary": [ + { + "type": 0, + "value": "Summary" + } + ], + "supplementary": [ + { + "type": 0, + "value": "Supplementary" + } + ], + "tagDesc": [ + { + "type": 0, + "value": "Enable your data source labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. " + }, + { + "type": 1, + "value": "learnMore" + } + ], + "tagHeadingKey": [ + { + "type": 0, + "value": "Key" + } + ], + "tagHeadingTitle": [ + { + "type": 0, + "value": "Tags (" + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": ")" + } + ], + "tagHeadingValue": [ + { + "type": 0, + "value": "Value" + } + ], + "tagLabels": [ + { + "type": 0, + "value": "Tags and labels" + } + ], + "tagNames": [ + { + "type": 0, + "value": "Tag names" + } + ], + "timeOfExport": [ + { + "type": 0, + "value": "Time of export" + } + ], + "to": [ + { + "type": 0, + "value": "to" + } + ], + "toolBarBulkSelectAll": [ + { + "type": 0, + "value": "Select all (" + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " items)" + } + ], + "toolBarBulkSelectAriaDeselect": [ + { + "type": 0, + "value": "Deselect all items" + } + ], + "toolBarBulkSelectAriaSelect": [ + { + "type": 0, + "value": "Select all items" + } + ], + "toolBarBulkSelectNone": [ + { + "type": 0, + "value": "Select none (0 items)" + } + ], + "toolBarBulkSelectPage": [ + { + "type": 0, + "value": "Select page (" + }, + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " items)" + } + ], + "toolBarPriceListMeasurementPlaceHolder": [ + { + "type": 0, + "value": "Filter by measurements" + } + ], + "toolBarPriceListMetricPlaceHolder": [ + { + "type": 0, + "value": "Filter by metrics" + } + ], + "unitTooltips": [ + { + "options": { + "byte_ms": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " Byte-ms" + } + ] + }, + "core_hours": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " core-hours" + } + ] + }, + "gb": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " GB" + } + ] + }, + "gb_hours": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " GB-hours" + } + ] + }, + "gb_mo": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " GB-month" + } + ] + }, + "gb_ms": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " GB-ms" + } + ] + }, + "gibibyte_month": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " GiB-month" + } + ] + }, + "hour": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " hours" + } + ] + }, + "hrs": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " hours" + } + ] + }, + "ms": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " milliseconds" + } + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "value" + } + ] + }, + "vm_hours": { + "value": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " VM-hours" + } + ] + } + }, + "type": 5, + "value": "units" + } + ], + "units": [ + { + "options": { + "byte_ms": { + "value": [ + { + "type": 0, + "value": "Byte-ms" + } + ] + }, + "core": { + "value": [ + { + "type": 0, + "value": "core" + } + ] + }, + "core_hours": { + "value": [ + { + "type": 0, + "value": "core-hours" + } + ] + }, + "gb": { + "value": [ + { + "type": 0, + "value": "GB" + } + ] + }, + "gb_hours": { + "value": [ + { + "type": 0, + "value": "GB-hours" + } + ] + }, + "gb_mo": { + "value": [ + { + "type": 0, + "value": "GB-month" + } + ] + }, + "gb_ms": { + "value": [ + { + "type": 0, + "value": "GB-ms" + } + ] + }, + "gibibyte_month": { + "value": [ + { + "type": 0, + "value": "GiB-month" + } + ] + }, + "hour": { + "value": [ + { + "type": 0, + "value": "hours" + } + ] + }, + "hrs": { + "value": [ + { + "type": 0, + "value": "hours" + } + ] + }, + "ms": { + "value": [ + { + "type": 0, + "value": "milliseconds" + } + ] + }, + "other": { + "value": [ + ] + }, + "vm_hours": { + "value": [ + { + "type": 0, + "value": "VM-hours" + } + ] + } + }, + "type": 5, + "value": "units" + } + ], + "usage": [ + { + "type": 0, + "value": "Usage" + } + ], + "usageCostDesc": [ + { + "type": 0, + "value": "The portion of cost calculated by applying hourly and/or monthly price list rates to metrics." + } + ], + "usageCostTitle": [ + { + "type": 0, + "value": "Usage cost" + } + ], + "usageSubtitle": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + }, + { + "type": 0, + "value": " maximum" + } + ], + "valueUnits": [ + { + "type": 1, + "value": "value" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "units" + } + ], + "various": [ + { + "type": 0, + "value": "Various" + } + ], + "volumeTitle": [ + { + "type": 0, + "value": "Volume" + } + ], + "workerUnallocated": [ + { + "type": 0, + "value": "Worker unallocated" + } + ], + "workerUnallocatedDesc": [ + { + "type": 0, + "value": "Distribute unused and non-reserved resource costs to projects" + } + ], + "yes": [ + { + "type": 0, + "value": "Yes" + } + ] +} \ No newline at end of file diff --git a/src/components/i18n/intl.ts b/src/components/i18n/intl.ts index 3d3b67c2b..d66b55790 100644 --- a/src/components/i18n/intl.ts +++ b/src/components/i18n/intl.ts @@ -4,8 +4,17 @@ import { createIntl, createIntlCache } from 'react-intl'; import messages from '../../../locales/data.json'; const locale = navigator.language.split(/[-_]/)[0] || 'en'; + +// export const getLocale = () => { +// return locale; +// }; + export const getLocale = () => { - return locale; + // Show "integrations" for stage and prod-beta only -- prod-stable uses "sources" until Nov 1st + const isProd = typeof insights?.chrome?.isProd === 'function' ? insights?.chrome?.isProd() : insights?.chrome?.isProd; + const isIntegrations = !isProd || (isProd && insights?.chrome?.isBeta()); + + return isIntegrations ? locale : 'en-sources'; }; const cache = createIntlCache(); @@ -13,10 +22,12 @@ const cache = createIntlCache(); const intl = createIntl( { defaultLocale: 'en', - locale, + // locale, + locale: getLocale(), // eslint-disable-next-line no-console onError: console.log, - messages: messages[locale], + // messages: messages[locale], + messages: messages[getLocale()], }, cache ); From 5e466455a941f33a827535b41ec7b2e68008ef64 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 10:29:52 +0000 Subject: [PATCH 04/16] (chore): Bump eslint-plugin-prettier from 5.0.0 to 5.0.1 Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 5.0.0 to 5.0.1. - [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases) - [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.0.0...v5.0.1) --- updated-dependencies: - dependency-name: eslint-plugin-prettier dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 78d89716e..d9da1ef41 100644 --- a/package-lock.json +++ b/package-lock.json @@ -65,7 +65,7 @@ "eslint-plugin-jsdoc": "^46.8.2", "eslint-plugin-markdown": "^3.0.1", "eslint-plugin-patternfly-react": "^5.1.1", - "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-simple-import-sort": "^10.0.0", "eslint-plugin-sort-keys-fix": "^1.1.2", @@ -9149,9 +9149,9 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz", - "integrity": "sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz", + "integrity": "sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==", "dev": true, "dependencies": { "prettier-linter-helpers": "^1.0.0", diff --git a/package.json b/package.json index 1ca947e80..73bb80d90 100644 --- a/package.json +++ b/package.json @@ -103,7 +103,7 @@ "eslint-plugin-jsdoc": "^46.8.2", "eslint-plugin-markdown": "^3.0.1", "eslint-plugin-patternfly-react": "^5.1.1", - "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-simple-import-sort": "^10.0.0", "eslint-plugin-sort-keys-fix": "^1.1.2", From b4a76fc47e988439bf248882cab5d42e353e739a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 10:30:15 +0000 Subject: [PATCH 05/16] (chore): Bump @types/react-dom from 18.2.12 to 18.2.13 Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.2.12 to 18.2.13. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom) --- updated-dependencies: - dependency-name: "@types/react-dom" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 78d89716e..1b42975d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -51,7 +51,7 @@ "@types/jest": "^29.5.5", "@types/qs": "^6.9.8", "@types/react": "^18.2.27", - "@types/react-dom": "^18.2.12", + "@types/react-dom": "^18.2.13", "@types/react-redux": "^7.1.27", "@types/react-router-dom": "^5.3.3", "@typescript-eslint/eslint-plugin": "^6.7.5", @@ -3753,9 +3753,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.12", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.12.tgz", - "integrity": "sha512-QWZuiA/7J/hPIGocXreCRbx7wyoeet9ooxfbSA+zbIWqyQEE7GMtRn4A37BdYyksnN+/NDnWgfxZH9UVGDw1hg==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.13.tgz", + "integrity": "sha512-eJIUv7rPP+EC45uNYp/ThhSpE16k22VJUknt5OLoH9tbXoi8bMhwLf5xRuWMywamNbWzhrSmU7IBJfPup1+3fw==", "devOptional": true, "dependencies": { "@types/react": "*" diff --git a/package.json b/package.json index 1ca947e80..109c91f96 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ "@types/jest": "^29.5.5", "@types/qs": "^6.9.8", "@types/react": "^18.2.27", - "@types/react-dom": "^18.2.12", + "@types/react-dom": "^18.2.13", "@types/react-redux": "^7.1.27", "@types/react-router-dom": "^5.3.3", "@typescript-eslint/eslint-plugin": "^6.7.5", From a6b3eb02791d9de4177b7b5c389ce3a336801c6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 10:30:53 +0000 Subject: [PATCH 06/16] (chore): Bump eslint-plugin-formatjs from 4.10.5 to 4.11.0 Bumps [eslint-plugin-formatjs](https://github.com/formatjs/formatjs) from 4.10.5 to 4.11.0. - [Release notes](https://github.com/formatjs/formatjs/releases) - [Commits](https://github.com/formatjs/formatjs/compare/eslint-plugin-formatjs@4.10.5...eslint-plugin-formatjs@4.11.0) --- updated-dependencies: - dependency-name: eslint-plugin-formatjs dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 150 ++++++++++------------------------------------ package.json | 2 +- 2 files changed, 33 insertions(+), 119 deletions(-) diff --git a/package-lock.json b/package-lock.json index 78d89716e..f9e7d8afd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -60,7 +60,7 @@ "aphrodite": "^2.4.0", "copy-webpack-plugin": "^11.0.0", "eslint": "^8.51.0", - "eslint-plugin-formatjs": "^4.10.5", + "eslint-plugin-formatjs": "^4.11.0", "eslint-plugin-jest-dom": "^5.1.0", "eslint-plugin-jsdoc": "^46.8.2", "eslint-plugin-markdown": "^3.0.1", @@ -943,18 +943,18 @@ } }, "node_modules/@formatjs/ts-transformer": { - "version": "3.13.5", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.13.5.tgz", - "integrity": "sha512-dh2mmZqkId0UeM+FQtmwugpMGvyzTBmXj5LjwD4M5OeSm62tcgkScjqeO/1EetaNS/JkTUBbsFBnHzaDzh3yOw==", + "version": "3.13.6", + "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.13.6.tgz", + "integrity": "sha512-qKXnwcPUBPj+0vB+Bu09CR5qgu2BkvFSdPq8Ff+6gh+kx5B0Q0x7mlYS2NQUd9zDthEpMXqAsQeyRLJ8LrC5VA==", "dev": true, "dependencies": { - "@formatjs/icu-messageformat-parser": "2.6.2", + "@formatjs/icu-messageformat-parser": "2.7.0", "@types/json-stable-stringify": "^1.0.32", "@types/node": "14 || 16 || 17", "chalk": "^4.0.0", "json-stable-stringify": "^1.0.1", "tslib": "^2.4.0", - "typescript": "^4.7 || 5" + "typescript": "5" }, "peerDependencies": { "ts-jest": ">=27" @@ -965,6 +965,17 @@ } } }, + "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/icu-messageformat-parser": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.0.tgz", + "integrity": "sha512-7uqC4C2RqOaBQtcjqXsSpGRYVn+ckjhNga5T/otFh6MgxRrCJQqvjfbrGLpX1Lcbxdm5WH3Z2WZqt1+Tm/cn/Q==", + "dev": true, + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.2", + "@formatjs/icu-skeleton-parser": "1.6.2", + "tslib": "^2.4.0" + } + }, "node_modules/@formatjs/ts-transformer/node_modules/@types/node": { "version": "17.0.45", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", @@ -8532,135 +8543,38 @@ } }, "node_modules/eslint-plugin-formatjs": { - "version": "4.10.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.10.5.tgz", - "integrity": "sha512-pBPA4idiYHXPQMrIb9/Le+D0snlNa7MFQsw12yIzyva/z9uz0u/4NOK3NkfyENMBNMeTX2tZXtugk9FyqM5SRw==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.11.0.tgz", + "integrity": "sha512-oMs8GAbj+rYfGHCiSd8BBbqlEkQOTTd/bDmlynAk8NzxmNHHNhfgK+3amnHWdvSuBCmz+Mjr0Wx6nSOz3llZnA==", "dev": true, "dependencies": { - "@formatjs/icu-messageformat-parser": "2.6.2", - "@formatjs/ts-transformer": "3.13.5", + "@formatjs/icu-messageformat-parser": "2.7.0", + "@formatjs/ts-transformer": "3.13.6", "@types/eslint": "7 || 8", "@types/picomatch": "^2.3.0", - "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "^6.5.0", "emoji-regex": "^10.2.1", "magic-string": "^0.30.0", "picomatch": "^2.3.1", - "tslib": "2.6.0", - "typescript": "^4.7 || 5", + "tslib": "2.6.2", + "typescript": "5", "unicode-emoji-utils": "^1.1.1" }, "peerDependencies": { "eslint": "7 || 8" } }, - "node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-plugin-formatjs/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-plugin-formatjs/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-formatjs/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-messageformat-parser": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.0.tgz", + "integrity": "sha512-7uqC4C2RqOaBQtcjqXsSpGRYVn+ckjhNga5T/otFh6MgxRrCJQqvjfbrGLpX1Lcbxdm5WH3Z2WZqt1+Tm/cn/Q==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "@formatjs/ecma402-abstract": "1.17.2", + "@formatjs/icu-skeleton-parser": "1.6.2", + "tslib": "^2.4.0" } }, - "node_modules/eslint-plugin-formatjs/node_modules/tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==", - "dev": true - }, - "node_modules/eslint-plugin-formatjs/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/eslint-plugin-import": { "version": "2.28.1", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", diff --git a/package.json b/package.json index 1ca947e80..3f6cad191 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "aphrodite": "^2.4.0", "copy-webpack-plugin": "^11.0.0", "eslint": "^8.51.0", - "eslint-plugin-formatjs": "^4.10.5", + "eslint-plugin-formatjs": "^4.11.0", "eslint-plugin-jest-dom": "^5.1.0", "eslint-plugin-jsdoc": "^46.8.2", "eslint-plugin-markdown": "^3.0.1", From 38edf663eb70cb20726c2cc55b930fa15a82f67f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 10:31:40 +0000 Subject: [PATCH 07/16] (chore): Bump yaml from 2.3.2 to 2.3.3 Bumps [yaml](https://github.com/eemeli/yaml) from 2.3.2 to 2.3.3. - [Release notes](https://github.com/eemeli/yaml/releases) - [Commits](https://github.com/eemeli/yaml/compare/v2.3.2...v2.3.3) --- updated-dependencies: - dependency-name: yaml dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 78d89716e..f0c9793c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,7 +39,7 @@ "unleash-proxy-client": "^2.5.0", "victory-core": "^36.6.11", "xstate": "^4.38.2", - "yaml": "^2.3.2" + "yaml": "^2.3.3" }, "devDependencies": { "@formatjs/cli": "^6.2.0", @@ -21148,9 +21148,9 @@ "dev": true }, "node_modules/yaml": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", - "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", + "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", "engines": { "node": ">= 14" } diff --git a/package.json b/package.json index 1ca947e80..770da5e3a 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "unleash-proxy-client": "^2.5.0", "victory-core": "^36.6.11", "xstate": "^4.38.2", - "yaml": "^2.3.2" + "yaml": "^2.3.3" }, "devDependencies": { "@formatjs/cli": "^6.2.0", From c3df93dade5caa6caff4931d5755d70d6a185312 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 10:32:15 +0000 Subject: [PATCH 08/16] (chore): Bump @formatjs/cli from 6.2.0 to 6.2.1 Bumps [@formatjs/cli](https://github.com/formatjs/formatjs) from 6.2.0 to 6.2.1. - [Release notes](https://github.com/formatjs/formatjs/releases) - [Commits](https://github.com/formatjs/formatjs/compare/@formatjs/cli@6.2.0...@formatjs/cli@6.2.1) --- updated-dependencies: - dependency-name: "@formatjs/cli" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 78d89716e..22182c286 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,7 +42,7 @@ "yaml": "^2.3.2" }, "devDependencies": { - "@formatjs/cli": "^6.2.0", + "@formatjs/cli": "^6.2.1", "@redhat-cloud-services/eslint-config-redhat-cloud-services": "^2.0.3", "@redhat-cloud-services/frontend-components-config": "^6.0.5", "@redhat-cloud-services/tsc-transform-imports": "^1.0.4", @@ -837,9 +837,9 @@ } }, "node_modules/@formatjs/cli": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.2.0.tgz", - "integrity": "sha512-sP04UpocRHYwSovUnunAZHYvCTVbNcaLtWKnr1lETGRUnRRQqnXy/3d2Ce271ELXmNUSde2eHRdu4rv2XaVaiQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.2.1.tgz", + "integrity": "sha512-+INAFMLD+bofdFldBnkMorMQq7M+kaKf0xo9fg5ECV2JhNVziPuAWOJR3O8s6aWSfc4bvzeQ1b+1oaMwxrNRHw==", "dev": true, "bin": { "formatjs": "bin/formatjs" diff --git a/package.json b/package.json index 1ca947e80..0964e91ba 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "yaml": "^2.3.2" }, "devDependencies": { - "@formatjs/cli": "^6.2.0", + "@formatjs/cli": "^6.2.1", "@redhat-cloud-services/eslint-config-redhat-cloud-services": "^2.0.3", "@redhat-cloud-services/frontend-components-config": "^6.0.5", "@redhat-cloud-services/tsc-transform-imports": "^1.0.4", From f3893bcac1a54f3396c7875aac2bee23c4baf786 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 10:32:45 +0000 Subject: [PATCH 09/16] (chore): Bump @redhat-cloud-services/rbac-client from 1.2.10 to 1.2.11 Bumps [@redhat-cloud-services/rbac-client](https://github.com/RedHatInsights/javascript-clients) from 1.2.10 to 1.2.11. - [Release notes](https://github.com/RedHatInsights/javascript-clients/releases) - [Commits](https://github.com/RedHatInsights/javascript-clients/commits) --- updated-dependencies: - dependency-name: "@redhat-cloud-services/rbac-client" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 78d89716e..da85638f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "@redhat-cloud-services/frontend-components-notifications": "^4.0.4", "@redhat-cloud-services/frontend-components-translations": "^3.2.7", "@redhat-cloud-services/frontend-components-utilities": "^4.0.2", - "@redhat-cloud-services/rbac-client": "^1.2.10", + "@redhat-cloud-services/rbac-client": "^1.2.11", "@unleash/proxy-client-react": "^4.0.1", "axios": "^1.5.1", "date-fns": "^2.30.0", @@ -2862,9 +2862,9 @@ } }, "node_modules/@redhat-cloud-services/rbac-client": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/rbac-client/-/rbac-client-1.2.10.tgz", - "integrity": "sha512-2DTZrK2BiW68qE2emtr2BbN6n+6h6We9rCO6RBsQXSm5iyt2b9IV3jUCVIeWC94QkFyApooIqqrPhErjJrVEoA==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/rbac-client/-/rbac-client-1.2.11.tgz", + "integrity": "sha512-zFTumiNZdgxAuihm53JwUM37nF5yMyMsDxlJ9EMD11SXLKh1LkNZVScie3y7JT7VQ6D8C8y74TAn/n5B25Vq4w==", "dependencies": { "axios": "^0.27.2" } diff --git a/package.json b/package.json index 1ca947e80..6bcabfc57 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "@redhat-cloud-services/frontend-components-notifications": "^4.0.4", "@redhat-cloud-services/frontend-components-translations": "^3.2.7", "@redhat-cloud-services/frontend-components-utilities": "^4.0.2", - "@redhat-cloud-services/rbac-client": "^1.2.10", + "@redhat-cloud-services/rbac-client": "^1.2.11", "@unleash/proxy-client-react": "^4.0.1", "axios": "^1.5.1", "date-fns": "^2.30.0", From e6cd75542c8dbafbf725023f87f3f4148236c874 Mon Sep 17 00:00:00 2001 From: Dan Labrecque Date: Mon, 16 Oct 2023 09:08:31 -0400 Subject: [PATCH 10/16] Removed optimizations message from PVC loading --- src/routes/details/components/pvcChart/modal/pvcContent.tsx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/routes/details/components/pvcChart/modal/pvcContent.tsx b/src/routes/details/components/pvcChart/modal/pvcContent.tsx index b5985ef22..91943d988 100644 --- a/src/routes/details/components/pvcChart/modal/pvcContent.tsx +++ b/src/routes/details/components/pvcChart/modal/pvcContent.tsx @@ -164,10 +164,7 @@ const PvcContent: React.FC = () => { {getToolbar()} {reportFetchStatus === FetchStatus.inProgress ? (
- +
) : ( <> From 196952ce828d60cca12b4968ed8717db9c199b2b Mon Sep 17 00:00:00 2001 From: Dan Labrecque Date: Mon, 16 Oct 2023 09:21:30 -0400 Subject: [PATCH 11/16] Update dependencies --- package-lock.json | 144 +++++++++++++++++++++------------------------- package.json | 14 ++--- 2 files changed, 73 insertions(+), 85 deletions(-) diff --git a/package-lock.json b/package-lock.json index e00a2d71a..a5b1420ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,12 +16,12 @@ "@patternfly/react-icons": "^5.1.1", "@patternfly/react-table": "^5.1.1", "@patternfly/react-tokens": "^5.1.1", - "@redhat-cloud-services/frontend-components": "^4.0.13", + "@redhat-cloud-services/frontend-components": "^4.0.14", "@redhat-cloud-services/frontend-components-notifications": "^4.0.4", "@redhat-cloud-services/frontend-components-translations": "^3.2.7", "@redhat-cloud-services/frontend-components-utilities": "^4.0.2", "@redhat-cloud-services/rbac-client": "^1.2.11", - "@unleash/proxy-client-react": "^4.0.1", + "@unleash/proxy-client-react": "^4.0.3", "axios": "^1.5.1", "date-fns": "^2.30.0", "js-file-download": "^0.4.12", @@ -30,13 +30,13 @@ "react": "^18.2.0", "react-bootstrap": "^2.9.0", "react-dom": "^18.2.0", - "react-intl": "^6.4.7", + "react-intl": "^6.5.0", "react-redux": "^8.1.3", "react-router-dom": "^6.16.0", "redux": "^4.2.1", "redux-thunk": "^2.4.2", "typesafe-actions": "^5.1.0", - "unleash-proxy-client": "^2.5.0", + "unleash-proxy-client": "^3.0.0", "victory-core": "^36.6.11", "xstate": "^4.38.2", "yaml": "^2.3.3" @@ -50,7 +50,7 @@ "@testing-library/user-event": "^14.5.1", "@types/jest": "^29.5.5", "@types/qs": "^6.9.8", - "@types/react": "^18.2.27", + "@types/react": "^18.2.28", "@types/react-dom": "^18.2.13", "@types/react-redux": "^7.1.27", "@types/react-router-dom": "^5.3.3", @@ -69,7 +69,7 @@ "eslint-plugin-react": "^7.33.2", "eslint-plugin-simple-import-sort": "^10.0.0", "eslint-plugin-sort-keys-fix": "^1.1.2", - "eslint-plugin-testing-library": "^6.0.2", + "eslint-plugin-testing-library": "^6.1.0", "git-revision-webpack-plugin": "^5.0.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", @@ -874,9 +874,9 @@ } }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.2.tgz", - "integrity": "sha512-nF/Iww7sc5h+1MBCDRm68qpHTCG4xvGzYs/x9HFcDETSGScaJ1Fcadk5U/NXjXeCtzD+DhN4BAwKFVclHfKMdA==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.0.tgz", + "integrity": "sha512-7uqC4C2RqOaBQtcjqXsSpGRYVn+ckjhNga5T/otFh6MgxRrCJQqvjfbrGLpX1Lcbxdm5WH3Z2WZqt1+Tm/cn/Q==", "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/icu-skeleton-parser": "1.6.2", @@ -893,20 +893,20 @@ } }, "node_modules/@formatjs/intl": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.9.3.tgz", - "integrity": "sha512-hclPdyCF1zk2XmhgdXfl5Sd30QEdRBnIijH7Vc1AWz2K0/saVRrxuL3UYn+m3xEyfOa4yDbTWVbmXDL0XEzlsQ==", + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.9.4.tgz", + "integrity": "sha512-hY0UlbDz8jY12RkQtkzxe3OfUmsIcUcsvVYyr1TFue6oTrUHqpkmYLdQ626V3BCSLc90EZDXdvmsPfMd3hTcYQ==", "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/fast-memoize": "2.2.0", - "@formatjs/icu-messageformat-parser": "2.6.2", - "@formatjs/intl-displaynames": "6.5.2", - "@formatjs/intl-listformat": "7.4.2", - "intl-messageformat": "10.5.3", + "@formatjs/icu-messageformat-parser": "2.7.0", + "@formatjs/intl-displaynames": "6.6.0", + "@formatjs/intl-listformat": "7.5.0", + "intl-messageformat": "10.5.4", "tslib": "^2.4.0" }, "peerDependencies": { - "typescript": "^4.7 || 5" + "typescript": "5" }, "peerDependenciesMeta": { "typescript": { @@ -915,9 +915,9 @@ } }, "node_modules/@formatjs/intl-displaynames": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.5.2.tgz", - "integrity": "sha512-uC2VBlz+WydGTDDpJwMTQuPH3CUpTricr91WH1QMfz5oEHg2sB7mUERcZONE/lu8MOe1jREIx4vBciZEVTqkmA==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.6.0.tgz", + "integrity": "sha512-bskUou9boZOzTqI8JdNCNkDavXf8uWWz/6NG1og/XJKpn4zsfiLdQ9EYKhVe/CfbCjlSyieJYn7/NztdoprHjw==", "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/intl-localematcher": "0.4.2", @@ -925,9 +925,9 @@ } }, "node_modules/@formatjs/intl-listformat": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.4.2.tgz", - "integrity": "sha512-+6bSVudEQkf12Hh7kuKt8Xv/MyFlqdwA4V4NLnTZW8uYdF9RxlOELDD0rPaOc2++TMKIzI5o6XXwHPvpL6VrPA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.5.0.tgz", + "integrity": "sha512-n9FsXGl1T2ZbX6wSyrzCDJHrbJR0YJ9ZNsAqUvHXfbY3nsOmGnSTf5+bkuIp1Xiywu7m1X1Pfm/Ngp/yK1H84A==", "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/intl-localematcher": "0.4.2", @@ -965,17 +965,6 @@ } } }, - "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.0.tgz", - "integrity": "sha512-7uqC4C2RqOaBQtcjqXsSpGRYVn+ckjhNga5T/otFh6MgxRrCJQqvjfbrGLpX1Lcbxdm5WH3Z2WZqt1+Tm/cn/Q==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.17.2", - "@formatjs/icu-skeleton-parser": "1.6.2", - "tslib": "^2.4.0" - } - }, "node_modules/@formatjs/ts-transformer/node_modules/@types/node": { "version": "17.0.45", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", @@ -2396,15 +2385,15 @@ } }, "node_modules/@redhat-cloud-services/frontend-components": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-4.0.13.tgz", - "integrity": "sha512-A5caac8TbxS0Rs0gftitduYNcjBqPvYvu3WBMN0SJGbxX6YEbCQHbSBFT8rnp8MWYHbha0nnjhE/9l8ec5msCg==", + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-4.0.14.tgz", + "integrity": "sha512-GinI/xNU8aXAkCoR/5V9FWI169dz9z9GjNUaE9wJ6dyb91XJ1fFGOyeiV9K7Ej2Sh6KrPq+ZHRnZFx8TEtm4Lg==", "dependencies": { "@patternfly/react-component-groups": "^1.2.1", "@redhat-cloud-services/frontend-components-utilities": "^4.0.0", "@redhat-cloud-services/types": "^0.0.24", - "@scalprum/core": "^0.5.3", - "@scalprum/react-core": "^0.5.3", + "@scalprum/core": "^0.5.4", + "@scalprum/react-core": "^0.5.4", "sanitize-html": "^2.7.2" }, "peerDependencies": { @@ -3754,9 +3743,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "18.2.27", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.27.tgz", - "integrity": "sha512-Wfv7B7FZiR2r3MIqbAlXoY1+tXm4bOqfz4oRr+nyXdBqapDBZ0l/IGcSlAfvxIHEEJjkPU0MYAc/BlFPOcrgLw==", + "version": "18.2.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.28.tgz", + "integrity": "sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -4308,14 +4297,14 @@ } }, "node_modules/@unleash/proxy-client-react": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@unleash/proxy-client-react/-/proxy-client-react-4.0.1.tgz", - "integrity": "sha512-dGFVhbCpdjItcCNNS7yum9XsXSqP25Y9tB1k/YcSagLu2bdkbrEhMymXEc3zWl7qmxldCCfXK3UFSC0whc3pmw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@unleash/proxy-client-react/-/proxy-client-react-4.0.3.tgz", + "integrity": "sha512-/+COnnXjIHIXN0Kqmx5jJrQn25BRF+U7cPcvnOeHp4M1X5vxfrlB00jp0loTXQDbFFvgNWKupsPMjNamKmkEvQ==", "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "unleash-proxy-client": "^2.5.0" + "unleash-proxy-client": "^3.0.0" } }, "node_modules/@webassemblyjs/ast": { @@ -8564,17 +8553,6 @@ "eslint": "7 || 8" } }, - "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.0.tgz", - "integrity": "sha512-7uqC4C2RqOaBQtcjqXsSpGRYVn+ckjhNga5T/otFh6MgxRrCJQqvjfbrGLpX1Lcbxdm5WH3Z2WZqt1+Tm/cn/Q==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.17.2", - "@formatjs/icu-skeleton-parser": "1.6.2", - "tslib": "^2.4.0" - } - }, "node_modules/eslint-plugin-import": { "version": "2.28.1", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", @@ -9266,9 +9244,9 @@ } }, "node_modules/eslint-plugin-testing-library": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.0.2.tgz", - "integrity": "sha512-3BV6FWtLbpKFb4Y1obSdt8PC9xSqz6T+7EHB/6pSCXqVjKPoS67ck903feKMKQphd5VhrX+N51yHuVaPa7elsw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.1.0.tgz", + "integrity": "sha512-r7kE+az3tbp8vyRwfyAGZ6V/xw+XvdWFPicIo6jbOPZoossOFDeHizARqPGV6gEkyF8hyCFhhH3mlQOGS3N5Sg==", "dev": true, "dependencies": { "@typescript-eslint/utils": "^5.58.0" @@ -11536,13 +11514,13 @@ } }, "node_modules/intl-messageformat": { - "version": "10.5.3", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.3.tgz", - "integrity": "sha512-TzKn1uhJBMyuKTO4zUX47SU+d66fu1W9tVzIiZrQ6hBqQQeYscBMIzKL/qEXnFbJrH9uU5VV3+T5fWib4SIcKA==", + "version": "10.5.4", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.4.tgz", + "integrity": "sha512-z+hrFdiJ/heRYlzegrdFYqU1m/KOMOVMqNilIArj+PbsuU8TNE7v4TWdQgSoxlxbT4AcZH3Op3/Fu15QTp+W1w==", "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/fast-memoize": "2.2.0", - "@formatjs/icu-messageformat-parser": "2.6.2", + "@formatjs/icu-messageformat-parser": "2.7.0", "tslib": "^2.4.0" } }, @@ -17124,24 +17102,24 @@ "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" }, "node_modules/react-intl": { - "version": "6.4.7", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.7.tgz", - "integrity": "sha512-0hnOHAZhxTFqD1hGTxrF40qNyZJPPYiGhWIIxIz0Udz+3e3c7sdN80qlxArR+AbJ+jb5ALXZkJYH20+GPFCM0Q==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.5.0.tgz", + "integrity": "sha512-ZnBYFlFUU1ivhvWBA87XJLAr9nR8yeC1/83e6AL7yiHbWH7xQE7tyMyIyw6or78EvU9Hx8Sh8LUDC4bGrNxXOA==", "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", - "@formatjs/icu-messageformat-parser": "2.6.2", - "@formatjs/intl": "2.9.3", - "@formatjs/intl-displaynames": "6.5.2", - "@formatjs/intl-listformat": "7.4.2", + "@formatjs/icu-messageformat-parser": "2.7.0", + "@formatjs/intl": "2.9.4", + "@formatjs/intl-displaynames": "6.6.0", + "@formatjs/intl-listformat": "7.5.0", "@types/hoist-non-react-statics": "^3.3.1", "@types/react": "16 || 17 || 18", "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "10.5.3", + "intl-messageformat": "10.5.4", "tslib": "^2.4.0" }, "peerDependencies": { "react": "^16.6.0 || 17 || 18", - "typescript": "^4.7 || 5" + "typescript": "5" }, "peerDependenciesMeta": { "typescript": { @@ -19696,12 +19674,24 @@ } }, "node_modules/unleash-proxy-client": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/unleash-proxy-client/-/unleash-proxy-client-2.5.0.tgz", - "integrity": "sha512-GWYLcQDW2UVhqAVwZX7jNzD6Lp96UJXEi66r9MiDd/C3Xw7rbTdFziNJAhEZpLNqR7j75+TfZaEYMCMy/k778g==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unleash-proxy-client/-/unleash-proxy-client-3.0.0.tgz", + "integrity": "sha512-o9/UOTtvqpa0M3wPwd2YctMqRNO8ID32VCZHAhToJ+3Lh6Qdn1FUqrvyeQpycW/xKuqQNsYXH7W83qSy9Bb/UA==", "dependencies": { "tiny-emitter": "^2.1.0", - "uuid": "^8.3.2" + "uuid": "^9.0.1" + } + }, + "node_modules/unleash-proxy-client/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" } }, "node_modules/unpipe": { diff --git a/package.json b/package.json index 1e47ac376..3970e210c 100644 --- a/package.json +++ b/package.json @@ -54,12 +54,12 @@ "@patternfly/react-icons": "^5.1.1", "@patternfly/react-table": "^5.1.1", "@patternfly/react-tokens": "^5.1.1", - "@redhat-cloud-services/frontend-components": "^4.0.13", + "@redhat-cloud-services/frontend-components": "^4.0.14", "@redhat-cloud-services/frontend-components-notifications": "^4.0.4", "@redhat-cloud-services/frontend-components-translations": "^3.2.7", "@redhat-cloud-services/frontend-components-utilities": "^4.0.2", "@redhat-cloud-services/rbac-client": "^1.2.11", - "@unleash/proxy-client-react": "^4.0.1", + "@unleash/proxy-client-react": "^4.0.3", "axios": "^1.5.1", "date-fns": "^2.30.0", "js-file-download": "^0.4.12", @@ -68,13 +68,13 @@ "react": "^18.2.0", "react-bootstrap": "^2.9.0", "react-dom": "^18.2.0", - "react-intl": "^6.4.7", + "react-intl": "^6.5.0", "react-redux": "^8.1.3", "react-router-dom": "^6.16.0", "redux": "^4.2.1", "redux-thunk": "^2.4.2", "typesafe-actions": "^5.1.0", - "unleash-proxy-client": "^2.5.0", + "unleash-proxy-client": "^3.0.0", "victory-core": "^36.6.11", "xstate": "^4.38.2", "yaml": "^2.3.3" @@ -88,7 +88,7 @@ "@testing-library/user-event": "^14.5.1", "@types/jest": "^29.5.5", "@types/qs": "^6.9.8", - "@types/react": "^18.2.27", + "@types/react": "^18.2.28", "@types/react-dom": "^18.2.13", "@types/react-redux": "^7.1.27", "@types/react-router-dom": "^5.3.3", @@ -107,7 +107,7 @@ "eslint-plugin-react": "^7.33.2", "eslint-plugin-simple-import-sort": "^10.0.0", "eslint-plugin-sort-keys-fix": "^1.1.2", - "eslint-plugin-testing-library": "^6.0.2", + "eslint-plugin-testing-library": "^6.1.0", "git-revision-webpack-plugin": "^5.0.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", @@ -121,8 +121,6 @@ "webpack-bundle-analyzer": "^4.9.1" }, "overrides": { - "eslint": "^8.51.0", - "react-intl": "^6.4.7" }, "insights": { "appname": "cost-management" From 47e039d6507bcdde0f1f37019b971d43d369c24d Mon Sep 17 00:00:00 2001 From: Dan Labrecque Date: Mon, 16 Oct 2023 17:20:55 -0400 Subject: [PATCH 12/16] Microfrontend build targets --- fec.config.js | 19 +++++++++++++++---- package.json | 6 ++++-- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/fec.config.js b/fec.config.js index e2424f8bb..0f49fb133 100644 --- a/fec.config.js +++ b/fec.config.js @@ -38,7 +38,7 @@ module.exports = { proxyVerbose: true, sassPrefix: `.${moduleName}`, // sassPrefix: 'body', // For PF v5 testing only - // bundlePfModules: true, // For PF v5 testing only + // bundlePfModules: true, // See https://console.stage.redhat.com/platform-docs/frontend-components/proxies/webpack-proxy#includePFcssmodulesinyourbundle stats, standalone: process.env.LOCAL_API_PORT ? true : false, useCache: true, @@ -88,11 +88,10 @@ module.exports = { }, routes: { /** - * Cloud services config routes, typically localhost:8889 + * Chrome services backend config routes, typically localhost:8000 */ ...(process.env.CLOUD_SERVICES_CONFIG_PORT && { - '/config': { host: `http://localhost:${process.env.CLOUD_SERVICES_CONFIG_PORT}` }, - '/beta/config': { host: `http://localhost:${process.env.CLOUD_SERVICES_CONFIG_PORT}` }, + '/api/chrome-service/v1/static': { host: `http://localhost:${process.env.CLOUD_SERVICES_CONFIG_PORT}` }, }), /** * Ephemeral routes, typically localhost:8000 @@ -108,5 +107,17 @@ module.exports = { host: `http://${process.env.LOCAL_API_HOST || 'localhost'}:${process.env.LOCAL_API_PORT}`, }, }), + /** + * FEC static routes, typically localhost:8003 + * https://console.stage.redhat.com/platform-docs/frontend-components/proxies/webpack-proxy#Inventoryexample + */ + ...(process.env.FEC_STATIC_PORT && { + '/apps/cost-management-mfe': { + host: `http://localhost:${process.env.FEC_STATIC_PORT}`, + }, + '/beta/apps/cost-management-mfe': { + host: `http://localhost:${process.env.FEC_STATIC_PORT}`, + }, + }), }, }; diff --git a/package.json b/package.json index 3970e210c..a0c591088 100644 --- a/package.json +++ b/package.json @@ -29,10 +29,12 @@ "lint:ts:fix": "eslint src --fix", "patch:hosts": "fec patch-etc-hosts", "postinstall": "ts-patch install && rm -rf .cache", - "start": "HMR=true fec dev", - "start:csc": "CLOUD_SERVICES_CONFIG_PORT=8889 npm start", + "start": "fec dev", + "start:csc": "CLOUD_SERVICES_CONFIG_PORT=8000 npm start", "start:ephemeral": "EPHEMERAL_PORT=8000 npm start", + "start:hmr": "HMR=true npm start", "start:local:api": "LOCAL_API_PORT=8000 LOCAL_API_HOST=localhost KEYCLOAK_PORT=4020 npm start", + "start:mfe": "FEC_STATIC_PORT=8003 npm run start:csc", "stats": "npm run build:prod --profile --json > stats.json", "test": "jest --no-cache", "test:clean": "jest --clearCache", From c2e235008734485f032ea5ee0784926f278b2731 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 21:39:01 +0000 Subject: [PATCH 13/16] Bump @babel/traverse from 7.23.0 to 7.23.2 Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.23.0 to 7.23.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index a5b1420ca..12e5b7389 100644 --- a/package-lock.json +++ b/package-lock.json @@ -578,9 +578,9 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", - "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.22.13", From 8a927ca45ff1d0c086f60a5a0c7f969004d9660d Mon Sep 17 00:00:00 2001 From: Dan Labrecque Date: Tue, 17 Oct 2023 10:37:18 -0400 Subject: [PATCH 14/16] PVC "more" link should be shown if there is at least one more pvc --- src/routes/details/components/pvcChart/pvcChart.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/routes/details/components/pvcChart/pvcChart.tsx b/src/routes/details/components/pvcChart/pvcChart.tsx index f8d8df0ec..1836479fb 100644 --- a/src/routes/details/components/pvcChart/pvcChart.tsx +++ b/src/routes/details/components/pvcChart/pvcChart.tsx @@ -255,12 +255,13 @@ class PvcChartBase extends React.Component { const { isOpen } = this.state; const count = report?.meta ? report.meta.count : 0; + const remaining = count - baseQuery.filter.limit; - if (count - baseQuery.filter.limit - 1 > 0) { + if (remaining > 0) { return ( <> - {intl.formatMessage(messages.detailsMore, { value: count })} + {intl.formatMessage(messages.detailsMore, { value: remaining })} From db4a1c3680e9e2725118c1b77c7b48335e102563 Mon Sep 17 00:00:00 2001 From: Dan Labrecque Date: Tue, 17 Oct 2023 10:51:59 -0400 Subject: [PATCH 15/16] Add platform filter for PVC charts --- src/routes/details/components/pvcChart/modal/pvcContent.tsx | 2 ++ src/routes/details/components/pvcChart/pvcChart.tsx | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/routes/details/components/pvcChart/modal/pvcContent.tsx b/src/routes/details/components/pvcChart/modal/pvcContent.tsx index 91943d988..fb6848a54 100644 --- a/src/routes/details/components/pvcChart/modal/pvcContent.tsx +++ b/src/routes/details/components/pvcChart/modal/pvcContent.tsx @@ -21,6 +21,7 @@ import { getQueryState } from 'routes/utils/queryState'; import type { RootState } from 'store'; import { FetchStatus } from 'store/common'; import { reportActions, reportSelectors } from 'store/reports'; +import { platformCategoryKey } from 'utils/props'; import { styles } from './pvcContent.styles'; import { PvcTable } from './pvcTable'; @@ -204,6 +205,7 @@ const useMapToProps = ({ query }: PvcContentMapProps): PvcContentStateProps => { filter_by: { // Add filters here to apply logical OR/AND ...(queryState?.filter_by && queryState.filter_by), + ...(queryFromRoute?.isPlatformCosts && { category: platformCategoryKey }), // Omit filters associated with the current group_by -- see https://issues.redhat.com/browse/COST-1131 and https://issues.redhat.com/browse/COST-3642 ...(groupBy && groupByValue !== '*' && { [groupBy]: groupByValue }), // Note: We're not inserting PVC information for the Platform project ...query.filter_by, diff --git a/src/routes/details/components/pvcChart/pvcChart.tsx b/src/routes/details/components/pvcChart/pvcChart.tsx index 1836479fb..2da25ae18 100644 --- a/src/routes/details/components/pvcChart/pvcChart.tsx +++ b/src/routes/details/components/pvcChart/pvcChart.tsx @@ -32,6 +32,7 @@ import { skeletonWidth } from 'routes/utils/skeleton'; import { createMapStateToProps, FetchStatus } from 'store/common'; import { reportActions, reportSelectors } from 'store/reports'; import { formatUsage, unitsLookupKey } from 'utils/format'; +import { platformCategoryKey } from 'utils/props'; import type { RouterComponentProps } from 'utils/router'; import { withRouter } from 'utils/router'; @@ -366,6 +367,7 @@ const mapStateToProps = createMapStateToProps Date: Wed, 18 Oct 2023 09:10:28 -0400 Subject: [PATCH 16/16] Replace "source" with "integration" https://issues.redhat.com/browse/COST-4039 --- locales/data.json | 98 +++++++++++++++++++-------------------- locales/translations.json | 4 +- src/locales/messages.ts | 6 +-- 3 files changed, 54 insertions(+), 54 deletions(-) diff --git a/locales/data.json b/locales/data.json index c03aa080a..fe11272e6 100644 --- a/locales/data.json +++ b/locales/data.json @@ -1176,7 +1176,7 @@ "value": [ { "type": 0, - "value": "Assign integration" + "value": "Assign source" } ] }, @@ -1184,7 +1184,7 @@ "value": [ { "type": 0, - "value": "Assign integrations" + "value": "Assign sources" } ] } @@ -1197,7 +1197,7 @@ "costModelsAssignSourcesErrorDesc": [ { "type": 0, - "value": "You cannot assign a integration at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our " + "value": "You cannot assign a source at this time. Try refreshing this page. If the problem persists, contact your organization administrator or visit our " }, { "type": 1, @@ -1217,19 +1217,19 @@ "costModelsAssignSourcesParen": [ { "type": 0, - "value": "Assign integrations" + "value": "Assign source(s)" } ], "costModelsAssignedSources": [ { "type": 0, - "value": "Assigned integrations" + "value": "Assigned sources" } ], "costModelsAvailableSources": [ { "type": 0, - "value": "The following integrations are assigned to my production cost model:" + "value": "The following sources are assigned to my production cost model:" } ], "costModelsCanDelete": [ @@ -1249,7 +1249,7 @@ "costModelsCanNotDelete": [ { "type": 0, - "value": "The following integrations are assigned to " + "value": "The following sources are assigned to " }, { "type": 1, @@ -1283,13 +1283,13 @@ "costModelsDeleteSource": [ { "type": 0, - "value": "You must unassign any integrations before you can delete this cost model." + "value": "You must unassign any sources before you can delete this cost model." } ], "costModelsDesc": [ { "type": 0, - "value": "Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your integrations to calculate your charges for resource usage. " + "value": "Cost models can help you analyze and predict future costs. Associate a price to metrics provided by your sources to calculate your charges for resource usage. " }, { "type": 1, @@ -1365,25 +1365,25 @@ "costModelsExamplesDoubleMarkup": [ { "type": 0, - "value": "A markup rate of (+) 100% doubles the base costs of your integrations." + "value": "A markup rate of (+) 100% doubles the base costs of your source(s)." } ], "costModelsExamplesNoAdjust": [ { "type": 0, - "value": "A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your integrations." + "value": "A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your source(s)." } ], "costModelsExamplesReduceSeventyfive": [ { "type": 0, - "value": "A discount rate of (-) 25% reduces the base costs of your integrations to 75% of the original value." + "value": "A discount rate of (-) 25% reduces the base costs of your source(s) to 75% of the original value." } ], "costModelsExamplesReduceZero": [ { "type": 0, - "value": "A discount rate of (-) 100% reduces the base costs of your integrations to 0." + "value": "A discount rate of (-) 100% reduces the base costs of your source(s) to 0." } ], "costModelsFilterPlaceholder": [ @@ -1467,7 +1467,7 @@ "costModelsSourceDeleteSource": [ { "type": 0, - "value": "Unassign integration" + "value": "Unassign source" } ], "costModelsSourceDeleteSourceDesc": [ @@ -1477,7 +1477,7 @@ }, { "type": 1, - "value": "integration" + "value": "source" }, { "type": 0, @@ -1489,25 +1489,25 @@ }, { "type": 0, - "value": " cost model. You can then assign the cost model to a new integration." + "value": " cost model. You can then assign the cost model to a new source." } ], "costModelsSourceEmptyStateDesc": [ { "type": 0, - "value": "Select the integrations you want to apply this cost model to." + "value": "Select the source(s) you want to apply this cost model to." } ], "costModelsSourceEmptyStateTitle": [ { "type": 0, - "value": "No integrations are assigned" + "value": "No sources are assigned" } ], "costModelsSourceTableAriaLabel": [ { "type": 0, - "value": "Integrations table" + "value": "Sources table" } ], "costModelsTableAriaLabel": [ @@ -1569,7 +1569,7 @@ "costModelsWizardEmptySourceTypeLabel": [ { "type": 0, - "value": "Select integration" + "value": "Select source type" } ], "costModelsWizardEmptyStateOtherTime": [ @@ -1665,7 +1665,7 @@ "costModelsWizardReviewStatusSubTitle": [ { "type": 0, - "value": "Costs for resources connected to the assigned integrations will now be calculated using the newly created " + "value": "Costs for resources connected to the assigned sources will now be calculated using the newly created " }, { "type": 1, @@ -1689,7 +1689,7 @@ "value": [ { "type": 0, - "value": "Select from the following Amazon Web Services integrations:" + "value": "Select from the following Amazon Web Services sources:" } ] }, @@ -1697,7 +1697,7 @@ "value": [ { "type": 0, - "value": "Select from the following Microsoft Azure integrations:" + "value": "Select from the following Microsoft Azure sources:" } ] }, @@ -1705,7 +1705,7 @@ "value": [ { "type": 0, - "value": "Select from the following Google Cloud Platform integrations:" + "value": "Select from the following Google Cloud Platform sources:" } ] }, @@ -1713,7 +1713,7 @@ "value": [ { "type": 0, - "value": "Select from the following Oracle Cloud Infrastructure integrations:" + "value": "Select from the following Oracle Cloud Infrastructure sources:" } ] }, @@ -1721,7 +1721,7 @@ "value": [ { "type": 0, - "value": "Select from the following Red Hat OpenShift integrations:" + "value": "Select from the following Red Hat OpenShift sources:" } ] }, @@ -1736,7 +1736,7 @@ "costModelsWizardSourceErrorDesc": [ { "type": 0, - "value": "Try refreshing this step or you can skip this step (as it is optional) and assign the integration to the cost model at a later time. If the problem persists, contact your organization administrator or visit our " + "value": "Try refreshing this step or you can skip this step (as it is optional) and assign the source to the cost model at a later time. If the problem persists, contact your organization administrator or visit our " }, { "type": 1, @@ -1756,13 +1756,13 @@ "costModelsWizardSourceSubtitle": [ { "type": 0, - "value": "Select one or more integrations to this cost model. You can skip this step and assign the cost model to a integration at a later time. An integration will be unavailable for selection if a cost model is already assigned to it." + "value": "Select one or more sources to this cost model. You can skip this step and assign the cost model to a source at a later time. A source will be unavailable for selection if a cost model is already assigned to it." } ], "costModelsWizardSourceTableAriaLabel": [ { "type": 0, - "value": "Assign integrations to cost model table" + "value": "Assign sources to cost model table" } ], "costModelsWizardSourceTableCostModel": [ @@ -1780,13 +1780,13 @@ "costModelsWizardSourceTitle": [ { "type": 0, - "value": "Assign integrations to the cost model (optional)" + "value": "Assign sources to the cost model (optional)" } ], "costModelsWizardSourceWarning": [ { "type": 0, - "value": "This integration is assigned to " + "value": "This source is assigned to " }, { "type": 1, @@ -1812,7 +1812,7 @@ "costModelsWizardStepsSources": [ { "type": 0, - "value": "Assign an integration to the cost model" + "value": "Assign a source to the cost model" } ], "costModelsWizardSubTitleTable": [ @@ -1824,7 +1824,7 @@ "costModelsWizardWarningSources": [ { "type": 0, - "value": "Cannot assign cost model to an integration that is already assigned to another one" + "value": "Cannot assign cost model to a source that is already assigned to another one" } ], "costTypeAmortized": [ @@ -1902,7 +1902,7 @@ "createCostModelDesc": [ { "type": 0, - "value": "A cost model allows you to associate a price to metrics provided by your integrations to charge for utilization of resources." + "value": "A cost model allows you to associate a price to metrics provided by your sources to charge for utilization of resources." } ], "createCostModelExit": [ @@ -2849,7 +2849,7 @@ "value": [ { "type": 0, - "value": "Integration" + "value": "Source type" } ] }, @@ -7236,7 +7236,7 @@ "value": [ { "type": 0, - "value": "Filter by integration" + "value": "Filter by source type" } ] }, @@ -7463,7 +7463,7 @@ "value": [ { "type": 0, - "value": "Integration" + "value": "Source type" } ] }, @@ -9638,7 +9638,7 @@ "inactiveSourcesGoTo": [ { "type": 0, - "value": "Go to Integrations for more information" + "value": "Go to Sources for more information" } ], "inactiveSourcesTitle": [ @@ -9654,7 +9654,7 @@ "inactiveSourcesTitleMultiplier": [ { "type": 0, - "value": "A problem was detected with the following integrations" + "value": "A problem was detected with the following sources" } ], "infrastructure": [ @@ -9684,13 +9684,13 @@ "loadingStateDesc": [ { "type": 0, - "value": "Searching for your integrations. Do not refresh the browser" + "value": "Searching for your sources. Do not refresh the browser" } ], "loadingStateTitle": [ { "type": 0, - "value": "Looking for integrations..." + "value": "Looking for sources..." } ], "maintenanceEmptyStateDesc": [ @@ -9754,7 +9754,7 @@ "markupOrDiscountModalDesc": [ { "type": 0, - "value": "Use markup/discount to manipulate how the raw costs are being calculated for your integrations. Note, costs calculated from price list rates will not be affected by this." + "value": "Use markup/discount to manipulate how the raw costs are being calculated for your sources. Note, costs calculated from price list rates will not be affected by this." } ], "markupOrDiscountNumber": [ @@ -10226,7 +10226,7 @@ "noProvidersStateGetStarted": [ { "type": 0, - "value": "Get started with Integrations" + "value": "Get started with Sources" } ], "noProvidersStateIbmDesc": [ @@ -11260,7 +11260,7 @@ }, { "type": 0, - "value": ", which is assigned to the following integrations:" + "value": ", which is assigned to the following sources:" } ] } @@ -11817,7 +11817,7 @@ "sourceType": [ { "type": 0, - "value": "Integration" + "value": "Source type" } ], "sourceTypes": [ @@ -11882,7 +11882,7 @@ "sources": [ { "type": 0, - "value": "Integrations" + "value": "Sources" } ], "start": [ @@ -11965,7 +11965,7 @@ "tagDesc": [ { "type": 0, - "value": "Enable your tags and labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. " + "value": "Enable your data source labels to be used as tag keys for report grouping and filtering. Changes will be reflected within 24 hours. " }, { "type": 1, @@ -22571,7 +22571,7 @@ "noDataStateDesc": [ { "type": 0, - "value": "We have detected a source, but we are not done processing the incoming data. The time to process could take up to 24 hours. Try refreshing the page at a later time." + "value": "We have detected an integration, but we are not done processing the incoming data. The time to process could take up to 24 hours. Try refreshing the page at a later time." } ], "noDataStateRefresh": [ @@ -22679,7 +22679,7 @@ "noProvidersStateOverviewDesc": [ { "type": 0, - "value": "Add a source, like an OpenShift Container Platform cluster or a cloud services account, to see a total cost breakdown as well as usage information like instance counts and storage." + "value": "Add an integration, like an OpenShift Container Platform cluster or a cloud services account, to see a total cost breakdown as well as usage information like instance counts and storage." } ], "noProvidersStateOverviewTitle": [ diff --git a/locales/translations.json b/locales/translations.json index 0af1e6fee..1d4b0637a 100644 --- a/locales/translations.json +++ b/locales/translations.json @@ -369,7 +369,7 @@ "next": "next", "no": "No", "noDataForDate": "No data available for {dateRange}", - "noDataStateDesc": "We have detected a source, but we are not done processing the incoming data. The time to process could take up to 24 hours. Try refreshing the page at a later time.", + "noDataStateDesc": "We have detected an integration, but we are not done processing the incoming data. The time to process could take up to 24 hours. Try refreshing the page at a later time.", "noDataStateRefresh": "Refresh this page", "noDataStateTitle": "Still processing the data", "noExportsStateTitle": "There are no export files available", @@ -387,7 +387,7 @@ "noProvidersStateOcpAddSources": "Add an OpenShift cluster to Cost Management", "noProvidersStateOcpDesc": "Add an OpenShift Container Platform cluster to see a total cost breakdown of your pods by cluster, node, project, or labels.", "noProvidersStateOcpTitle": "Track your OpenShift spending!", - "noProvidersStateOverviewDesc": "Add a source, like an OpenShift Container Platform cluster or a cloud services account, to see a total cost breakdown as well as usage information like instance counts and storage.", + "noProvidersStateOverviewDesc": "Add an integration, like an OpenShift Container Platform cluster or a cloud services account, to see a total cost breakdown as well as usage information like instance counts and storage.", "noProvidersStateOverviewTitle": "Track your spending!", "noResultsFound": "No results found", "notAuthorizedStateAws": "Amazon Web Services in Cost Management", diff --git a/src/locales/messages.ts b/src/locales/messages.ts index 93864c12b..e5f071b93 100644 --- a/src/locales/messages.ts +++ b/src/locales/messages.ts @@ -2385,7 +2385,7 @@ export default defineMessages({ }, noDataStateDesc: { defaultMessage: - 'We have detected a source, but we are not done processing the incoming data. The time to process could take up to 24 hours. Try refreshing the page at a later time.', + 'We have detected an integration, but we are not done processing the incoming data. The time to process could take up to 24 hours. Try refreshing the page at a later time.', description: 'still processing request, 24 hour message', id: 'noDataStateDesc', }, @@ -2488,9 +2488,9 @@ export default defineMessages({ }, noProvidersStateOverviewDesc: { defaultMessage: - 'Add a source, like an OpenShift Container Platform cluster or a cloud services account, to see a total cost breakdown as well as usage information like instance counts and storage.', + 'Add an integration, like an OpenShift Container Platform cluster or a cloud services account, to see a total cost breakdown as well as usage information like instance counts and storage.', description: - 'Add a source, like an OpenShift Container Platform cluster or a cloud services account, to see a total cost breakdown as well as usage information like instance counts and storage.', + 'Add an integration, like an OpenShift Container Platform cluster or a cloud services account, to see a total cost breakdown as well as usage information like instance counts and storage.', id: 'noProvidersStateOverviewDesc', }, noProvidersStateOverviewTitle: {