From 4ef9d9584a6bfc79ff8f0cb8039b9623a5f1c204 Mon Sep 17 00:00:00 2001 From: flowerinthenight Date: Tue, 17 Dec 2024 15:06:03 +0900 Subject: [PATCH] try build using 29.1 --- openapiv2/apidocs.swagger.json | 4434 +++++++++++++++++--------------- 1 file changed, 2377 insertions(+), 2057 deletions(-) diff --git a/openapiv2/apidocs.swagger.json b/openapiv2/apidocs.swagger.json index f36c1aba..d4224440 100644 --- a/openapiv2/apidocs.swagger.json +++ b/openapiv2/apidocs.swagger.json @@ -175,7 +175,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ExportAuditLogs rpc.", "in": "body", "required": true, "schema": { @@ -263,7 +262,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Admin.CreateCloudWatchMetricsStream rpc.", "in": "body", "required": true, "schema": { @@ -327,7 +325,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Admin.CreateDefaultCostAccess rpc.", "in": "body", "required": true, "schema": { @@ -410,7 +407,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -473,7 +469,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -572,7 +567,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Admin.CreateNotificationChannel rpc.", "in": "body", "required": true, "schema": { @@ -629,7 +623,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -683,34 +676,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Required. Name of the notification channel." - }, - "type": { - "type": "string", - "description": "Required. Valid values: `email`, `slack`, `msteams`." - }, - "email": { - "$ref": "#/definitions/apiEmailChannel", - "description": "Required if type = `email`." - }, - "slack": { - "$ref": "#/definitions/apiSlackChannel", - "description": "Required if type = `slack`." - }, - "msteams": { - "$ref": "#/definitions/apiMSTeamsChannel", - "description": "Required if type = `msteams`." - }, - "product": { - "type": "string", - "description": "Optional. For Octo use only: `octo`." - } - }, - "description": "Request message for the Admin.UpdateNotificationChannel rpc." + "$ref": "#/definitions/v1UpdateNotificationChannelRequest" } } ], @@ -740,7 +706,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Admin.CreateDefaultNotificationChannel rpc.", "in": "body", "required": true, "schema": { @@ -795,7 +760,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Admin.SaveNotificationSettings rpc.", "in": "body", "required": true, "schema": { @@ -850,7 +814,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Admin.CreateNotificationTypeChannels rpc.", "in": "body", "required": true, "schema": { @@ -908,7 +871,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -969,29 +931,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "channels": { - "type": "array", - "items": { - "type": "string" - }, - "title": "Required" - }, - "enabled": { - "type": "boolean", - "title": "Required" - }, - "notificationType": { - "type": "string", - "description": "Required\nValid values:\n`InvoiceCalculationStarted`,\n`InvoiceCalculationFinished`,\n`CurUpdatedAfterInvoice`.\n`AccountBudgetAlert`." - }, - "account": { - "$ref": "#/definitions/adminv1NotificationAccount", - "description": "Optional. only available Wave(Pro)." - } - }, - "description": "Request message for the Admin.UpdateNotificationTypeChannels rpc." + "$ref": "#/definitions/v1UpdateNotificationRequest" } } ], @@ -1113,7 +1053,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Iam.CreateApiClient rpc.", "in": "body", "required": true, "schema": { @@ -1134,7 +1073,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -1259,7 +1197,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -1344,13 +1281,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "featureFlags": { - "$ref": "#/definitions/apiFeatureFlags" - } - }, - "description": "Request message for the Iam.UpdateFeatureFlags rpc." + "$ref": "#/definitions/v1UpdateFeatureFlagsRequest" } } ], @@ -1388,7 +1319,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -1402,7 +1332,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Iam.CreateIdentityProvider rpc.", "in": "body", "required": true, "schema": { @@ -1423,7 +1352,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -1499,7 +1427,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Iam.CreateIpFilter rpc.", "in": "body", "required": true, "schema": { @@ -1520,7 +1447,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -1608,8 +1534,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "description": "Request message for the Iam.CreatePartnerToken rpc." + "$ref": "#/definitions/v1CreatePartnerTokenRequest" } } ], @@ -1649,14 +1574,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "token": { - "type": "string", - "description": "Required. The previous (old) token to be refreshed." - } - }, - "description": "Request message for the Iam.RefreshPartnerToken rpc." + "$ref": "#/definitions/v1RefreshPartnerTokenRequest" } } ], @@ -1686,7 +1604,6 @@ "parameters": [ { "name": "body", - "description": "Request for message Iam.ValidateVerificationCode rpc.", "in": "body", "required": true, "schema": { @@ -1782,7 +1699,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Iam.CreateRole rpc.", "in": "body", "required": true, "schema": { @@ -1803,7 +1719,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -1871,21 +1786,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "newName": { - "type": "string", - "description": "Optional. If set, update the current name to this." - }, - "permissions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Required. The list of permissions to attach to this role." - } - }, - "description": "Request message for the Iam.UpdateRole rpc." + "$ref": "#/definitions/v1UpdateRoleRequest" } } ], @@ -1945,7 +1846,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Iam.CreateUserRoleMapping rpc.", "in": "body", "required": true, "schema": { @@ -1977,7 +1877,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Iam.UpdateUserRoleMapping rpc.", "in": "body", "required": true, "schema": { @@ -2041,7 +1940,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Iam.CreateUser rpc.", "in": "body", "required": true, "schema": { @@ -2091,7 +1989,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -2263,7 +2160,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -2296,7 +2192,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -2320,8 +2215,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "description": "Request message for the Operations.CancelOperation rpc." + "$ref": "#/definitions/v1CancelOperationRequest" } } ], @@ -2359,7 +2253,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -2394,7 +2287,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Organization.CreateOrg rpc.", "in": "body", "required": true, "schema": { @@ -2415,7 +2307,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -2429,7 +2320,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Organization.UpdateMetadata rpc.", "in": "body", "required": true, "schema": { @@ -2450,7 +2340,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -2464,7 +2353,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Organization.UpdatePassword rpc.", "in": "body", "required": true, "schema": { @@ -2485,7 +2373,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -2509,7 +2396,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -2520,14 +2406,6 @@ } } }, - "parameters": [ - { - "name": "key", - "in": "query", - "required": false, - "type": "string" - } - ], "tags": [ "Organization" ] @@ -2610,36 +2488,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "service": { - "type": "string", - "description": "Required. Cloud vendor service. \nSupported services can be listed using `/{vendor}/services` endpoint. For usage information visit https://labs.alphaus.cloud/blueapidocs/#/Pricing/Pricing_GetSupportedServices." - }, - "region": { - "type": "string", - "description": "Required. Region code.\nSupported regions can be listed using `/{vendor}/services` endpoint. For usage information visit https://labs.alphaus.cloud/blueapidocs/#/Pricing/Pricing_GetSupportedServices.\nView all available AWS services by region at https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/.\nView all available Azure services by region at https://azure.microsoft.com/en-us/explore/global-infrastructure/products-by-region/." - }, - "token": { - "type": "string", - "description": "Optional. Supply token that is included in the latest response to continue fetching the remaining chunks of data. No further data can be retrieved once the token returned is empty." - }, - "filters": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Optional. Filters to apply to the pricing data.\nThis is a map of column names and values to filter pricing items. Each key-value pair in the map represents a filter condition.\nSupported filter key-value pairs can be listed using `/{vendor}/services` endpoint. For usage information visit https://labs.alphaus.cloud/blueapidocs/#/Pricing/Pricing_GetSupportedServices.\n\nFor example, if you want to return AWS EC2 items that has All Upfront purchase option, add `\"purchaseOption\": \"All Upfront\"` to the filters.\n\nMultiple key-value pairs are supported but keys should not be duplicated.\nFor example, for AWS EC2, the following is valid,\n```\n\"filters\": {\n \"purchaseOption\": \"All Upfront\",\n \"operatingSystem\": \"Windows\"\n}\n```\nbut not the following,\n```\n\"filters\": {\n \"purchaseOption\": \"All Upfront\",\n \"purchaseOption\": \"Partial Upfront\"\n}\n```" - }, - "columns": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. Only specified columns will be returned, if provided.\nAll columns will be returned if this array is empty.\nSupported columns can be listed using `/{vendor}/services` endpoint. For usage information visit https://labs.alphaus.cloud/blueapidocs/#/Pricing/Pricing_GetSupportedServices." - } - }, - "description": "Request message for Pricing.GetPricing rpc." + "$ref": "#/definitions/v1GetPricingRequest" } } ], @@ -2740,7 +2589,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the CreateAccessGroup rpc.", "in": "body", "required": true, "schema": { @@ -2799,7 +2647,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -2853,25 +2700,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Optional. access group name. Set only the name to be changed.\n\nWe recommend the name length of 1~60 characters." - }, - "description": { - "type": "string", - "description": "Optional. access group description. Set only the description to be changed.\n\nWe recommend the description length of 0~150 characters." - }, - "billingGroups": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. Billing group to be included in the access group.\n\nYou can only include billing groups with the same calculation type and currency type.\nSet only the billingGroups to be changed.\nSpecify the billingInternalIds. For example: [`billingInternalId1`,`billingInternalId2`,`billingInternalId3`]" - } - }, - "description": "Request message for the UpdateAccessGroup rpc." + "$ref": "#/definitions/v1UpdateAccessGroupRequest" } } ], @@ -2888,7 +2717,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -2902,7 +2730,6 @@ "parameters": [ { "name": "body", - "description": "Request message for Register Data Access. For azure and gcp.", "in": "body", "required": true, "schema": { @@ -2975,7 +2802,7 @@ }, { "name": "vendor", - "description": "Vendor (GCP/Azure)", + "description": "Vendor (GCP/Azure).", "in": "query", "required": false, "type": "string" @@ -2999,7 +2826,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -3020,7 +2846,7 @@ }, { "name": "vendor", - "description": "Vendor (GCP/Azure)", + "description": "Vendor (GCP/Azure).", "in": "query", "required": false, "type": "string" @@ -3044,7 +2870,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -3068,30 +2893,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "vendor": { - "type": "string", - "title": "GCP or Azure" - }, - "gcpOptions": { - "$ref": "#/definitions/coverGcpOptions", - "title": "GCP Options" - }, - "azureOptions": { - "$ref": "#/definitions/apicoverAzureOptions", - "title": "Azure Options" - }, - "awsOptions": { - "$ref": "#/definitions/apicoverAwsOptions", - "title": "AWS Options" - }, - "accountType": { - "type": "string", - "title": "Account Type" - } - }, - "title": "Request message for UpdateDataAccess (GCP/Azure)" + "$ref": "#/definitions/v1UpdateDataAccessRequest" } } ], @@ -3176,7 +2978,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -3231,26 +3032,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "config": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/apiConfigFilters" - }, - "description": "Required. \nA list of filtering options. See [api.ConfigFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." - }, - "accounts": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/apiManagementAccount" - }, - "description": "Optional." - } - }, - "description": "Request message for the Billing.CreateAdjustmentConfig rpc." + "$ref": "#/definitions/v1CreateAdjustmentConfigRequest" } } ], @@ -3288,26 +3070,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "config": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/apiConfigFilters" - }, - "description": "Optional." - }, - "accounts": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/apiManagementAccount" - }, - "description": "Optional." - } - }, - "description": "Request message for the Billing.UpdateAdjustmentConfig rpc." + "$ref": "#/definitions/v1UpdateAdjustmentConfigRequest" } } ], @@ -3338,7 +3101,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the CreateBudgetAlerts rpc.", "in": "body", "required": true, "schema": { @@ -3359,7 +3121,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -3455,7 +3216,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -3486,7 +3246,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -3510,32 +3269,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "required. alert name" - }, - "alertEnabled": { - "type": "boolean", - "description": "required." - }, - "notificationChannels": { - "type": "array", - "items": { - "type": "string" - }, - "description": "required. Notification Channel Ids." - }, - "frequency": { - "type": "string", - "description": "required. Frequency." - }, - "costGroupId": { - "type": "string", - "title": "required. cost group id" - } - } + "$ref": "#/definitions/v1UpdateAnomalyAlertRequest" } } ], @@ -3698,41 +3432,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "If optional fields are not supplied, no changes occur.\nOptional." - }, - "fixedAmount": { - "type": "number", - "format": "float", - "description": "Both are optional." - }, - "percentage": { - "type": "number", - "format": "float" - }, - "granularity": { - "type": "string", - "description": "Optional. daily or monthly. Only 'daily' is supported for now." - }, - "costGroups": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. Cost group IDs." - }, - "channels": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. Channel IDs." - } - }, - "title": "Request message for UpdateAlertDetails" + "$ref": "#/definitions/v1UpdateAlertDetailsRequest" } } ], @@ -3749,7 +3449,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -3845,7 +3544,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -3876,7 +3574,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -3900,39 +3597,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "alertEnabled": { - "type": "boolean", - "description": "required." - }, - "channels": { - "type": "array", - "items": { - "type": "string" - }, - "description": "required. Notification Channel Ids." - }, - "frequencies": { - "type": "array", - "items": { - "type": "string", - "format": "int64" - }, - "description": "required. Frequencies." - }, - "costGroups": { - "type": "array", - "items": { - "type": "string" - }, - "title": "Required. Cost Group Ids" - }, - "name": { - "type": "string", - "title": "required. Name" - } - } + "$ref": "#/definitions/v1UpdateDiscountExpirationAlertRequest" } } ], @@ -3981,7 +3646,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -4036,37 +3700,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "vendor": { - "type": "string", - "description": "Required. At the moment, only `aws` is supported." - }, - "accounts": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Required. Lsit of accountId. For example, you set to [\"accountId1\",\"accountId2\",\"accountId3\"]." - }, - "notification": { - "$ref": "#/definitions/apiBudgetAlertNotification", - "description": "Required." - }, - "daily": { - "$ref": "#/definitions/apiDailyBudgetAlert", - "description": "Optional." - }, - "dailyRate": { - "$ref": "#/definitions/apiDailyRateIncreaseBudgetAlert", - "description": "Optional." - }, - "monthly": { - "$ref": "#/definitions/apiMonthlyBudgetAlert", - "description": "Optional." - } - }, - "description": "Request message for the UpdateBudgetAlerts rpc." + "$ref": "#/definitions/v1UpdateBudgetAlertsRequest" } } ], @@ -4106,7 +3740,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ReadBudgetAlerts rpc.", "in": "body", "required": true, "schema": { @@ -4149,7 +3782,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the RestoreAccountUsage rpc.", "in": "body", "required": true, "schema": { @@ -4192,7 +3824,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the RestoreAccountUsage rpc.", "in": "body", "required": true, "schema": { @@ -4235,7 +3866,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the CreateAllocator rpc.", "in": "body", "required": true, "schema": { @@ -4278,7 +3908,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ListFees rpc.", "in": "body", "required": true, "schema": { @@ -4321,7 +3950,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the RestoreFee rpc.", "in": "body", "required": true, "schema": { @@ -4364,7 +3992,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the CreateAllocator rpc.", "in": "body", "required": true, "schema": { @@ -4407,7 +4034,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the GetCostGroupFee rpc.", "in": "body", "required": true, "schema": { @@ -4450,7 +4076,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ListFees rpc.", "in": "body", "required": true, "schema": { @@ -4493,7 +4118,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the RestoreSavings rpc.", "in": "body", "required": true, "schema": { @@ -4536,7 +4160,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the CreateAllocator rpc.", "in": "body", "required": true, "schema": { @@ -4579,7 +4202,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the GetCostGroupAllocation rpc.", "in": "body", "required": true, "schema": { @@ -4643,7 +4265,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the CreateAllocator rpc.", "in": "body", "required": true, "schema": { @@ -4664,7 +4285,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -4717,39 +4337,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "category": { - "type": "string" - }, - "expiration": { - "type": "string", - "format": "int64" - }, - "startMonth": { - "type": "string", - "description": "Optional. The starting month of the allocator to be effective." - }, - "defaultAccount": { - "type": "string", - "description": "Optional. The default account for remaining costs. If not set, will allocate the cost to the original account." - }, - "criteria": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/v1Criteria" - }, - "description": "Required. Criteria for the adjustment to be applied." - }, - "allocator": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/v1Allocator" - } - } - } + "$ref": "#/definitions/v1CostAllocatorRequest" } } ], @@ -4820,14 +4408,14 @@ "parameters": [ { "name": "vendor", - "description": "Required: gcp", + "description": "Required: gcp.", "in": "query", "required": false, "type": "string" }, { "name": "target", - "description": "Required: projectId", + "description": "Required: projectId.", "in": "query", "required": false, "type": "string" @@ -4921,7 +4509,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Asset.ListResources rpc.", "in": "body", "required": true, "schema": { @@ -5018,7 +4605,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the CreateAccountAccess rpc.", "in": "body", "required": true, "schema": { @@ -5061,7 +4647,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ListAccountAccess rpc.", "in": "body", "required": true, "schema": { @@ -5095,7 +4680,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the CreateAccountAccess rpc.", "in": "body", "required": true, "schema": { @@ -5129,7 +4713,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the CreateAccountAccessStackset rpc.", "in": "body", "required": true, "schema": { @@ -5226,7 +4809,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Cost.ImportCurFiles rpc.", "in": "body", "required": true, "schema": { @@ -5269,7 +4851,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Billing.ListAwsCalculationHistory rpc.", "in": "body", "required": true, "schema": { @@ -5290,7 +4871,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -5324,7 +4904,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -5381,7 +4960,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -5451,21 +5029,21 @@ }, { "name": "calcType", - "description": "Optional. Filter by calcType. Format: calType=account\nValid values: account, tag", + "description": "Optional. Filter by calcType. Format: calType=account\nValid values: account, tag.", "in": "query", "required": false, "type": "string" }, { "name": "displayCost", - "description": "Optional. Filter by displayCost. Format: displayCost=unblended_cost\nvalid values: unblended_cost, true_unblended_cost", + "description": "Optional. Filter by displayCost. Format: displayCost=unblended_cost\nvalid values: unblended_cost, true_unblended_cost.", "in": "query", "required": false, "type": "string" }, { "name": "bgType", - "description": "Optional. For aws only, filter will be ignored for other vendors.\nValid values: default, imported", + "description": "Optional. For aws only, filter will be ignored for other vendors.\nValid values: default, imported.", "in": "query", "required": false, "type": "string" @@ -5495,7 +5073,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Billing.CreateBillingGroup rpc.", "in": "body", "required": true, "schema": { @@ -5643,7 +5220,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -5667,17 +5243,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "invoiceTemplateId": { - "type": "string", - "title": "Required. The invoice template ID to associate with the billing group" - } - }, - "title": "Request a message to update/create a billing group's invoice template", - "required": [ - "invoiceTemplateId" - ] + "$ref": "#/definitions/v1UpdateBillingGroupInvoiceTemplateRequest" } } ], @@ -5810,12 +5376,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "budgetData": { - "$ref": "#/definitions/coverBudgetData" - } - } + "$ref": "#/definitions/v1UpdateBudgetRequest" } } ], @@ -6021,22 +5582,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "If optional fields are not supplied, no changes occur.\nOptional. Either actual email address or slack/msteams channel name" - }, - "type": { - "type": "string", - "description": "Optional. email, slack, or msteams." - }, - "webhookUrl": { - "type": "string", - "description": "Optional. Only needed for slack and msteams type." - } - }, - "title": "Request message for UpdateChannelDetails" + "$ref": "#/definitions/v1UpdateChannelDetailsRequest" } } ], @@ -6299,23 +5845,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "threshold": { - "type": "number", - "format": "float", - "title": "Required" - }, - "isPercentage": { - "type": "boolean", - "description": "Required. When set to true, the threshold is a percentage to the actual cost. Otherwise, it is a fixed amount." - }, - "pastDataInMonths": { - "type": "string", - "format": "int64", - "description": "Optional. The number of past months to be used in training the model. Note: This will affect the results of anomaly detection. Default and max is 9 while min is 1." - } - } + "$ref": "#/definitions/v1SetCostGroupAnomalyOptionsRequest" } } ], @@ -6355,14 +5885,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "colorTheme": { - "type": "string", - "description": "Required. Color Theme." - } - }, - "title": "Request message for UpdateCostGroupColorTheme" + "$ref": "#/definitions/v1UpdateCostGroupColorThemeRequest" } } ], @@ -6402,13 +5925,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "combinations": { - "$ref": "#/definitions/coverCombinations" - } - }, - "title": "Request message for UpdateCostGroupCombinations" + "$ref": "#/definitions/v1UpdateCostGroupCombinationsRequest" } } ], @@ -6448,14 +5965,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "description": { - "type": "string", - "description": "Required. Description." - } - }, - "title": "Request message for UpdateCostGroupDescription" + "$ref": "#/definitions/v1UpdateCostGroupDescriptionRequest" } } ], @@ -6495,17 +6005,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "anomaly": { - "type": "boolean", - "title": "Required. Only anomaly is supported as of now" - }, - "visualBuilder": { - "type": "boolean", - "title": "Optional. Temporary storage of cost group creation UI preference" - } - } + "$ref": "#/definitions/v1SetCostGroupEventIndicatorRequest" } } ], @@ -6545,14 +6045,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "icon": { - "type": "string", - "description": "Required. Icon." - } - }, - "title": "Request message for UpdateCostGroupIcon" + "$ref": "#/definitions/v1UpdateCostGroupIconRequest" } } ], @@ -6592,14 +6085,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "image": { - "type": "string", - "description": "Required. Image." - } - }, - "title": "Request message for UpdateCostGroupImage" + "$ref": "#/definitions/v1UpdateCostGroupImageRequest" } } ], @@ -6639,14 +6125,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "userId": { - "type": "string", - "description": "Required. User Id." - } - }, - "title": "Request message for AssignCostGroupMember" + "$ref": "#/definitions/v1AssignCostGroupMemberRequest" } } ], @@ -6686,14 +6165,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "userId": { - "type": "string", - "description": "Required. User Id." - } - }, - "title": "Request message for RemoveCostGroupMember" + "$ref": "#/definitions/v1RemoveCostGroupMemberRequest" } } ], @@ -6733,14 +6205,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Required. Name." - } - }, - "title": "Request message for UpdateCostGroupName" + "$ref": "#/definitions/v1UpdateCostGroupNameRequest" } } ], @@ -6832,7 +6297,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -6884,15 +6348,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "description": { - "type": "string" - } - } + "$ref": "#/definitions/v1UpdateCustomFieldRequest" } } ], @@ -6954,7 +6410,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Billing.CreateCustomizedBillingService rpc.", "in": "body", "required": true, "schema": { @@ -7021,7 +6476,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -7059,7 +6513,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -7090,21 +6543,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "setting": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/SetCustomizedBillingServiceBillingGroupRequestCustomizedBillingServiceBillingSetting" - }, - "description": "Required. customized billing service setting." - } - }, - "description": "Request message for the Billing.SetCustomizedBillingServiceBillingGroup rpc.", - "required": [ - "setting" - ] + "$ref": "#/definitions/v1SetCustomizedBillingServiceBillingGroupRequest" } } ], @@ -7158,7 +6597,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -7212,22 +6650,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "customizedBillingService": { - "$ref": "#/definitions/rippleCustomizedBillingService", - "description": "Required. The updated customized billing service object." - }, - "updateMask": { - "type": "string", - "description": "Required. Indicates which fields in the provided CustomizedBillingService to update. Must be\nspecified and non-empty." - } - }, - "description": "Request message for the Billing.UpdateCustomizedBillingService rpc.", - "required": [ - "customizedBillingService", - "updateMask" - ] + "$ref": "#/definitions/v1UpdateCustomizedBillingServiceRequest" } } ], @@ -7266,7 +6689,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Billing.ReadCustomizedBillingServices rpc.", "in": "body", "required": true, "schema": { @@ -7320,7 +6742,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -7331,20 +6752,6 @@ } } }, - "parameters": [ - { - "name": "groupId", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "vendor", - "in": "query", - "required": false, - "type": "string" - } - ], "tags": [ "Billing" ] @@ -7387,7 +6794,7 @@ }, { "name": "isAssociated", - "description": "this setting is ignored if groupId is not empty\nset true to return only the free format associated to a BG", + "description": "this setting is ignored if groupId is not empty\nset true to return only the free format associated to a BG.", "in": "query", "required": false, "type": "boolean" @@ -7404,7 +6811,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -7474,8 +6880,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "description": "Request message for the ListInvoiceStatus rpc." + "$ref": "#/definitions/v1ListInvoiceStatusRequest" } } ], @@ -7579,25 +6984,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "vendor": { - "type": "string", - "description": "Required. At the moment, only `aws` is supported." - }, - "allGroups": { - "type": "boolean", - "description": "Optional. You can set all billing groups.\n\nIf this parameter is not set, The list set to `groups` is used." - }, - "groups": { - "type": "array", - "items": { - "type": "string" - }, - "title": "Optional. You can set it to a list of billing internal group id" - } - }, - "description": "Request message for the CreateInvoice rpc." + "$ref": "#/definitions/v1CreateInvoiceRequest" } } ], @@ -7637,14 +7024,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "groupId": { - "type": "string", - "description": "Optional.\n\nFor Ripple, only billing internal ids are supported at the moment. You can set it to a single group or a comma-separated list of groups. ex) `group1,group2`. if want to set all group, set `*`. \n\nImplied as the parent billing group for Wave(Pro) users." - } - }, - "description": "Request message for the ExportCostFiltersFile rpc." + "$ref": "#/definitions/v1ExportInvoiceFileRequest" } } ], @@ -7661,7 +7041,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -7685,25 +7064,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "allGroups": { - "type": "boolean", - "description": "Optional. You can set all billing groups.\n\nIf this parameter is not set, The list set to `groups` is used." - }, - "groups": { - "type": "array", - "items": { - "type": "string" - }, - "title": "Optional. You can set it to a list of billing internal group id" - }, - "enabled": { - "type": "boolean", - "description": "Required. You can set display or hiding.\n\nIf true, Hiding Invoice. If false, Display Invoice." - } - }, - "description": "Request message for the UpdateInvoicePreviews rpc." + "$ref": "#/definitions/v1UpdateInvoicePreviewsRequest" } } ], @@ -7743,14 +7104,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "groupId": { - "type": "string", - "description": "Required.\n\nFor Ripple, only billing internal ids are supported at the moment. You can set it to a single group\n\nImplied as the parent billing group for Wave(Pro) users." - } - }, - "description": "Request message for the Cost.GetInvoiceRequest rpc." + "$ref": "#/definitions/v1GetInvoiceRequest" } } ], @@ -7789,7 +7143,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ListInvoice rpc.", "in": "body", "required": true, "schema": { @@ -7832,7 +7185,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ReadInvoiceCosts rpc.", "in": "body", "required": true, "schema": { @@ -7875,7 +7227,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ReadInvoiceGroupCosts rpc.", "in": "body", "required": true, "schema": { @@ -7918,7 +7269,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ReadInvoiceOverviews rpc.", "in": "body", "required": true, "schema": { @@ -8696,31 +8046,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "usage": { - "type": "string" - }, - "intention": { - "type": "string" - }, - "companyName": { - "type": "string" - }, - "linkSource": { - "type": "string" - }, - "hasSubscribedUpdates": { - "type": "boolean" - } - }, - "title": "Request message for UpdateUserProfile" + "$ref": "#/definitions/v1UpdateUserProfileRequest" } } ], @@ -8920,14 +8246,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "isAdmin": { - "type": "boolean", - "description": "Required. IsAdmin." - } - }, - "title": "Request message for UpdateMemberPermission" + "$ref": "#/definitions/v1UpdateMemberPermissionRequest" } } ], @@ -9011,14 +8330,14 @@ "parameters": [ { "name": "startDate", - "description": "Required. Start date Format: \"YYYYMMDD\"", + "description": "Required. Start date Format: \"YYYYMMDD\".", "in": "query", "required": false, "type": "string" }, { "name": "endDate", - "description": "Required. End date Format: \"YYYYMMDD\"", + "description": "Required. End date Format: \"YYYYMMDD\".", "in": "query", "required": false, "type": "string" @@ -9238,7 +8557,7 @@ }, { "name": "optimizationStatus", - "description": "Valid inputs are: \"in-progress\", \"error\", \"open\",\"done\" and \"all\"", + "description": "Valid inputs are: \"in-progress\", \"error\", \"open\",\"done\" and \"all\".", "in": "query", "required": false, "type": "string" @@ -9513,7 +8832,7 @@ "in": "body", "required": true, "schema": { - "type": "object" + "$ref": "#/definitions/v1ExecuteOptimizationRequest" } } ], @@ -9604,21 +8923,21 @@ }, { "name": "startDate", - "description": "Required. Start date Format: \"YYYYMMDD\"", + "description": "Required. Start date Format: \"YYYYMMDD\".", "in": "query", "required": false, "type": "string" }, { "name": "endDate", - "description": "Required. End date Format: \"YYYYMMDD\"", + "description": "Required. End date Format: \"YYYYMMDD\".", "in": "query", "required": false, "type": "string" }, { "name": "reportType", - "description": "Required. Report Type. Valid inputs are: \"quarterly\", \"yearly\"", + "description": "Required. Report Type. Valid inputs are: \"quarterly\", \"yearly\".", "in": "query", "required": false, "type": "string" @@ -9697,7 +9016,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the CreateReseller rpc.", "in": "body", "required": true, "schema": { @@ -9755,7 +9073,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -9809,47 +9126,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "email": { - "type": "string", - "description": "Optional." - }, - "password": { - "type": "string", - "description": "Optional.\n\nWe recommend a password length of 8~32 characters. If you send 0 characters, a password will be generated automatically." - }, - "waveConfig": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/rippleResellerConfig" - }, - "description": "Set only the config to be changed.\nFor example, If you want to change only dashboardGraph, set `{\"waveConfig\": [{\"key\": \"dashboardGraph\",\"value\": true}]}` as a parameter", - "title": "Optional. wave feature config" - }, - "aquaConfig": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/rippleResellerConfig" - }, - "description": "Set only the config to be changed.\nFor example, If you want to change only aqRiManagement, set `{\"waveConfig\": [{\"key\": \"aqRiManagement\",\"value\": true}]}` as a parameter", - "title": "Optional. aqua feature config" - }, - "notification": { - "type": "boolean", - "description": "Optional.\n\nIf valid when email or password is updated, you will be notified via email address.\nIf only waveConfig or aquaConfig is changed, it is ignored." - }, - "updateMask": { - "type": "string", - "description": "Required." - } - }, - "description": "Request message for the UpdateReseller rpc.", - "required": [ - "updateMask" - ] + "$ref": "#/definitions/v1UpdateResellerRequest" } } ], @@ -9959,7 +9236,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the Billing.CreateInvoiceServiceDiscounts rpc.", "in": "body", "required": true, "schema": { @@ -9993,7 +9269,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ExportAccountInvoiceServiceDiscounts rpc.", "in": "body", "required": true, "schema": { @@ -10027,7 +9302,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ExportBillingGroupInvoiceServiceDiscounts rpc.", "in": "body", "required": true, "schema": { @@ -10048,7 +9322,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -10102,18 +9375,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "accounts": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/v1AccountServiceDiscounts" - }, - "description": "Required." - } - }, - "description": "Request message for the CreateAccountInvoiceServiceDiscounts rpc." + "$ref": "#/definitions/v1CreateAccountInvoiceServiceDiscountsRequest" } } ], @@ -10151,18 +9413,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "accounts": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/v1AccountServiceDiscounts" - }, - "description": "Required." - } - }, - "description": "Request message for the UpdateAccountInvoiceServiceDiscounts rpc." + "$ref": "#/definitions/v1UpdateAccountInvoiceServiceDiscountsRequest" } } ], @@ -10211,8 +9462,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "description": "Request message for the ListAccountInvoiceServiceDiscounts rpc." + "$ref": "#/definitions/v1ListAccountInvoiceServiceDiscountsRequest" } } ], @@ -10229,7 +9479,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -10253,17 +9502,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "accounts": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/v1AccountServiceDiscounts" - }, - "description": "Required." - } - } + "$ref": "#/definitions/v1RemoveAccountInvoiceServiceDiscountsRequest" } } ], @@ -10317,7 +9556,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -10371,22 +9609,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "invoiceServiceDiscounts": { - "$ref": "#/definitions/apiripplev1InvoiceServiceDiscounts", - "description": "Required. The updated invoice service discounts object." - }, - "updateMask": { - "type": "string", - "description": "Required. Indicates which fields in the provided InvoiceServiceDiscounts to update. Must be\nspecified and non-empty." - } - }, - "description": "Request message for the Billing.UpdateInvoiceServiceDiscounts rpc.", - "required": [ - "invoiceServiceDiscounts", - "updateMask" - ] + "$ref": "#/definitions/v1UpdateInvoiceServiceDiscountsRequest" } } ], @@ -10435,8 +9658,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "description": "Request message for the ReadServiceDiscountsServices rpc." + "$ref": "#/definitions/v1ReadServiceDiscountsServicesRequest" } } ], @@ -10466,7 +9688,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ExportServiceDiscounts rpc.", "in": "body", "required": true, "schema": { @@ -10509,7 +9730,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ListInvoiceServiceDiscounts rpc.", "in": "body", "required": true, "schema": { @@ -10745,25 +9965,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "unitName": { - "type": "string", - "title": "Optional" - }, - "unitItems": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/coverUnitItem" - }, - "title": "Optional" - }, - "description": { - "type": "string", - "title": "Optional" - } - } + "$ref": "#/definitions/v1UpdateUnitTypeRequest" } } ], @@ -10946,17 +10148,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "layout": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/coverWidgetData" - } - } - }, - "title": "Request message for UpdateViewLayout" + "$ref": "#/definitions/v1UpdateViewLayoutRequest" } } ], @@ -11003,20 +10195,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "options": { - "type": "object" - }, - "requests": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/coverLayoutRequests" - } - } - }, - "title": "Request message for UpdateViewWidget" + "$ref": "#/definitions/v1UpdateViewWidgetRequest" } } ], @@ -11149,28 +10328,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "isPrivate": { - "type": "boolean" - }, - "isEditable": { - "type": "boolean" - }, - "colorTheme": { - "type": "string" - } - }, - "title": "Request message for UpdateView" + "$ref": "#/definitions/v1UpdateViewRequest" } } ], @@ -11209,13 +10367,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "colorTheme": { - "type": "string" - } - }, - "title": "Request message for UpdateViewColorTheme" + "$ref": "#/definitions/v1UpdateViewColorThemeRequest" } } ], @@ -11254,13 +10406,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "currency": { - "type": "string" - } - }, - "title": "Request message for UpdateViewCurrency" + "$ref": "#/definitions/v1UpdateViewCurrencyRequest" } } ], @@ -11300,13 +10446,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "menuItemId": { - "type": "string" - } - }, - "title": "Request message for AddSideMenuFavorite" + "$ref": "#/definitions/v1AddSideMenuFavoriteRequest" } } ], @@ -11346,17 +10486,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "sidemenustate": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/coverSideMenuState" - } - } - }, - "title": "Request message for UpdateSideMenuState" + "$ref": "#/definitions/v1UpdateSideMenuStateRequest" } } ], @@ -11396,13 +10526,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "menuItemId": { - "type": "string" - } - }, - "title": "Request message for RemoveSideMenuFavorite" + "$ref": "#/definitions/v1RemoveSideMenuFavoriteRequest" } } ], @@ -11441,7 +10565,6 @@ "parameters": [ { "name": "body", - "description": "Request message for the ProxyCreateCompletion rpc.", "in": "body", "required": true, "schema": { @@ -11454,87 +10577,6 @@ ] } }, - "/v1/{vendor_1}/payers": { - "get": { - "summary": "Get list of all payers", - "operationId": "Cover_GetPayers", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/v1GetPayersResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/googlerpcStatus" - } - } - }, - "parameters": [ - { - "name": "vendor_1", - "description": "Required. Cloud vendor.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Cover" - ] - }, - "post": { - "summary": "Assign payer to a linked account", - "operationId": "Cover_AssignPayer", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/v1AssignPayerResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/googlerpcStatus" - } - } - }, - "parameters": [ - { - "name": "vendor_1", - "description": "Required. Cloud vendor.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "accountId": { - "type": "string", - "description": "Required. Account Id." - }, - "payerId": { - "type": "string", - "description": "Required. The Payer Id." - } - }, - "title": "Request message for AssignPayer" - } - } - ], - "tags": [ - "Cover" - ] - } - }, "/v1/{vendor}/account": { "post": { "summary": "Registers an account", @@ -11543,7 +10585,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -11567,18 +10608,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "accountId": { - "type": "string", - "description": "Required. The AWS account Id." - }, - "accountName": { - "type": "string", - "title": "The account name" - } - }, - "description": "Request message for the RegisterAccount rpc." + "$ref": "#/definitions/v1RegisterAccountRequest" } } ], @@ -11671,30 +10701,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Required. The account id to register." - }, - "name": { - "type": "string", - "description": "Optional. If empty, set to the value of `id`." - }, - "parent": { - "type": "string", - "description": "Optional. The parent `billingInternalId` of the billing group to which this account will belong to." - }, - "awsOptions": { - "$ref": "#/definitions/v1CreateAccountRequestAwsOptions", - "description": "Required for the `aws` vendor. AWS-specific options." - }, - "gcpOptions": { - "$ref": "#/definitions/v1CreateAccountRequestGcpOptions", - "description": "Required for the `gcp` vendor. GCP-specific options." - } - }, - "description": "Request message for the Cost.CreateAccount rpc." + "$ref": "#/definitions/v1CreateAccountRequest" } } ], @@ -11734,16 +10741,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "accountIds": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Required. A comma-separated list of account ids. For example, you set to [\"accountId1\",\"accountId2\",\"accountId3\"]." - } - } + "$ref": "#/definitions/v1CheckAccountsRequest" } } ], @@ -11897,7 +10895,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -11965,14 +10962,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Optional." - } - }, - "description": "Request message for the Cost.UpdateAccount rpc." + "$ref": "#/definitions/v1UpdateAccountRequest" } } ], @@ -12022,30 +11012,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "groupId": { - "type": "string", - "description": "Optional. At the moment, only billing internal ids are supported. If set, reads the non-usage-based adjustment details of this group. Valid only if `accountId` is not set. If both `groupId` and `accountId` are not set, reads the adjustment details of the whole organization. Only valid for Ripple users. Implied (or discarded) for Wave(Pro) users." - }, - "accountId": { - "type": "string", - "description": "Optional. If set, reads the non-usaged-based adjustment details of this account. Also invalidates the `groupId` value even if set. If both `groupId` and `accountId` are not set, reads the adjustment details of the whole organization." - }, - "startTime": { - "type": "string", - "description": "Optional. The UTC date to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`." - }, - "endTime": { - "type": "string", - "description": "Optional. The UTC date to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`." - }, - "awsOptions": { - "$ref": "#/definitions/v1ReadAdjustmentsRequestAwsOptions", - "description": "Optional. Valid only for the `aws` vendor. AWS-specific options." - } - }, - "description": "Request message for the Cost.ReadAdjustments rpc." + "$ref": "#/definitions/v1ReadAdjustmentsRequest" } } ], @@ -12099,7 +11066,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -12167,14 +11133,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "budgetAlert": { - "$ref": "#/definitions/apiwaveBudgetAlert", - "description": "Required. Budget alert setting." - } - }, - "title": "Request message for CreateAccountBudgetAlerts" + "$ref": "#/definitions/v1CreateAccountBudgetAlertsRequest" } } ], @@ -12219,14 +11178,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "budgetAlert": { - "$ref": "#/definitions/apiwaveBudgetAlert", - "description": "Required. Budget alert setting.\n\nSet only the setting value to be changed.\nFor example, If you want to change only daily value, set `{\"budget\":[{\"id\":\"daily\",\"value\":100,\"enabled\":true}}` as a parameter\nThe same goes for notification. If you want to change only email value, set `{\"notification\":[{\"id\":\"email\",\"destination\":\"budgetalert-example@alphaus.cloud\",\"enabled\":true}}` as a parameter" - } - }, - "title": "Request message for UpdateAccountBudgetAlerts" + "$ref": "#/definitions/v1UpdateAccountBudgetAlertsRequest" } } ], @@ -12275,8 +11227,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "description": "Request message for the ReadAccountOriginalResources rpc." + "$ref": "#/definitions/v1ReadAccountOriginalResourcesRequest" } } ], @@ -12346,7 +11297,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -12384,7 +11334,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -12415,13 +11364,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "data": { - "$ref": "#/definitions/blueapiapiBudget" - } - }, - "title": "Request message for UpdateAccountBudget" + "$ref": "#/definitions/v1UpdateAccountBudgetRequest" } } ], @@ -12526,13 +11469,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "data": { - "$ref": "#/definitions/blueapiapiBudget" - } - }, - "title": "Request message for CreateAccountBudget" + "$ref": "#/definitions/v1CreateAccountBudgetRequest" } } ], @@ -12648,34 +11585,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "schedule": { - "type": "string", - "description": "Required. The desired schedule in UTC, using the unix-cron string format `* * * * *` which is a set of five fields in a line using the order: `minute hour day-of-the-month month day-of-the-week`.\n\n* `minute` values can be `0-59`\n* `hour` values can be `0-23`\n* `day-of-the-month` values can be `1-31`\n* `month` values can be `1-12`, or `JAN-DEC`\n* `day-of-the-week` values can be `0-6`, or `SUN-SAT`, or `7` for Sunday\n\nSpecial characters:\n* A field can contain an asterisk (*), which always stands for \"first-last\".\n* Ranges are two numbers separated with a hyphen (-) and the specified range is inclusive.\n* Following a range with `/NUMBER` specifies skips of the number's value through the range. For example, both `0-23/2` and `*/2` can be used in the `hour` field to specify execution every two hours.\n* A list is a set of numbers (or ranges) separated by commas (,). For example, `1,2,5,6` in the `month` field specifies an execution on the first, second, fifth, and sixth days of the month." - }, - "scheduleMacro": { - "type": "string", - "description": "Optional. Non-standard macro(s) that augment(s) `schedule`'s behavior. The only supported value for now is `@endofmonth`.\n\n`@endofmonth` - If set, the backend scheduler will only use the `minute` and `hour` part of `schedule`'s value and set the days to 28th, 29th, 30th, and 31st but the runner will do the filtering for the actual end of the trigger month. Note that this is different than setting `schedule` to, say, `0 0 28-31 * *`." - }, - "targetMonth": { - "type": "string", - "description": "Optional. The desired month to calculate. If not set, defaults to previous month. The only supported value for now is `@current`.\n\n`@current` - If set, calculate for the month the schedule is triggered (or current month)." - }, - "notificationChannel": { - "type": "string", - "description": "Optional. The channel id to use for notifications. At the moment, only email-type notification channels are supported. If not set, your default channel will be used. And if non-existent, an email-type notification channel will be created using your primary email address." - }, - "force": { - "type": "boolean", - "description": "Optional. Not used at the moment." - }, - "dryRun": { - "type": "boolean", - "description": "Optional. If set to true, skips the actual calculations. Useful as test, or reminder." - } - }, - "description": "Request message for the Cost.CreateCalculationsSchedule rpc." + "$ref": "#/definitions/v1CreateCalculationsScheduleRequest" } } ], @@ -12692,7 +11602,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -12827,18 +11736,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "awsOptions": { - "$ref": "#/definitions/v1CalculatorCostModifierAwsOptions", - "description": "Required if `{vendor}` is `aws`. AWS-specific options." - }, - "azureOptions": { - "$ref": "#/definitions/v1CalculatorCostModifierAzureOptions", - "description": "Required if `{vendor}` is `azure`. Azure-specific options." - } - }, - "description": "Request message for the Cost.CreateCalculatorCostModifier rpc." + "$ref": "#/definitions/v1CreateCalculatorCostModifierRequest" } } ], @@ -12855,7 +11753,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -12928,14 +11825,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "month": { - "type": "string", - "description": "Optional. The UTC month to query. Defaults to current month if empty. Format is `yyyymm`. For example, June 2021 will be `202106`." - } - }, - "description": "Request message for the Cost.ListCalculatorRunningAccounts rpc." + "$ref": "#/definitions/v1ListCalculatorRunningAccountsRequest" } } ], @@ -12986,7 +11876,7 @@ }, { "name": "accountId", - "description": "Optional. You can set it to a single account or a comma-separated list of accounts. If set, overrides `groupId`", + "description": "Optional. You can set it to a single account or a comma-separated list of accounts. If set, overrides `groupId`.", "in": "query", "required": false, "type": "string" @@ -13045,33 +11935,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "groupId": { - "type": "string", - "description": "Optional. If set, reads the cost attributes of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users.\n\nFor AWS Ripple, only billing internal ids are supported at the moment. Overriden when `accountId` is set to anything other than `*`. Set this and `accountId` to `*` to read the cost attributes of the whole organization. Optional for AWS Wave(Pro)." - }, - "accountId": { - "type": "string", - "description": "Optional. You can set it to a single account or a comma-separated list of accounts.\n\nFor AWS, setting this will override `groupId`. Set this and `groupId` to `*` to read the cost attributes of the whole organization." - }, - "startTime": { - "type": "string", - "description": "Optional. The UTC date to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`. The oldest supported date is `20200101`." - }, - "endTime": { - "type": "string", - "description": "Optional. The UTC date to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`." - }, - "awsOptions": { - "$ref": "#/definitions/v1ReadCostAttributesRequestAwsOptions", - "description": "Optional. Valid only for the `aws` vendor. AWS-specific options." - }, - "azureOptions": { - "$ref": "#/definitions/v1ReadCostAttributesRequestAzureOptions" - } - }, - "description": "Request message for the Cost.ReadCostAttributes rpc." + "$ref": "#/definitions/v1ReadCostAttributesRequest" } } ], @@ -13142,26 +12006,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "filterName": { - "type": "string", - "title": "Required. Filter Name. Specify characters between 1 ~ 100" - }, - "groupId": { - "type": "string", - "description": "Required. If set, reads the usage-based cost details of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users.\n\nFor AWS Ripple, only billing internal ids are supported at the moment. Overriden when `accountId` is set to anything other than `*`. Set this and `accountId` to `*` to read the usage-based cost details of the whole organization. Optional for AWS Wave(Pro)." - }, - "accountId": { - "type": "string", - "description": "Required. You can set it to a single account or a comma-separated list of accounts.\n\nFor AWS, setting this will override `groupId`. Set this and `groupId` to `*` to read the usage-based cost details of the whole organization." - }, - "awsOptions": { - "$ref": "#/definitions/v1ReadCostsRequestAwsOptions", - "description": "Required. Valid only for the `aws` vendor. AWS-specific options." - } - }, - "description": "Request message for the CreateCostFilters rpc." + "$ref": "#/definitions/v1CreateCostFiltersRequest" } } ], @@ -13178,7 +12023,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -13246,26 +12090,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "filterName": { - "type": "string", - "title": "Required. Filter Name. Specify characters between 1 ~ 100" - }, - "groupId": { - "type": "string", - "description": "Required. If set, reads the usage-based cost details of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users.\n\nFor AWS Ripple, only billing internal ids are supported at the moment. Overriden when `accountId` is set to anything other than `*`. Set this and `accountId` to `*` to read the usage-based cost details of the whole organization. Optional for AWS Wave(Pro)." - }, - "accountId": { - "type": "string", - "description": "Required. You can set it to a single account or a comma-separated list of accounts.\n\nFor AWS, setting this will override `groupId`. Set this and `groupId` to `*` to read the usage-based cost details of the whole organization." - }, - "awsOptions": { - "$ref": "#/definitions/v1ReadCostsRequestAwsOptions", - "description": "Required. Valid only for the `aws` vendor. AWS-specific options." - } - }, - "description": "Request message for the UpdateCostFilters rpc." + "$ref": "#/definitions/v1UpdateCostFiltersRequest" } } ], @@ -13312,30 +12137,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "startTime": { - "type": "string", - "description": "Optional. The UTC date to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`. The oldest supported date is `20200101`." - }, - "endTime": { - "type": "string", - "description": "Optional. The UTC date to end the streaming data. If not set, current date will be used. Format: `yyyymmd`." - }, - "groupByMonth": { - "type": "boolean", - "description": "Optional. If set to true, return data grouped by month within the date range. If you want data that is grouped per account per month, set this to `true`, then set `groupByColumns` to `none`." - }, - "groupByColumns": { - "type": "string", - "description": "Optional. A comma-separated list of columns to aggregate the data into. Valid values are `productCode`, `serviceCode`, `region`, `zone`, `usageType`, `instanceType`, `operation`, `invoiceId`, `description`, and `resourceId`. A special value of `none` is also supported, which means query by date or month per account only.\n\nFor example, if you only want the services and region data, you can set this field to `productCode,region`. Your input sequence doesn't matter (although the sequence above is recommended) as the actual sequence is already fixed in the return data (see the definition in https://github.com/alphauslabs/blueapi/blob/main/api/aws/cost.proto), which is generic to specific, top to bottom. Invalid values are discarded. Excluded columns will be empty." - }, - "includeTags": { - "type": "boolean", - "description": "Optional. If set to true, stream will include resource tags." - } - }, - "description": "Request message for the ExportCostFiltersFile rpc." + "$ref": "#/definitions/v1ExportCostFiltersFileRequest" } } ], @@ -13376,22 +12178,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "groupId": { - "type": "string", - "description": "Optional. A comma-separated list of billing internal ids. If empty, calculate for all billing groups.\n\nAt the moment, for AWS, this is only valid for account type billing groups, not tag billing groups. If a tag billing group is provided, it is discarded and the calculation is done for the whole organization." - }, - "month": { - "type": "string", - "description": "Optional. The UTC month to calculate. If empty, it defaults to the previous month. Format is `yyyymm`. For example, June 2021 will be `202106`." - }, - "awsOptions": { - "$ref": "#/definitions/v1CalculateCostsRequestAwsOptions", - "description": "Optional. Valid only for the `aws` vendor. AWS-specific options." - } - }, - "description": "Request message for the Cost.CalculateCosts rpc." + "$ref": "#/definitions/v1CalculateCostsRequest" } } ], @@ -13441,38 +12228,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "groupId": { - "type": "string", - "description": "Optional. If set, reads the usage-based cost details of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users.\n\nFor AWS Ripple, only billing internal ids are supported at the moment. Overriden when `accountId` is set to anything other than `*`. Set this and `accountId` to `*` to read the usage-based cost details of the whole organization. Optional for AWS Wave(Pro)." - }, - "accountId": { - "type": "string", - "description": "Optional. You can set it to a single account or a comma-separated list of accounts.\n\nFor AWS, setting this will override `groupId`. Set this and `groupId` to `*` to read the usage-based cost details of the whole organization." - }, - "startTime": { - "type": "string", - "description": "Optional. The UTC date to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`. The oldest supported date is `20200101`." - }, - "endTime": { - "type": "string", - "description": "Optional. The UTC date to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`." - }, - "awsOptions": { - "$ref": "#/definitions/v1ReadCostsRequestAwsOptions", - "description": "Optional. Valid only for the `aws` vendor. AWS-specific options." - }, - "gcpOptions": { - "$ref": "#/definitions/v1ReadCostsRequestGcpOptions", - "description": "Optional. Valid only for the `gcp` vendor. GCP-specific options." - }, - "azureOptions": { - "$ref": "#/definitions/v1ReadCostsRequestAzureOptions", - "description": "Optional. Valid only for the `azure` vendor. Azure-specific options." - } - }, - "description": "Request message for the Cost.ReadCosts rpc." + "$ref": "#/definitions/v1ReadCostsRequest" } } ], @@ -13519,52 +12275,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "period": { - "type": "string", - "title": "Required. Available values: day, hour" - }, - "fromDate": { - "type": "string", - "description": "Optional. The start date of the displayed data. If not set, the first day of the current month will be used. Format: yyyy-mm-dd." - }, - "toDate": { - "type": "string", - "description": "Optional. The end date of the displayed data. If not set, current date will be used. Format: yyyy-mm-dd." - }, - "payerId": { - "type": "string", - "description": "Optional. Payer Id." - }, - "billingInternalId": { - "type": "string", - "description": "Optional. Billing group Id." - }, - "groupId": { - "type": "string", - "description": "Optional. Account group Id." - }, - "costGroupId": { - "type": "string", - "title": "Optional. Cost Group Id, currently used in octo" - }, - "accounts": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. List of Account Ids." - }, - "services": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. List of services." - } - }, - "title": "Request message for GetCoverageOndemand" + "$ref": "#/definitions/v1GetCoverageOndemandRequest" } } ], @@ -13611,56 +12322,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "period": { - "type": "string", - "description": "Required. Available values: day, hour." - }, - "fromDate": { - "type": "string", - "description": "Optional. The start date of the displayed data. If not set, the first day of the current month will be used. Format: yyyy-mm-dd." - }, - "toDate": { - "type": "string", - "description": "Optional. The end date of the displayed data. If not set, current date will be used. Format: yyyy-mm-dd." - }, - "payerId": { - "type": "string", - "description": "Optional. Payer Id." - }, - "billingInternalId": { - "type": "string", - "description": "Optional. Billing group Id." - }, - "groupId": { - "type": "string", - "description": "Optional. Account group Id." - }, - "costGroupId": { - "type": "string", - "title": "Optional. Cost Group Id" - }, - "accounts": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. List of Account Ids." - }, - "services": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. List of services." - }, - "currency": { - "type": "string", - "description": "Optional. If not set, default value is `USD`." - } - }, - "title": "Request message for GetCoverageOptions" + "$ref": "#/definitions/v1GetCoverageOptionsRequest" } } ], @@ -13737,7 +12399,7 @@ }, { "name": "billingInternalId", - "description": "Optional. Company Id of Billing Group to retrieve. Default value is user's Company Id", + "description": "Optional. Company Id of Billing Group to retrieve. Default value is user's Company Id.", "in": "query", "required": false, "type": "string" @@ -13982,22 +12644,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "accountId": { - "type": "string", - "description": "Required." - }, - "month": { - "type": "string", - "description": "Optional. The UTC month to query. If empty, defaults to current month. Format is `yyyymm`. For example, June 2021 will be `202106`." - }, - "feeType": { - "type": "string", - "description": "Optional. If empty, defaults to all fee type. At the moment, only `Fee`,`Refund`,`Credit`,`SppDiscount`,`EdpDiscount`,`BundledDiscount` is supported." - } - }, - "description": "Request message for the Billing.ReadInvoiceAdjustments rpc." + "$ref": "#/definitions/v1ReadInvoiceAdjustmentsRequest" } } ], @@ -14046,14 +12693,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "month": { - "type": "string", - "description": "Optional. The UTC month to query. If empty, defaults to current month. Format is `yyyymm`. For example, July 2024 will be `202407`." - } - }, - "description": "Request message for the ReadInvoiceIds rpc." + "$ref": "#/definitions/v1ReadInvoiceIdsRequest" } } ], @@ -14103,26 +12743,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "billingInternalId": { - "type": "string", - "description": "Required. The billing internal id to stream." - }, - "startTime": { - "type": "string", - "description": "Optional. Timestamp to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`." - }, - "endTime": { - "type": "string", - "description": "Optional. Timestamp to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`." - }, - "groupByMonths": { - "type": "boolean", - "description": "Optional. Group services and costs by months in the range of `startTime` and `endTime`. If not set, daily data will be returned." - } - }, - "description": "Request message for the Cost.ReadNonTagCosts rpc." + "$ref": "#/definitions/v1ReadNonTagCostsRequest" } } ], @@ -14133,23 +12754,13 @@ }, "/v1/{vendor}/payers": { "get": { - "summary": "Lists vendor payer accounts.", - "description": "For AWS, these are management accounts (formerly known as master or payer accounts); for Azure, these are subscriptions, for GCP, these are projects.", - "operationId": "Cost_ListPayerAccounts", + "summary": "Get list of all payers", + "operationId": "Cover_GetPayers", "responses": { "200": { - "description": "A successful response.(streaming responses)", + "description": "A successful response.", "schema": { - "type": "object", - "properties": { - "result": { - "$ref": "#/definitions/blueapiapiAccount" - }, - "error": { - "$ref": "#/definitions/googlerpcStatus" - } - }, - "title": "Stream result of blueapiapiAccount" + "$ref": "#/definitions/v1GetPayersResponse" } }, "default": { @@ -14162,31 +12773,24 @@ "parameters": [ { "name": "vendor", - "description": "Required. At the moment, only `aws` is supported.", + "description": "Required. Cloud vendor.", "in": "path", "required": true, "type": "string" - }, - { - "name": "fieldMask", - "description": "Optional. Get only the value that set fieldMask.\n\nsee more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto", - "in": "query", - "required": false, - "type": "string" } ], "tags": [ - "Cost" + "Cover" ] }, "post": { - "summary": "DEPRECATED: Registers a vendor payer account. This is now deprecated for AWS payer accounts. To register an AWS payer account, check out the 'CreateDefaultCostAccess' API.", - "operationId": "Cost_CreatePayerAccount", + "summary": "Assign payer to a linked account", + "operationId": "Cover_AssignPayer", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/blueapiapiAccount" + "$ref": "#/definitions/v1AssignPayerResponse" } }, "default": { @@ -14199,7 +12803,7 @@ "parameters": [ { "name": "vendor", - "description": "Required. At the moment, only `aws` is supported.", + "description": "Required. Cloud vendor.", "in": "path", "required": true, "type": "string" @@ -14209,19 +12813,12 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "awsOptions": { - "$ref": "#/definitions/v1CreatePayerAccountRequestAwsOptions", - "description": "Required for the `aws` vendor. AWS-specific options." - } - }, - "description": "Request message for the Cost.CreatePayerAccount rpc." + "$ref": "#/definitions/v1AssignPayerRequest" } } ], "tags": [ - "Cost" + "Cover" ] } }, @@ -14271,7 +12868,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -14436,25 +13032,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "accounts": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Required. List of Account Ids." - }, - "costGroupId": { - "type": "string", - "description": "Required. For OCTO only." - }, - "awsOptions": { - "$ref": "#/definitions/v1GetRecommendationsRequestAwsOptions", - "title": "Required if vendor = 'aws'" - } - }, - "title": "Request message for GetRecommendations" + "$ref": "#/definitions/v1GetRecommendationsRequest" } } ], @@ -14501,56 +13079,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "reductionDisplay": { - "type": "string", - "title": "Required. Valid values: 'all', 'reservation', 'savingsplan'" - }, - "includeDetails": { - "type": "boolean", - "description": "Optional. If set to \"true\", details of the RI or SP list is returned. Default: false." - }, - "fromDate": { - "type": "string", - "description": "Optional. The start date of the displayed data. If not set, the first day of the current month will be used. Format: yyyy-mm-dd." - }, - "toDate": { - "type": "string", - "description": "Optional. The end date of the displayed data. If not set, current date will be used. Format: yyyy-mm-dd." - }, - "payerId": { - "type": "string", - "description": "Optional. Payer Id." - }, - "billingInternalId": { - "type": "string", - "description": "Optional. Billing group Id." - }, - "groupId": { - "type": "string", - "description": "Optional. Account group Id." - }, - "costGroupId": { - "type": "string", - "description": "Optional. Cost Group Id used in octo." - }, - "accounts": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. List of Account Ids." - }, - "services": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. List of services." - } - }, - "title": "Request message for GetCostReduction" + "$ref": "#/definitions/v1GetCostReductionRequest" } } ], @@ -14628,26 +13157,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "accountId": { - "type": "string", - "description": "Required. Account Id." - }, - "resourceId": { - "type": "string", - "description": "Required. The resource Id." - }, - "resourceType": { - "type": "string", - "description": "Required. The recommended resource type." - }, - "region": { - "type": "string", - "description": "Required. Resource region." - } - }, - "title": "Request message for ModifyResourceType" + "$ref": "#/definitions/v1ModifyResourceTypeRequest" } } ], @@ -14687,22 +13197,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "accountId": { - "type": "string", - "description": "Required. Account Id." - }, - "resourceId": { - "type": "string", - "description": "Required. The resource Id." - }, - "region": { - "type": "string", - "description": "Required. Resource region." - } - }, - "title": "Request message for TerminateResource" + "$ref": "#/definitions/v1TerminateResourceRequest" } } ], @@ -14790,30 +13285,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "billingInternalId": { - "type": "string", - "description": "Required. The billing internal id to stream." - }, - "startTime": { - "type": "string", - "description": "Optional. Timestamp to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`." - }, - "endTime": { - "type": "string", - "description": "Optional. Timestamp to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`." - }, - "groupByMonths": { - "type": "boolean", - "description": "Optional. Group services and costs by months in the range of `startTime` and `endTime`. If not set, daily data will be returned." - }, - "awsOptions": { - "$ref": "#/definitions/v1ReadTagCostsRequestAwsOptions", - "description": "Optional. Valid only for the `aws` vendor. AWS-specific options." - } - }, - "description": "Request message for the Cost.ReadTagCosts rpc." + "$ref": "#/definitions/v1ReadTagCostsRequest" } } ], @@ -15020,7 +13492,6 @@ "200": { "description": "A successful response.", "schema": { - "type": "object", "properties": {} } }, @@ -15049,17 +13520,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "items": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/v1TagsAddingSetting" - } - } - }, - "title": "BillingGroup tags adding setting" + "$ref": "#/definitions/v1UpdateTagsAddingSettingRequest" } } ], @@ -15108,14 +13569,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "fieldMask": { - "type": "string", - "description": "Optional. Get only the value that set fieldMask.\n\nsee more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto" - } - }, - "description": "Request message for the Billing.ReadUntaggedGroups rpc." + "$ref": "#/definitions/v1ReadUntaggedGroupsRequest" } } ], @@ -15164,18 +13618,7 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "billingInternalId": { - "type": "string", - "description": "Optional. If empty, returns all billing groups." - }, - "month": { - "type": "string", - "description": "Optional. If empty, defaults to current UTC month. Format: yyyymm." - } - }, - "description": "Request message for the Billing.ListUsageCostsDrift rpc." + "$ref": "#/definitions/v1ListUsageCostsDriftRequest" } } ], @@ -15620,7 +14063,6 @@ "usageTypes": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/DetailsCostCalculationUsageTypes" } } @@ -16211,7 +14653,6 @@ "utilization": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/MetricDataMetrics" } } @@ -16306,7 +14747,10 @@ "properties": { "id": { "type": "string", - "title": "Required. [blueapi.api.ripple.CustomizedBillingService.id]" + "title": "Required. [blueapi.api.ripple.CustomizedBillingService.id]", + "required": [ + "id" + ] }, "chargingTarget": { "$ref": "#/definitions/rippleChargingTarget", @@ -16322,8 +14766,7 @@ }, "title": "CustomizedBillingServiceBillingSetting", "required": [ - "id", - "chargingTarget" + "id" ] }, "TrustedAdvisorRecommendationsAWSWellArchitectedHighRiskIssues": { @@ -16689,7 +15132,6 @@ "details": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiUsageDetails" }, "title": "details: Vendor service fees included" @@ -16697,7 +15139,6 @@ "customDetails": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiCustomDetails" }, "title": "customDetails: Includes details of custom service and additional item data" @@ -16705,7 +15146,6 @@ "feeDetails": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/blueapiapiFeeDetails" }, "title": "feeDetails: Includes details of re-caluclated fee data" @@ -16713,7 +15153,6 @@ "total": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiAccountTotal" }, "description": "substitution:\n Total amount of agency fee costs\n\nsupportFee:\n Total amount of Support Fee costs\n\nusageOnlyTotal:\n Total amount of vendor usage fee only costs\n\nusageTotal:\n Total amount of vendor usage fee costs\n\nmarketplace:\n Total amount of vendor marketplace usage costs\n\nmarketplaceFees:\n Total amount of vendor marketplace fee costs", @@ -16736,7 +15175,6 @@ "metadata": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiKeyValue" }, "description": "The attributes (key/value pair) of the AccountGroup." @@ -16744,7 +15182,6 @@ "accounts": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/blueapiapiAccount" } } @@ -16776,7 +15213,6 @@ "metadata": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiKeyValueMap" }, "description": "The attributes (key/value pair) of the account original resource." @@ -16827,7 +15263,6 @@ "config": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiConfigFilters" }, "title": "User configuration" @@ -16839,7 +15274,6 @@ "accounts": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiManagementAccount" }, "title": "Management account configuration" @@ -16913,7 +15347,6 @@ "data": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiForecastData" } } @@ -16942,7 +15375,6 @@ "channels": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiNotificationChannel" }, "description": "List of channel info." @@ -16996,7 +15428,6 @@ "tags": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiKeyValue" }, "description": "The attributes (key/value pair) of the costtag." @@ -17222,8 +15653,7 @@ "type": "string" }, "frequency": { - "type": "string", - "title": "daily, monthly" + "type": "string" }, "date": { "type": "string" @@ -17489,7 +15919,6 @@ "config": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiConfigFilters" }, "description": "A list of filtering options. See [ConfigFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -17675,7 +16104,6 @@ "ondemandChart": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiOndemandChart" } } @@ -17714,7 +16142,6 @@ "optionsChart": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiOptionsChart" } } @@ -17735,7 +16162,6 @@ "policies": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiPolicy" } } @@ -17779,7 +16205,6 @@ "policies": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiPolicy" } } @@ -17870,7 +16295,6 @@ "details": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiAccountDetails" }, "title": "details: Includes account-by-account details" @@ -17878,7 +16302,6 @@ "groupDetails": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiGroupDetails" }, "description": "groupDetails: Includes account-by-account details(fee item data)." @@ -17886,7 +16309,6 @@ "groupCustomDetails": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiGroupCustomDetails" }, "description": "groupCustomDetails: Includes account-by-account details(custom service and additional item data)." @@ -17894,7 +16316,6 @@ "total": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiInvoiceTotal" }, "title": "total: Includes data on billing totals" @@ -18062,7 +16483,6 @@ "metadata": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiKeyValue" }, "description": "Various metadata associated with this lineitem." @@ -18369,8 +16789,7 @@ "type": "string" }, "type": { - "type": "string", - "title": "account, subscription, project" + "type": "string" } } }, @@ -18451,7 +16870,6 @@ "threshold": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverThreshold" } }, @@ -18490,7 +16908,6 @@ "usageTypes": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apicoverUsageTypes" } } @@ -18767,7 +17184,6 @@ "notification": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiwaveNotification" }, "description": "notification setting." @@ -18775,7 +17191,6 @@ "budget": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiwaveBudget" }, "description": "budget setting." @@ -18884,7 +17299,6 @@ "chartData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiawsChartData" } } @@ -18899,14 +17313,12 @@ "riCostReductions": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/awsRiCostReduction" } }, "spCostReductions": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/awsSpCostReduction" } } @@ -18921,21 +17333,18 @@ "riRecommendations": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/awsRiRecommendation" } }, "spRecommendations": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/awsSpRecommendation" } }, "estimatedCoverage": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/awsReservationEstimatedCoverage" } } @@ -18951,7 +17360,6 @@ "excludedServicesFromUsage": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/awsExcludedServiceFromUsage" }, "description": "List of services that are of type 'Usage' in CUR that are excluded,\noptionally converted to Adjustments." @@ -19074,7 +17482,6 @@ "metrics": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/MetricDataMetrics" } }, @@ -19576,7 +17983,6 @@ "billingGroups": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1BillingGroup" }, "description": "A list of billing groups contained in the access group." @@ -19611,7 +18017,6 @@ "tags": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1Tags" } } @@ -19644,7 +18049,6 @@ "metadata": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiKeyValue" }, "description": "The attributes (key/value pair) of the account." @@ -19664,7 +18068,6 @@ "monthlyBudget": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiMonthlyBudget" } } @@ -19756,7 +18159,6 @@ "chartData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/blueapiapiChartData" } } @@ -19802,7 +18204,6 @@ "billingGroup": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleBillingGroupExchangeRate" }, "description": "The billing group exchange rate." @@ -19896,7 +18297,6 @@ "exchangeRates": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ExchangeRates" } } @@ -19937,21 +18337,18 @@ "email": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverAlertChannel" } }, "slack": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverAlertChannel" } }, "msteams": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverAlertChannel" } } @@ -19983,7 +18380,6 @@ "costGroups": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverAlertCostGroup" } }, @@ -20074,14 +18470,12 @@ "riRecommendations": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverRiRecommendationResults" } }, "spRecommendations": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverSpRecommendationResults" } } @@ -20118,16 +18512,13 @@ "type": "object", "properties": { "id": { - "type": "string", - "title": "not required for creating budget" + "type": "string" }, "startDate": { - "type": "string", - "title": "use yyyymmdd format" + "type": "string" }, "endDate": { - "type": "string", - "title": "use yyyymmdd format" + "type": "string" }, "totalBudget": { "type": "number", @@ -20135,16 +18526,13 @@ }, "period": { "type": "string", - "format": "int64", - "title": "3, 6, 12 months" + "format": "int64" }, "granularBudget": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverGranularBudgetData" - }, - "title": "budget per month" + } }, "costGroup": { "$ref": "#/definitions/coverAlertCostGroup" @@ -20152,55 +18540,42 @@ "alerts": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apicoverBudgetAlert" - }, - "title": "threshold(s) and its respective channel(s) to alert" + } }, "forecastedData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverGranularForecastData" - }, - "title": "forecast for ongoing months of an active budget; if expired, archived forecast record" + } }, "spendingData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverGranularSpendingData" - }, - "title": "spending data" + } }, "expired": { - "type": "boolean", - "title": "true if budget has expired" + "type": "boolean" }, "draft": { - "type": "boolean", - "title": "true if the current budget set is still a draft" + "type": "boolean" }, "createdBy": { - "type": "string", - "title": "not required for creating budget" + "type": "string" }, "createdAt": { - "type": "string", - "title": "not required for creating budget" + "type": "string" }, "updatedBy": { - "type": "string", - "title": "not required for creating budget" + "type": "string" }, "updatedAt": { - "type": "string", - "title": "not required for creating budget" + "type": "string" }, "totalSpend": { "type": "number", - "format": "float", - "title": "total accumulated spending within the budget period" + "format": "float" } } }, @@ -20222,12 +18597,10 @@ "type": "string" }, "name": { - "type": "string", - "title": "actual email value of channel name in slack or ms teams" + "type": "string" }, "type": { - "type": "string", - "title": "email, slack, msteams" + "type": "string" }, "webhookUrl": { "type": "string" @@ -20265,7 +18638,6 @@ "filters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Optional. A list of filtering options. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.\nA map of \"key:value\" column filters. The key indicates the column name while the value is the filter value prefixed by either \"eq:\" (equal), \"re:\" (regular expressions based on https://github.com/google/re2), or \"!re:\" (reverse \"re:\"). No prefix is the same as \"eq:\". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 \u0026\u0026 mapfilter2 \u0026\u0026 mapfilter3, etc.\n\nFor example, if you like to filter `productCode` to return only `AmazonEC2`, set to `{\"productCode\":\"eq:AmazonEC2\"}` or `{\"productCode\":\"AmazonEC2\"}`. You can also use a regular expression like `{\"productCode\":\"re:AmazonEC2|AmazonRDS\"}`, which means return all AmazonEC2 or AmazonRDS lineitems. Or reverse regexp, such as `{\"productCode\":\"!re:^AmazonEC2$\"}`, which means return all items except `AmazonEC2`." @@ -20273,7 +18645,6 @@ "tagFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Optional. A list of filtering options. See [ReadCostsRequestAwsOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.\nA map of \"key:value\" tag filters. The key indicates the tag key while the value is the filter tag value which can be prefixed by either \"eq:\" (equal), \"re:\" (regular expressions based on https://github.com/google/re2), or \"!re:\" (reverse \"re:\"). No prefix is the same as \"eq:\". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 \u0026\u0026 mapfilter2 \u0026\u0026 mapfilter3, etc.\n\nFor example, if you want to query lineitems with the tag `project:MY_PROJECT`, set to `{\"project\":\"MY_PROJECT\"}`. You can also use regular expressions for tag values, such as `{\"name\":\"re:[A-Za-z0-9]*\"}`." @@ -20287,7 +18658,6 @@ "filters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Optional. A list of filtering options. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.\nA map of \"key:value\" column filters. The key indicates the column name while the value is the filter value prefixed by either \"eq:\" (equal), \"re:\" (regular expressions based on https://github.com/google/re2), or \"!re:\" (reverse \"re:\"). No prefix is the same as \"eq:\". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 \u0026\u0026 mapfilter2 \u0026\u0026 mapfilter3, etc.\n\nFor example, if you like to filter `productCode` to return only `AmazonEC2`, set to `{\"productCode\":\"eq:AmazonEC2\"}` or `{\"productCode\":\"AmazonEC2\"}`. You can also use a regular expression like `{\"productCode\":\"re:AmazonEC2|AmazonRDS\"}`, which means return all AmazonEC2 or AmazonRDS lineitems. Or reverse regexp, such as `{\"productCode\":\"!re:^AmazonEC2$\"}`, which means return all items except `AmazonEC2`." @@ -20295,7 +18665,6 @@ "tagFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Optional. A list of filtering options. See [ReadCostsRequestAwsOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.\nA map of \"key:value\" tag filters. The key indicates the tag key while the value is the filter tag value which can be prefixed by either \"eq:\" (equal), \"re:\" (regular expressions based on https://github.com/google/re2), or \"!re:\" (reverse \"re:\"). No prefix is the same as \"eq:\". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 \u0026\u0026 mapfilter2 \u0026\u0026 mapfilter3, etc.\n\nFor example, if you want to query lineitems with the tag `project:MY_PROJECT`, set to `{\"project\":\"MY_PROJECT\"}`. You can also use regular expressions for tag values, such as `{\"name\":\"re:[A-Za-z0-9]*\"}`." @@ -20309,7 +18678,6 @@ "filters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Optional. A list of filtering options. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.\nA map of \"key:value\" column filters. The key indicates the column name while the value is the filter value prefixed by either \"eq:\" (equal), \"re:\" (regular expressions based on https://github.com/google/re2), or \"!re:\" (reverse \"re:\"). No prefix is the same as \"eq:\". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 \u0026\u0026 mapfilter2 \u0026\u0026 mapfilter3, etc.\n\nFor example, if you like to filter `productCode` to return only `AmazonEC2`, set to `{\"productCode\":\"eq:AmazonEC2\"}` or `{\"productCode\":\"AmazonEC2\"}`. You can also use a regular expression like `{\"productCode\":\"re:AmazonEC2|AmazonRDS\"}`, which means return all AmazonEC2 or AmazonRDS lineitems. Or reverse regexp, such as `{\"productCode\":\"!re:^AmazonEC2$\"}`, which means return all items except `AmazonEC2`." @@ -20317,7 +18685,6 @@ "tagFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Optional. A list of filtering options. See [ReadCostsRequestAwsOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.\nA map of \"key:value\" tag filters. The key indicates the tag key while the value is the filter tag value which can be prefixed by either \"eq:\" (equal), \"re:\" (regular expressions based on https://github.com/google/re2), or \"!re:\" (reverse \"re:\"). No prefix is the same as \"eq:\". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 \u0026\u0026 mapfilter2 \u0026\u0026 mapfilter3, etc.\n\nFor example, if you want to query lineitems with the tag `project:MY_PROJECT`, set to `{\"project\":\"MY_PROJECT\"}`. You can also use regular expressions for tag values, such as `{\"name\":\"re:[A-Za-z0-9]*\"}`." @@ -20331,7 +18698,6 @@ "filters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Optional. A list of filtering options. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -20339,7 +18705,6 @@ "tagFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Optional. A list of filtering options. See [ReadCostsRequestAwsOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.\nA map of \"key:value\" tag filters. The key indicates the tag key while the value is the filter tag value which can be prefixed by either \"eq:\" (equal), \"re:\" (regular expressions based on https://github.com/google/re2), or \"!re:\" (reverse \"re:\"). No prefix is the same as \"eq:\". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 \u0026\u0026 mapfilter2 \u0026\u0026 mapfilter3, etc.\n\nFor example, if you want to query lineitems with the tag `project:MY_PROJECT`, set to `{\"project\":\"MY_PROJECT\"}`. You can also use regular expressions for tag values, such as `{\"name\":\"re:[A-Za-z0-9]*\"}`." @@ -20347,7 +18712,6 @@ "labelFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Labels on gcp help you organize resources and manage your costs at scale, with the granularity you need.\nFor example, on Compute Engine, you can use labels to group VMs in categories such as production, staging, or development so that you can search for resources that belong to each development stage.\nIf you want to query lineitems with the label `vm-prod: prod`, set to `{\"vm-prod\":\"prod\"}`. You can also use regular expressions for tag values, such as `{\"name\":\"re:[A-Za-z0-9]*\"}`." @@ -20355,7 +18719,6 @@ "projectLabelFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Project Labels refers to labels that have been assigned to GCP projects. \nFor example, projectId \"mobingi-main\" assigned as \"env:prod\"\nIf you want to query lineitems with the label `env: prod`, set to `{\"env\":\"prod\"}`. You can also use regular expressions for tag values, such as `{\"name\":\"re:[A-Za-z0-9]*\"}`." @@ -20393,7 +18756,6 @@ "members": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverMemberUserData" } }, @@ -20417,7 +18779,6 @@ "filters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Optional. A list of filtering options. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.\nA map of \"key:value\" column filters. The key indicates the column name while the value is the filter value prefixed by either \"eq:\" (equal), \"re:\" (regular expressions based on https://github.com/google/re2), or \"!re:\" (reverse \"re:\"). No prefix is the same as \"eq:\". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 \u0026\u0026 mapfilter2 \u0026\u0026 mapfilter3, etc.\n\nFor example, if you like to filter `serviceDescriptinon` to return only `Cloud Spanner`, set to `{\"serviceDescription\":\"eq:Cloud Spanner\"}` or `{\"serviceDescription\":\"Cloud Spanner\"}`. You can also use a regular expression like `{\"serviceDescription\":\"re:Cloud Spanner|BigQuery\"}`, which means return all Cloud Spanner or BigQuery lineitems. Or reverse regexp, such as `{\"serviceDescription\":\"!re:^Cloud Spanner$\"}`, which means return all items except `Cloud Spanner`." @@ -20425,7 +18786,6 @@ "tagFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Tags on gcp used to conditionally allow or deny policies based on whether a supported resource has a specific tag.\nSuppose you have a set of virtual machines (VMs) running various applications, and you want to distinguish between them based on their roles. You could assign tags like \"app:webserver\" and \"app:database\" to identify which VMs serve as web servers and which ones are database servers.\nIf you want to query lineitems with the tag `app:database`, set to `{\"app\":\"database\"}`. You can also use regular expressions for tag values, such as `{\"name\":\"re:[A-Za-z0-9]*\"}`." @@ -20433,7 +18793,6 @@ "labelFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Labels on gcp help you organize resources and manage your costs at scale, with the granularity you need.\nFor example, on Compute Engine, you can use labels to group VMs in categories such as production, staging, or development so that you can search for resources that belong to each development stage.\nIf you want to query lineitems with the label `vm-prod: prod`, set to `{\"vm-prod\":\"prod\"}`. You can also use regular expressions for tag values, such as `{\"name\":\"re:[A-Za-z0-9]*\"}`." @@ -20441,7 +18800,6 @@ "projectLabelFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupOptionsFilters" }, "description": "Project Labels refers to labels that have been assigned to GCP projects. \nFor example, projectId \"mobingi-main\" assigned as \"env:prod\"\nIf you want to query lineitems with the label `env: prod`, set to `{\"env\":\"prod\"}`. You can also use regular expressions for tag values, such as `{\"name\":\"re:[A-Za-z0-9]*\"}`." @@ -20517,28 +18875,24 @@ "eC2CpuUtilization": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apicoverUtilizationData" } }, "eC2DiskUtilization": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apicoverUtilizationData" } }, "eC2MemoryUtilization": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apicoverUtilizationData" } }, "networkTrafficData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apicoverUtilizationData" } }, @@ -21025,8 +19379,7 @@ "type": "object", "properties": { "date": { - "type": "string", - "title": "use yyyymm format" + "type": "string" }, "budget": { "type": "number", @@ -21038,8 +19391,7 @@ "type": "object", "properties": { "date": { - "type": "string", - "title": "use yyyymm format" + "type": "string" }, "mid": { "type": "number", @@ -21059,13 +19411,11 @@ "type": "object", "properties": { "date": { - "type": "string", - "title": "use yyyymm format" + "type": "string" }, "value": { "type": "number", - "format": "float", - "title": "actual cost for the month" + "format": "float" } } }, @@ -21259,7 +19609,6 @@ "costGroups": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverMemberCostGroup" } }, @@ -21423,7 +19772,6 @@ "cpuUtilization": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apicoverUtilizationData" } } @@ -21599,7 +19947,6 @@ "recommendationDetail": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverRecommendationDetail" } }, @@ -21753,7 +20100,6 @@ "riRecommendationDetails": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverRiRecommendationDetails" } } @@ -22004,7 +20350,6 @@ "spRecommendationDetails": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverSpRecommendationDetails" } } @@ -22051,14 +20396,12 @@ "cpuUtilization": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apicoverUtilizationData" } }, "netWorkIO": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apicoverUtilizationData" } } @@ -22087,13 +20430,11 @@ "type": "object", "properties": { "type": { - "type": "string", - "title": "exact or percentage" + "type": "string" }, "value": { "type": "number", - "format": "float", - "title": "actual value of threshold" + "format": "float" } } }, @@ -22112,7 +20453,6 @@ "unitItems": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverUnitItem" } }, @@ -22140,7 +20480,6 @@ "dedicatedResourcesCombination": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverResourcesFilter" } }, @@ -22248,7 +20587,6 @@ "costGroups": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverMemberCostGroup" } }, @@ -22320,7 +20658,6 @@ "layout": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverWidgetData" } }, @@ -22413,7 +20750,6 @@ "requests": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverLayoutRequests" } } @@ -22508,7 +20844,6 @@ "insights": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/RecommendationHubRecommendationsInsights" } }, @@ -22538,7 +20873,6 @@ "details": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/protobufAny" }, "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use." @@ -22609,13 +20943,17 @@ "protobufAny": { "type": "object", "properties": { - "@type": { + "typeUrl": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "additionalProperties": {}, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := ptypes.MarshalAny(foo)\n ...\n foo := \u0026pb.Foo{}\n if err := ptypes.UnmarshalAny(any, foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, "protobufNullValue": { "type": "string", @@ -22623,7 +20961,7 @@ "NULL_VALUE" ], "default": "NULL_VALUE", - "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\nThe JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." }, "protosOperation": { "type": "object", @@ -22768,12 +21106,18 @@ "percentage": { "type": "integer", "format": "int32", - "description": "Required. This value can be up to 100." + "description": "Required. This value can be up to 100.", + "required": [ + "percentage" + ] }, "fixed": { "type": "integer", "format": "int32", - "description": "Required." + "description": "Required.", + "required": [ + "fixed" + ] } }, "description": "Assigned resource definition.", @@ -22800,7 +21144,6 @@ "accounts": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/blueapiapiAccount" }, "description": "A list of accounts." @@ -22830,7 +21173,6 @@ "exchangeRate": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleExchangeRate" }, "description": "The exchange rate." @@ -22919,21 +21261,18 @@ "aws": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleExchangeRate" } }, "gcp": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleExchangeRate" } }, "azure": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleExchangeRate" } } @@ -23129,7 +21468,6 @@ "metadata": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiKeyValue" }, "description": "The attributes (key/value pair) of the account." @@ -23137,7 +21475,6 @@ "members": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/blueapiapiAccount" }, "description": "List of all members under this payer." @@ -23159,7 +21496,6 @@ "exchangeRate": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleExchangeRate" }, "description": "The exchange rate." @@ -23216,7 +21552,6 @@ "waveConfig": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleResellerConfig" }, "title": "wave feature config" @@ -23224,7 +21559,6 @@ "aquaConfig": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleResellerConfig" }, "title": "aqua feature config" @@ -23295,7 +21629,6 @@ "tiredConfig": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleTierdConfig" } }, @@ -23317,7 +21650,6 @@ "tiredConfig": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleTierdConfig" } }, @@ -23342,7 +21674,10 @@ }, "name": { "type": "string", - "title": "Required. The unique name of the untagged group. This value can be up to 60" + "title": "Required. The unique name of the untagged group. This value can be up to 60", + "required": [ + "name" + ] }, "assigned": { "$ref": "#/definitions/rippleAssigned", @@ -23351,7 +21686,6 @@ "billingGroups": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleAssignedBillingGroup" }, "description": "Optional." @@ -23378,21 +21712,18 @@ "aws": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/ripplePayerExchangeRate" } }, "gcp": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/ripplePayerExchangeRate" } }, "azure": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/ripplePayerExchangeRate" } } @@ -24004,6 +22335,19 @@ }, "title": "Request message for AddPartnerCenterCredentials" }, + "v1AddSideMenuFavoriteRequest": { + "type": "object", + "properties": { + "viewId": { + "type": "string", + "description": "Required. View Id." + }, + "menuItemId": { + "type": "string" + } + }, + "title": "Request message for AddSideMenuFavorite" + }, "v1AddSideMenuFavoriteResponse": { "type": "object", "properties": { @@ -24158,6 +22502,20 @@ } } }, + "v1AssignCostGroupMemberRequest": { + "type": "object", + "properties": { + "costGroupId": { + "type": "string", + "description": "Required. Cost Group Id." + }, + "userId": { + "type": "string", + "description": "Required. User Id." + } + }, + "title": "Request message for AssignCostGroupMember" + }, "v1AssignCostGroupMemberResponse": { "type": "object", "properties": { @@ -24170,6 +22528,24 @@ }, "title": "Response message for AssignCostGroupMember" }, + "v1AssignPayerRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. Cloud vendor." + }, + "accountId": { + "type": "string", + "description": "Required. Account Id." + }, + "payerId": { + "type": "string", + "description": "Required. The Payer Id." + } + }, + "title": "Request message for AssignPayer" + }, "v1AssignPayerResponse": { "type": "object", "properties": { @@ -24213,7 +22589,6 @@ "accounts": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1AwsDailyRunHistoryAccount" } } @@ -24229,7 +22604,6 @@ "history": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/AccountHistory" } } @@ -24295,7 +22669,6 @@ "accounts": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/blueapiapiAccount" }, "title": "List of all accounts" @@ -24303,7 +22676,6 @@ "tags": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiCostTag" }, "title": "List of all tags" @@ -24328,7 +22700,6 @@ "aws": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiAdditionalItems" }, "title": "AWS additional items" @@ -24336,7 +22707,6 @@ "azure": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiAdditionalItems" }, "title": "Azure additional items" @@ -24344,7 +22714,6 @@ "gcp": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiAdditionalItems" }, "title": "GCP additional items" @@ -24484,7 +22853,6 @@ "accounts": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/blueapiapiAccount" }, "description": "Lsit of accountId." @@ -24508,16 +22876,38 @@ }, "description": "Request message for the BudgetAlerts rpc." }, - "v1CalculateCostsRequestAwsOptions": { + "v1CalculateCostsRequest": { "type": "object", "properties": { - "force": { - "type": "boolean", - "description": "Optional. If set to true, discard existing calculation operation(s), if any, and make this as the active/latest one. By default, if there is an ongoing operation during the call, the request will fail." + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." }, - "accountsOnly": { - "type": "boolean", - "description": "Optional. If set to true, only calculate for account-type billing groups. If both `accountsOnly` and `tagsOnly` are set to true, `accountsOnly` will prevail." + "groupId": { + "type": "string", + "description": "Optional. A comma-separated list of billing internal ids. If empty, calculate for all billing groups.\n\nAt the moment, for AWS, this is only valid for account type billing groups, not tag billing groups. If a tag billing group is provided, it is discarded and the calculation is done for the whole organization." + }, + "month": { + "type": "string", + "description": "Optional. The UTC month to calculate. If empty, it defaults to the previous month. Format is `yyyymm`. For example, June 2021 will be `202106`." + }, + "awsOptions": { + "$ref": "#/definitions/v1CalculateCostsRequestAwsOptions", + "description": "Optional. Valid only for the `aws` vendor. AWS-specific options." + } + }, + "description": "Request message for the Cost.CalculateCosts rpc." + }, + "v1CalculateCostsRequestAwsOptions": { + "type": "object", + "properties": { + "force": { + "type": "boolean", + "description": "Optional. If set to true, discard existing calculation operation(s), if any, and make this as the active/latest one. By default, if there is an ongoing operation during the call, the request will fail." + }, + "accountsOnly": { + "type": "boolean", + "description": "Optional. If set to true, only calculate for account-type billing groups. If both `accountsOnly` and `tagsOnly` are set to true, `accountsOnly` will prevail." }, "tagsOnly": { "type": "boolean", @@ -24604,7 +22994,6 @@ "qualifiers": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1CalculatorCostModifierAwsOptionsQualifier" }, "description": "Optional. Conditional qualifiers to further filter the modifier targets. Multiple qualifiers use the logical `or` operator; `qualifiers[0] || qualifiers[1] || qualifiers[n]`." @@ -24698,7 +23087,6 @@ "qualifiers": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1CalculatorCostModifierAzureOptionsQualifier" }, "description": "Optional. Conditional qualifiers to further filter the modifier targets. Multiple qualifiers use the logical `or` operator; `qualifiers[0] || qualifiers[1] || qualifiers[n]`." @@ -24755,6 +23143,32 @@ }, "description": "A map of \"key:value\" attribute filters. The key indicates the column name while the value is the filter value prefixed by either \"eq:\" (equal), \"re:\" (regular expressions based on https://github.com/google/re2), or \"!re:\" (reverse \"re:\"). No prefix is the same as \"eq:\". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 \u0026\u0026 mapfilter2 \u0026\u0026 mapfilter3, etc.\n\nFor example, if you like your modifiers to apply to `productId:CFQ7TTC0LFLX` (Microsoft 365 E3), set to `{\"productId\":\"eq:CFQ7TTC0LFLX\"}` or `{\"productId\":\"CFQ7TTC0LFLX\"}`. You can also use a regular expression like `{\"productId\":\"re:CFQ7TTC0LFLX|DZH318Z0BQ4L\"}`, which means apply to all `Microsoft 365 E3` or `Virtual Machines Ev3 Series` lineitems. Or reverse regexp, such as `{\"productId\":\"!re:^CFQ7TTC0LFLX$\"}`, which means apply to all items except `Microsoft 365 E3`. Valid keys are `productId`, `productName`, `skuId`, `skuName`, `description`, `category` and `domainName`." }, + "v1CancelOperationRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the operation resource to be cancelled." + } + }, + "description": "Request message for the Operations.CancelOperation rpc." + }, + "v1CheckAccountsRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "accountIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required. A comma-separated list of account ids. For example, you set to [\"accountId1\",\"accountId2\",\"accountId3\"]." + } + } + }, "v1CheckAccountsResponse": { "type": "object", "properties": { @@ -24825,7 +23239,6 @@ "criteria": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1Criteria" }, "description": "Required. Criteria for the adjustment to be applied." @@ -24833,7 +23246,6 @@ "allocator": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1Allocator" } }, @@ -24845,6 +23257,42 @@ } } }, + "v1CostAllocatorRequest": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "category": { + "type": "string" + }, + "expiration": { + "type": "string", + "format": "int64" + }, + "startMonth": { + "type": "string", + "description": "Optional. The starting month of the allocator to be effective." + }, + "defaultAccount": { + "type": "string", + "description": "Optional. The default account for remaining costs. If not set, will allocate the cost to the original account." + }, + "criteria": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Criteria" + }, + "description": "Required. Criteria for the adjustment to be applied." + }, + "allocator": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Allocator" + } + } + } + }, "v1CostAttributeItem": { "type": "object", "properties": { @@ -24906,6 +23354,45 @@ }, "description": "Request message for the CreateAccountAccessStackset rpc." }, + "v1CreateAccountBudgetAlertsRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "id": { + "type": "string", + "title": "Required. Account Id" + }, + "budgetAlert": { + "$ref": "#/definitions/apiwaveBudgetAlert", + "description": "Required. Budget alert setting." + } + }, + "title": "Request message for CreateAccountBudgetAlerts" + }, + "v1CreateAccountBudgetRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "level": { + "type": "string", + "title": "Required. 'account' or 'acctgroup'" + }, + "id": { + "type": "string", + "title": "Required. Account or AccountGroup Id" + }, + "data": { + "$ref": "#/definitions/blueapiapiBudget" + } + }, + "title": "Request message for CreateAccountBudget" + }, "v1CreateAccountBudgetResponse": { "type": "object", "properties": { @@ -24916,19 +23403,65 @@ }, "title": "Response message for CreateAccountBudget" }, + "v1CreateAccountInvoiceServiceDiscountsRequest": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Required.\n\nFor Ripple, only billing internal ids are supported at the moment. You can set it to a single group\n\nImplied as the parent billing group for Wave(Pro) users." + }, + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/v1AccountServiceDiscounts" + }, + "description": "Required." + } + }, + "description": "Request message for the CreateAccountInvoiceServiceDiscounts rpc." + }, "v1CreateAccountInvoiceServiceDiscountsResponse": { "type": "object", "properties": { "accounts": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1AccountServiceDiscounts" } } }, "description": "Response message for the CreateAccountInvoiceServiceDiscounts rpc." }, + "v1CreateAccountRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "id": { + "type": "string", + "description": "Required. The account id to register." + }, + "name": { + "type": "string", + "description": "Optional. If empty, set to the value of `id`." + }, + "parent": { + "type": "string", + "description": "Optional. The parent `billingInternalId` of the billing group to which this account will belong to." + }, + "awsOptions": { + "$ref": "#/definitions/v1CreateAccountRequestAwsOptions", + "description": "Required for the `aws` vendor. AWS-specific options." + }, + "gcpOptions": { + "$ref": "#/definitions/v1CreateAccountRequestGcpOptions", + "description": "Required for the `gcp` vendor. GCP-specific options." + } + }, + "description": "Request message for the Cost.CreateAccount rpc." + }, "v1CreateAccountRequestAwsOptions": { "type": "object", "properties": { @@ -24953,6 +23486,30 @@ }, "description": "GCP-specific options for registering an account." }, + "v1CreateAdjustmentConfigRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "config": { + "type": "array", + "items": { + "$ref": "#/definitions/apiConfigFilters" + }, + "description": "Required. \nA list of filtering options. See [api.ConfigFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." + }, + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/apiManagementAccount" + }, + "description": "Optional." + } + }, + "description": "Request message for the Billing.CreateAdjustmentConfig rpc." + }, "v1CreateAlertRequest": { "type": "object", "properties": { @@ -25021,7 +23578,6 @@ "criteria": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1Criteria" }, "description": "Required. Criteria for the adjustment to be applied." @@ -25029,7 +23585,6 @@ "allocator": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1Allocator" } } @@ -25287,20 +23842,70 @@ } } }, + "v1CreateCalculationsScheduleRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "schedule": { + "type": "string", + "description": "Required. The desired schedule in UTC, using the unix-cron string format `* * * * *` which is a set of five fields in a line using the order: `minute hour day-of-the-month month day-of-the-week`.\n\n* `minute` values can be `0-59`\n* `hour` values can be `0-23`\n* `day-of-the-month` values can be `1-31`\n* `month` values can be `1-12`, or `JAN-DEC`\n* `day-of-the-week` values can be `0-6`, or `SUN-SAT`, or `7` for Sunday\n\nSpecial characters:\n* A field can contain an asterisk (*), which always stands for \"first-last\".\n* Ranges are two numbers separated with a hyphen (-) and the specified range is inclusive.\n* Following a range with `/NUMBER` specifies skips of the number's value through the range. For example, both `0-23/2` and `*/2` can be used in the `hour` field to specify execution every two hours.\n* A list is a set of numbers (or ranges) separated by commas (,). For example, `1,2,5,6` in the `month` field specifies an execution on the first, second, fifth, and sixth days of the month." + }, + "scheduleMacro": { + "type": "string", + "description": "Optional. Non-standard macro(s) that augment(s) `schedule`'s behavior. The only supported value for now is `@endofmonth`.\n\n`@endofmonth` - If set, the backend scheduler will only use the `minute` and `hour` part of `schedule`'s value and set the days to 28th, 29th, 30th, and 31st but the runner will do the filtering for the actual end of the trigger month. Note that this is different than setting `schedule` to, say, `0 0 28-31 * *`." + }, + "targetMonth": { + "type": "string", + "description": "Optional. The desired month to calculate. If not set, defaults to previous month. The only supported value for now is `@current`.\n\n`@current` - If set, calculate for the month the schedule is triggered (or current month)." + }, + "notificationChannel": { + "type": "string", + "description": "Optional. The channel id to use for notifications. At the moment, only email-type notification channels are supported. If not set, your default channel will be used. And if non-existent, an email-type notification channel will be created using your primary email address." + }, + "force": { + "type": "boolean", + "description": "Optional. Not used at the moment." + }, + "dryRun": { + "type": "boolean", + "description": "Optional. If set to true, skips the actual calculations. Useful as test, or reminder." + } + }, + "description": "Request message for the Cost.CreateCalculationsSchedule rpc." + }, + "v1CreateCalculatorCostModifierRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "awsOptions": { + "$ref": "#/definitions/v1CalculatorCostModifierAwsOptions", + "description": "Required if `{vendor}` is `aws`. AWS-specific options." + }, + "azureOptions": { + "$ref": "#/definitions/v1CalculatorCostModifierAzureOptions", + "description": "Required if `{vendor}` is `azure`. Azure-specific options." + } + }, + "description": "Request message for the Cost.CreateCalculatorCostModifier rpc." + }, "v1CreateCalculatorCostModifierResponse": { "type": "object", "properties": { "aws": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1CalculatorCostModifier" } }, "azure": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1CalculatorCostModifier" } } @@ -25344,6 +23949,32 @@ }, "description": "Request message for the Admin.CreateCloudWatchMetricsStream rpc." }, + "v1CreateCostFiltersRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "filterName": { + "type": "string", + "title": "Required. Filter Name. Specify characters between 1 ~ 100" + }, + "groupId": { + "type": "string", + "description": "Required. If set, reads the usage-based cost details of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users.\n\nFor AWS Ripple, only billing internal ids are supported at the moment. Overriden when `accountId` is set to anything other than `*`. Set this and `accountId` to `*` to read the usage-based cost details of the whole organization. Optional for AWS Wave(Pro)." + }, + "accountId": { + "type": "string", + "description": "Required. You can set it to a single account or a comma-separated list of accounts.\n\nFor AWS, setting this will override `groupId`. Set this and `groupId` to `*` to read the usage-based cost details of the whole organization." + }, + "awsOptions": { + "$ref": "#/definitions/v1ReadCostsRequestAwsOptions", + "description": "Required. Valid only for the `aws` vendor. AWS-specific options." + } + }, + "description": "Request message for the CreateCostFilters rpc." + }, "v1CreateCostFiltersResponse": { "type": "object", "properties": { @@ -25522,6 +24153,31 @@ }, "description": "Request message for the Iam.CreateIdentityProvider rpc." }, + "v1CreateInvoiceRequest": { + "type": "object", + "properties": { + "date": { + "type": "string", + "description": "Required. Month to get invoice. Format: `yyyymm`." + }, + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "allGroups": { + "type": "boolean", + "description": "Optional. You can set all billing groups.\n\nIf this parameter is not set, The list set to `groups` is used." + }, + "groups": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Optional. You can set it to a list of billing internal group id" + } + }, + "description": "Request message for the CreateInvoice rpc." + }, "v1CreateInvoiceServiceDiscountsRequest": { "type": "object", "properties": { @@ -25705,6 +24361,30 @@ }, "description": "Response message for the Organization.CreateOrg rpc." }, + "v1CreatePartnerTokenRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Required. Partner id or audience for the token." + } + }, + "description": "Request message for the Iam.CreatePartnerToken rpc." + }, + "v1CreatePayerAccountRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "awsOptions": { + "$ref": "#/definitions/v1CreatePayerAccountRequestAwsOptions", + "description": "Required for the `aws` vendor. AWS-specific options." + } + }, + "description": "Request message for the Cost.CreatePayerAccount rpc." + }, "v1CreatePayerAccountRequestAwsOptions": { "type": "object", "properties": { @@ -25819,7 +24499,6 @@ "waveConfig": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleResellerConfig" }, "title": "Optional. Feature Config. If not set config value, use default config" @@ -25827,7 +24506,6 @@ "aquaConfig": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleResellerConfig" }, "title": "Optional. Feature Config. If not set config value, use default config" @@ -25865,7 +24543,6 @@ "unitItems": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverUnitItem" } }, @@ -25914,7 +24591,6 @@ "roles": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1MapRole" }, "description": "Required. The roles to map to the user. Limited to 5 items." @@ -26184,7 +24860,6 @@ "costGroups": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverAlertCostGroup" } }, @@ -26214,15 +24889,26 @@ } } }, - "v1ExecuteOptimizationResponse": { - "type": "object" - }, - "v1ExportAccountInvoiceServiceDiscountsRequest": { + "v1ExecuteOptimizationRequest": { "type": "object", "properties": { - "format": { + "recommendationId": { + "type": "string" + } + } + }, + "v1ExecuteOptimizationResponse": { + "type": "object" + }, + "v1ExportAccountInvoiceServiceDiscountsRequest": { + "type": "object", + "properties": { + "format": { "type": "string", - "description": "Required. At the moment, `CSV` is supported." + "description": "Required. At the moment, `CSV` is supported.", + "required": [ + "format" + ] }, "language": { "type": "string", @@ -26257,7 +24943,10 @@ "properties": { "format": { "type": "string", - "description": "Required. At the moment, `CSV` is supported." + "description": "Required. At the moment, `CSV` is supported.", + "required": [ + "format" + ] }, "language": { "type": "string", @@ -26269,6 +24958,40 @@ "format" ] }, + "v1ExportCostFiltersFileRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "filterId": { + "type": "string", + "description": "Required. Filter Id." + }, + "startTime": { + "type": "string", + "description": "Optional. The UTC date to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`. The oldest supported date is `20200101`." + }, + "endTime": { + "type": "string", + "description": "Optional. The UTC date to end the streaming data. If not set, current date will be used. Format: `yyyymmd`." + }, + "groupByMonth": { + "type": "boolean", + "description": "Optional. If set to true, return data grouped by month within the date range. If you want data that is grouped per account per month, set this to `true`, then set `groupByColumns` to `none`." + }, + "groupByColumns": { + "type": "string", + "description": "Optional. A comma-separated list of columns to aggregate the data into. Valid values are `productCode`, `serviceCode`, `region`, `zone`, `usageType`, `instanceType`, `operation`, `invoiceId`, `description`, and `resourceId`. A special value of `none` is also supported, which means query by date or month per account only.\n\nFor example, if you only want the services and region data, you can set this field to `productCode,region`. Your input sequence doesn't matter (although the sequence above is recommended) as the actual sequence is already fixed in the return data (see the definition in https://github.com/alphauslabs/blueapi/blob/main/api/aws/cost.proto), which is generic to specific, top to bottom. Invalid values are discarded. Excluded columns will be empty." + }, + "includeTags": { + "type": "boolean", + "description": "Optional. If set to true, stream will include resource tags." + } + }, + "description": "Request message for the ExportCostFiltersFile rpc." + }, "v1ExportCostFiltersFileResponse": { "type": "object", "properties": { @@ -26299,6 +25022,20 @@ }, "description": "ExportData resource definition." }, + "v1ExportInvoiceFileRequest": { + "type": "object", + "properties": { + "date": { + "type": "string", + "description": "Required. Month to get invoice. Format: `yyyymm`." + }, + "groupId": { + "type": "string", + "description": "Optional.\n\nFor Ripple, only billing internal ids are supported at the moment. You can set it to a single group or a comma-separated list of groups. ex) `group1,group2`. if want to set all group, set `*`. \n\nImplied as the parent billing group for Wave(Pro) users." + } + }, + "description": "Request message for the ExportCostFiltersFile rpc." + }, "v1ExportInvoiceFileResponse": { "type": "object", "properties": { @@ -26314,7 +25051,10 @@ "properties": { "format": { "type": "string", - "description": "Required. At the moment, `CSV` is supported." + "description": "Required. At the moment, `CSV` is supported.", + "required": [ + "format" + ] }, "language": { "type": "string", @@ -26492,7 +25232,6 @@ "summary": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1AssetsSummary" } }, @@ -26517,7 +25256,6 @@ "yearMonth": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/rippleYearMonth" }, "description": "List of available yearmonth." @@ -26583,7 +25321,6 @@ "category": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCategory" } } @@ -26645,7 +25382,6 @@ "items": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/costv1CostAttribute" }, "description": "The cost attributes." @@ -26688,7 +25424,6 @@ "existingCombinations": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCombinations" }, "description": "Optional, This is for Unit Cost. When present, the api will return all attributes except the combination in this item." @@ -26706,14 +25441,12 @@ "result": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverResult" } }, "tagData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apicoverTagData" } } @@ -26751,13 +25484,72 @@ "costGroupData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverCostGroupData" } } }, "title": "Response message for GetCostGroups" }, + "v1GetCostReductionRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "orgId": { + "type": "string", + "description": "Required. Organization Id." + }, + "reductionDisplay": { + "type": "string", + "title": "Required. Valid values: 'all', 'reservation', 'savingsplan'" + }, + "includeDetails": { + "type": "boolean", + "description": "Optional. If set to \"true\", details of the RI or SP list is returned. Default: false." + }, + "fromDate": { + "type": "string", + "description": "Optional. The start date of the displayed data. If not set, the first day of the current month will be used. Format: yyyy-mm-dd." + }, + "toDate": { + "type": "string", + "description": "Optional. The end date of the displayed data. If not set, current date will be used. Format: yyyy-mm-dd." + }, + "payerId": { + "type": "string", + "description": "Optional. Payer Id." + }, + "billingInternalId": { + "type": "string", + "description": "Optional. Billing group Id." + }, + "groupId": { + "type": "string", + "description": "Optional. Account group Id." + }, + "costGroupId": { + "type": "string", + "description": "Optional. Cost Group Id used in octo." + }, + "accounts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. List of Account Ids." + }, + "services": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. List of services." + } + }, + "title": "Request message for GetCostReduction" + }, "v1GetCostReductionResponse": { "type": "object", "properties": { @@ -26850,7 +25642,6 @@ "filters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" }, "description": "Optional. A list of filtering options. See [ReadCostsRequestOptionsFilters] for more information on each filter item. \nMultiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -26858,7 +25649,6 @@ "tagFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" }, "description": "Optional. A list of filtering options specific for tags. \nMultiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc. Discarded when `groupByColumns` field is set or if `groupByMonth` is true." @@ -26883,7 +25673,6 @@ "filters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" }, "description": "Optional. A list of filtering options. See [ReadCostsRequestOptionsFilters] for more information on each filter item. \nMultiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -26891,7 +25680,6 @@ "tagFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" }, "description": "Optional. A list of filtering options specific for tags. \nMultiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -26916,7 +25704,6 @@ "filters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" }, "description": "Optional. A list of filtering options. See [ReadCostsRequestOptionsFilters] for more information on each filter item. \nMultiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -26924,7 +25711,6 @@ "tagFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" }, "description": "Optional. A list of filtering options specific for tags. \nMultiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -26945,7 +25731,6 @@ "filters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" }, "description": "Optional. A list of filtering options. See [ReadCostsRequestOptionsFilters] for more information on each filter item. \nMultiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -26953,7 +25738,6 @@ "tagFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" }, "description": "Optional. A list of filtering options specific for tags. \nMultiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -26961,14 +25745,12 @@ "labelFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" } }, "projectLabelFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" } }, @@ -26992,7 +25774,6 @@ "filters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" }, "description": "Optional. A list of filtering options. See [ReadCostsRequestOptionsFilters] for more information on each filter item. \nMultiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -27000,7 +25781,6 @@ "tagFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" }, "description": "Optional. A list of filtering options specific for tags. \nMultiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -27008,14 +25788,12 @@ "labelFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" } }, "projectLabelFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestOptionsFilters" } }, @@ -27025,6 +25803,62 @@ } } }, + "v1GetCoverageOndemandRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "orgId": { + "type": "string", + "description": "Required. Organization Id." + }, + "period": { + "type": "string", + "title": "Required. Available values: day, hour" + }, + "fromDate": { + "type": "string", + "description": "Optional. The start date of the displayed data. If not set, the first day of the current month will be used. Format: yyyy-mm-dd." + }, + "toDate": { + "type": "string", + "description": "Optional. The end date of the displayed data. If not set, current date will be used. Format: yyyy-mm-dd." + }, + "payerId": { + "type": "string", + "description": "Optional. Payer Id." + }, + "billingInternalId": { + "type": "string", + "description": "Optional. Billing group Id." + }, + "groupId": { + "type": "string", + "description": "Optional. Account group Id." + }, + "costGroupId": { + "type": "string", + "title": "Optional. Cost Group Id, currently used in octo" + }, + "accounts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. List of Account Ids." + }, + "services": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. List of services." + } + }, + "title": "Request message for GetCoverageOndemand" + }, "v1GetCoverageOndemandResponse": { "type": "object", "properties": { @@ -27034,13 +25868,72 @@ "ondemandData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiOndemandData" } } }, "title": "Response message for GetCoverageOndemand" }, + "v1GetCoverageOptionsRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "orgId": { + "type": "string", + "description": "Required. Organization Id." + }, + "period": { + "type": "string", + "description": "Required. Available values: day, hour." + }, + "fromDate": { + "type": "string", + "description": "Optional. The start date of the displayed data. If not set, the first day of the current month will be used. Format: yyyy-mm-dd." + }, + "toDate": { + "type": "string", + "description": "Optional. The end date of the displayed data. If not set, current date will be used. Format: yyyy-mm-dd." + }, + "payerId": { + "type": "string", + "description": "Optional. Payer Id." + }, + "billingInternalId": { + "type": "string", + "description": "Optional. Billing group Id." + }, + "groupId": { + "type": "string", + "description": "Optional. Account group Id." + }, + "costGroupId": { + "type": "string", + "title": "Optional. Cost Group Id" + }, + "accounts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. List of Account Ids." + }, + "services": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. List of services." + }, + "currency": { + "type": "string", + "description": "Optional. If not set, default value is `USD`." + } + }, + "title": "Request message for GetCoverageOptions" + }, "v1GetCoverageOptionsResponse": { "type": "object", "properties": { @@ -27050,7 +25943,6 @@ "optionsData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiOptionsData" } } @@ -27108,11 +26000,17 @@ "properties": { "id": { "type": "string", - "title": "Required. [blueapi.api.ripple.CustomizedBillingService.id]" + "title": "Required. [blueapi.api.ripple.CustomizedBillingService.id]", + "required": [ + "id" + ] }, "vendor": { "type": "string", - "description": "Required. vendor that applied to the CustomizedBillingService config." + "description": "Required. vendor that applied to the CustomizedBillingService config.", + "required": [ + "vendor" + ] }, "chargingTarget": { "$ref": "#/definitions/rippleChargingTarget", @@ -27121,7 +26019,6 @@ "accounts": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/blueapiapiAccount" }, "description": "Optional. accounts that applied to the CustomizedBillingService config." @@ -27130,8 +26027,7 @@ "description": "Response message for the Billing.GetCustomizedBillingServiceBillingGroup rpc.\n\nIf there is no account information, it indicates that it is applied to BillingGroup.", "required": [ "id", - "vendor", - "chargingTarget" + "vendor" ] }, "v1GetDefaultCostAccessTemplateUrlResponse": { @@ -27203,7 +26099,6 @@ "favorites": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverFavorites" } } @@ -27231,7 +26126,6 @@ "freeFormat": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1FreeFormItem" } } @@ -27246,6 +26140,20 @@ }, "description": "Response message for the Pricing.GetInfo rpc." }, + "v1GetInvoiceRequest": { + "type": "object", + "properties": { + "date": { + "type": "string", + "description": "Required. Month to get invoice. Format: `yyyymm`." + }, + "groupId": { + "type": "string", + "description": "Required.\n\nFor Ripple, only billing internal ids are supported at the moment. You can set it to a single group\n\nImplied as the parent billing group for Wave(Pro) users." + } + }, + "description": "Request message for the Cost.GetInvoiceRequest rpc." + }, "v1GetMSPDefaultMetaResponse": { "type": "object", "properties": { @@ -27263,7 +26171,6 @@ "costGroups": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverMemberCostGroup" } } @@ -27285,7 +26192,6 @@ "userData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverUserData" } } @@ -27301,7 +26207,6 @@ "data": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiMonthOnMonthCostForecast" } }, @@ -27324,7 +26229,6 @@ "data": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiMonthToDateCostForecast" } }, @@ -27343,7 +26247,6 @@ "data": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiMonthlyCostForecast" } }, @@ -27406,7 +26309,6 @@ "reports": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ProformaReports" } } @@ -27425,6 +26327,42 @@ }, "title": "Response message for GetPayers" }, + "v1GetPricingRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. Cloud vendor, only `aws` and `azure` are currently supported." + }, + "service": { + "type": "string", + "description": "Required. Cloud vendor service. \nSupported services can be listed using `/{vendor}/services` endpoint. For usage information visit https://labs.alphaus.cloud/blueapidocs/#/Pricing/Pricing_GetSupportedServices." + }, + "region": { + "type": "string", + "description": "Required. Region code.\nSupported regions can be listed using `/{vendor}/services` endpoint. For usage information visit https://labs.alphaus.cloud/blueapidocs/#/Pricing/Pricing_GetSupportedServices.\nView all available AWS services by region at https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/.\nView all available Azure services by region at https://azure.microsoft.com/en-us/explore/global-infrastructure/products-by-region/." + }, + "token": { + "type": "string", + "description": "Optional. Supply token that is included in the latest response to continue fetching the remaining chunks of data. No further data can be retrieved once the token returned is empty." + }, + "filters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Filters to apply to the pricing data.\nThis is a map of column names and values to filter pricing items. Each key-value pair in the map represents a filter condition.\nSupported filter key-value pairs can be listed using `/{vendor}/services` endpoint. For usage information visit https://labs.alphaus.cloud/blueapidocs/#/Pricing/Pricing_GetSupportedServices.\n\nFor example, if you want to return AWS EC2 items that has All Upfront purchase option, add `\"purchaseOption\": \"All Upfront\"` to the filters.\n\nMultiple key-value pairs are supported but keys should not be duplicated.\nFor example, for AWS EC2, the following is valid,\n```\n\"filters\": {\n \"purchaseOption\": \"All Upfront\",\n \"operatingSystem\": \"Windows\"\n}\n```\nbut not the following,\n```\n\"filters\": {\n \"purchaseOption\": \"All Upfront\",\n \"purchaseOption\": \"Partial Upfront\"\n}\n```" + }, + "columns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. Only specified columns will be returned, if provided.\nAll columns will be returned if this array is empty.\nSupported columns can be listed using `/{vendor}/services` endpoint. For usage information visit https://labs.alphaus.cloud/blueapidocs/#/Pricing/Pricing_GetSupportedServices." + } + }, + "description": "Request message for Pricing.GetPricing rpc." + }, "v1GetPricingResponse": { "type": "object", "properties": { @@ -27435,7 +26373,6 @@ "pricingData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/pricingPricingData" }, "description": "Array of pricing items details. Maximum number of items returned per call is 1000." @@ -27459,6 +26396,35 @@ } } }, + "v1GetRecommendationsRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "orgId": { + "type": "string", + "description": "Required. Organization Id." + }, + "accounts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required. List of Account Ids." + }, + "costGroupId": { + "type": "string", + "description": "Required. For OCTO only." + }, + "awsOptions": { + "$ref": "#/definitions/v1GetRecommendationsRequestAwsOptions", + "title": "Required if vendor = 'aws'" + } + }, + "title": "Request message for GetRecommendations" + }, "v1GetRecommendationsRequestAwsOptions": { "type": "object", "properties": { @@ -27564,7 +26530,6 @@ "resource": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverResourceData" } } @@ -27589,7 +26554,6 @@ "supportedServices": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1SupportedService" }, "description": "Suported services, regions, and attributes that can be used to specify which pricing data to retrieve from `/{vendor}/pricing`.\nFor usage information, visit https://labs.alphaus.cloud/blueapidocs/#/Pricing/Pricing_GetPricing." @@ -27603,7 +26567,6 @@ "tagData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apicoverTagData" } } @@ -27668,7 +26631,6 @@ "utilizationData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/blueapiapiUtilizationData" } } @@ -27681,7 +26643,6 @@ "viewList": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverViewList" } } @@ -27694,7 +26655,6 @@ "settings": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1WaveFeature" } } @@ -27774,7 +26734,6 @@ "awsDetails": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1InvoiceServiceDiscountsSettingDetails" }, "description": "The invoice service discounts setting details." @@ -27782,7 +26741,6 @@ "azureDetails": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1InvoiceServiceDiscountsSettingDetails" }, "description": "The invoice service discounts setting details." @@ -27790,7 +26748,6 @@ "gcpDetails": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1InvoiceServiceDiscountsSettingDetails" }, "description": "The invoice service discounts setting details." @@ -27803,7 +26760,10 @@ "properties": { "code": { "type": "string", - "title": "The vendor service code.\naws: ProductCode\nazure: ServiceCode\ngcp: ServiceName\n`otherServices`: The code to specify other services as a whole, regardless of vendor.\nFor exmaple: Other services set at 1%.\n{\"code\":\"otherServices\", \"value\":0.01}" + "title": "The vendor service code.\naws: ProductCode\nazure: ServiceCode\ngcp: ServiceName\n`otherServices`: The code to specify other services as a whole, regardless of vendor.\nFor exmaple: Other services set at 1%.\n{\"code\":\"otherServices\", \"value\":0.01}", + "required": [ + "code" + ] }, "name": { "type": "string", @@ -27860,13 +26820,22 @@ "accountGroups": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiAccountGroup" } } }, "description": "Response message for the Admin.ListAccountGroups rpc." }, + "v1ListAccountInvoiceServiceDiscountsRequest": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Required.\n\nFor Ripple, only billing internal ids are supported at the moment. You can set it to a single group\n\nImplied as the parent billing group for Wave(Pro) users." + } + }, + "description": "Request message for the ListAccountInvoiceServiceDiscounts rpc." + }, "v1ListAccountUsageRequest": { "type": "object", "properties": { @@ -27912,7 +26881,6 @@ "awsOptions": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ListAssetsFilters" }, "description": "Optional. For AWS-specific filter options." @@ -27920,7 +26888,6 @@ "awsPropertiesOptions": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ListAssetsFilters" }, "description": "Optional. For AWS-specific properties filter options." @@ -27969,7 +26936,6 @@ "operations": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/protosOperation" } } @@ -27991,20 +26957,33 @@ "schedules": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1CalculationsSchedule" } } }, "description": "Response message for the Cost.ListCalculationsSchedules rpc." }, - "v1ListCalculatorRunningAccountsResponse": { + "v1ListCalculatorRunningAccountsRequest": { "type": "object", "properties": { - "aws": { - "$ref": "#/definitions/ListCalculatorRunningAccountsResponseAwsRunningAccount", - "description": "AWS-specific entry." - } + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "month": { + "type": "string", + "description": "Optional. The UTC month to query. Defaults to current month if empty. Format is `yyyymm`. For example, June 2021 will be `202106`." + } + }, + "description": "Request message for the Cost.ListCalculatorRunningAccounts rpc." + }, + "v1ListCalculatorRunningAccountsResponse": { + "type": "object", + "properties": { + "aws": { + "$ref": "#/definitions/ListCalculatorRunningAccountsResponseAwsRunningAccount", + "description": "AWS-specific entry." + } }, "description": "Response message for the Cost.ListCalculatorRunningAccounts rpc." }, @@ -28044,7 +27023,6 @@ "costFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ListCostFilters" } } @@ -28066,7 +27044,6 @@ "data": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/ListIdentityProvidersResponseIdentityProvider" } } @@ -28109,6 +27086,16 @@ "type": "object", "description": "Request message for the ListInvoiceServiceDiscounts rpc." }, + "v1ListInvoiceStatusRequest": { + "type": "object", + "properties": { + "date": { + "type": "string", + "description": "Required. Month to get invoice status. Format: `yyyymm`." + } + }, + "description": "Request message for the ListInvoiceStatus rpc." + }, "v1ListInvoiceTemplateResponse": { "type": "object", "properties": { @@ -28134,7 +27121,6 @@ "connectedBillingGroup": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1InvoiceConnectedBillingGroups" } }, @@ -28150,7 +27136,6 @@ "channels": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiNotificationChannel" } } @@ -28163,7 +27148,6 @@ "notifications": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/blueapiapiNotification" } } @@ -28176,7 +27160,6 @@ "permissions": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiPermission" } } @@ -28297,7 +27280,6 @@ "roles": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiRole" } } @@ -28310,19 +27292,35 @@ "unitCostData": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverUnitCostData" } } } }, + "v1ListUsageCostsDriftRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "billingInternalId": { + "type": "string", + "description": "Optional. If empty, returns all billing groups." + }, + "month": { + "type": "string", + "description": "Optional. If empty, defaults to current UTC month. Format: yyyymm." + } + }, + "description": "Request message for the Billing.ListUsageCostsDrift rpc." + }, "v1ListUserRoleMappingsResponse": { "type": "object", "properties": { "userRoleMappings": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apiUserRoleMapping" } } @@ -28355,7 +27353,6 @@ "users": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1MFAUser" } } @@ -28387,6 +27384,32 @@ "v1MarkAsExecutedResponse": { "type": "object" }, + "v1ModifyResourceTypeRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. Cloud vendor." + }, + "accountId": { + "type": "string", + "description": "Required. Account Id." + }, + "resourceId": { + "type": "string", + "description": "Required. The resource Id." + }, + "resourceType": { + "type": "string", + "description": "Required. The recommended resource type." + }, + "region": { + "type": "string", + "description": "Required. Resource region." + } + }, + "title": "Request message for ModifyResourceType" + }, "v1ModifyResourceTypeResponse": { "type": "object", "properties": { @@ -28438,7 +27461,6 @@ "executedRecommendationDetails": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverExecutedRecommendationDetails" } } @@ -28698,6 +27720,46 @@ }, "title": "Response message for PublishView" }, + "v1ReadAccountOriginalResourcesRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws`.`gcp`,`azure` is supported." + } + }, + "description": "Request message for the ReadAccountOriginalResources rpc." + }, + "v1ReadAdjustmentsRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` or `azure` is supported." + }, + "groupId": { + "type": "string", + "description": "Optional. At the moment, only billing internal ids are supported. If set, reads the non-usage-based adjustment details of this group. Valid only if `accountId` is not set. If both `groupId` and `accountId` are not set, reads the adjustment details of the whole organization. Only valid for Ripple users. Implied (or discarded) for Wave(Pro) users." + }, + "accountId": { + "type": "string", + "description": "Optional. If set, reads the non-usaged-based adjustment details of this account. Also invalidates the `groupId` value even if set. If both `groupId` and `accountId` are not set, reads the adjustment details of the whole organization." + }, + "startTime": { + "type": "string", + "description": "Optional. The UTC date to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`." + }, + "endTime": { + "type": "string", + "description": "Optional. The UTC date to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`." + }, + "awsOptions": { + "$ref": "#/definitions/v1ReadAdjustmentsRequestAwsOptions", + "description": "Optional. Valid only for the `aws` vendor. AWS-specific options." + } + }, + "description": "Request message for the Cost.ReadAdjustments rpc." + }, "v1ReadAdjustmentsRequestAwsOptions": { "type": "object", "properties": { @@ -28717,6 +27779,39 @@ }, "description": "Request message for the ReadBudgetAlerts rpc." }, + "v1ReadCostAttributesRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "groupId": { + "type": "string", + "description": "Optional. If set, reads the cost attributes of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users.\n\nFor AWS Ripple, only billing internal ids are supported at the moment. Overriden when `accountId` is set to anything other than `*`. Set this and `accountId` to `*` to read the cost attributes of the whole organization. Optional for AWS Wave(Pro)." + }, + "accountId": { + "type": "string", + "description": "Optional. You can set it to a single account or a comma-separated list of accounts.\n\nFor AWS, setting this will override `groupId`. Set this and `groupId` to `*` to read the cost attributes of the whole organization." + }, + "startTime": { + "type": "string", + "description": "Optional. The UTC date to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`. The oldest supported date is `20200101`." + }, + "endTime": { + "type": "string", + "description": "Optional. The UTC date to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`." + }, + "awsOptions": { + "$ref": "#/definitions/v1ReadCostAttributesRequestAwsOptions", + "description": "Optional. Valid only for the `aws` vendor. AWS-specific options." + }, + "azureOptions": { + "$ref": "#/definitions/v1ReadCostAttributesRequestAzureOptions" + } + }, + "description": "Request message for the Cost.ReadCostAttributes rpc." + }, "v1ReadCostAttributesRequestAwsOptions": { "type": "object", "properties": { @@ -28743,6 +27838,44 @@ } } }, + "v1ReadCostsRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. Supported vendors are `aws`,`azure` and `gcp`." + }, + "groupId": { + "type": "string", + "description": "Optional. If set, reads the usage-based cost details of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users.\n\nFor AWS Ripple, only billing internal ids are supported at the moment. Overriden when `accountId` is set to anything other than `*`. Set this and `accountId` to `*` to read the usage-based cost details of the whole organization. Optional for AWS Wave(Pro)." + }, + "accountId": { + "type": "string", + "description": "Optional. You can set it to a single account or a comma-separated list of accounts.\n\nFor AWS, setting this will override `groupId`. Set this and `groupId` to `*` to read the usage-based cost details of the whole organization." + }, + "startTime": { + "type": "string", + "description": "Optional. The UTC date to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`. The oldest supported date is `20200101`." + }, + "endTime": { + "type": "string", + "description": "Optional. The UTC date to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`." + }, + "awsOptions": { + "$ref": "#/definitions/v1ReadCostsRequestAwsOptions", + "description": "Optional. Valid only for the `aws` vendor. AWS-specific options." + }, + "gcpOptions": { + "$ref": "#/definitions/v1ReadCostsRequestGcpOptions", + "description": "Optional. Valid only for the `gcp` vendor. GCP-specific options." + }, + "azureOptions": { + "$ref": "#/definitions/v1ReadCostsRequestAzureOptions", + "description": "Optional. Valid only for the `azure` vendor. Azure-specific options." + } + }, + "description": "Request message for the Cost.ReadCosts rpc." + }, "v1ReadCostsRequestAwsOptions": { "type": "object", "properties": { @@ -28765,7 +27898,6 @@ "filters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestAwsOptionsFilters" }, "description": "Optional. A list of filtering options. See [ReadCostsRequestAwsOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -28773,7 +27905,6 @@ "tagFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestAwsOptionsTagFilters" }, "description": "Optional. A list of filtering options specific for tags. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc. Discarded when `groupByColumns` field is set or if `groupByMonth` is true." @@ -28869,7 +28000,6 @@ "filters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestGcpOptionsFilters" }, "description": "Optional. A list of filtering options. See [ReadCostsRequestGcpOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -28927,6 +28057,28 @@ }, "description": "Request message for the Billing.ReadCustomizedBillingServices rpc." }, + "v1ReadInvoiceAdjustmentsRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws`,`azure`,`gcp` is supported." + }, + "accountId": { + "type": "string", + "description": "Required." + }, + "month": { + "type": "string", + "description": "Optional. The UTC month to query. If empty, defaults to current month. Format is `yyyymm`. For example, June 2021 will be `202106`." + }, + "feeType": { + "type": "string", + "description": "Optional. If empty, defaults to all fee type. At the moment, only `Fee`,`Refund`,`Credit`,`SppDiscount`,`EdpDiscount`,`BundledDiscount` is supported." + } + }, + "description": "Request message for the Billing.ReadInvoiceAdjustments rpc." + }, "v1ReadInvoiceCostsRequest": { "type": "object", "properties": { @@ -28968,6 +28120,20 @@ }, "description": "Request message for the ReadInvoiceGroupCosts rpc." }, + "v1ReadInvoiceIdsRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "month": { + "type": "string", + "description": "Optional. The UTC month to query. If empty, defaults to current month. Format is `yyyymm`. For example, July 2024 will be `202407`." + } + }, + "description": "Request message for the ReadInvoiceIds rpc." + }, "v1ReadInvoiceIdsResponse": { "type": "object", "properties": { @@ -28996,6 +28162,72 @@ }, "description": "Request message for the ReadInvoiceOverviews rpc." }, + "v1ReadNonTagCostsRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "billingInternalId": { + "type": "string", + "description": "Required. The billing internal id to stream." + }, + "startTime": { + "type": "string", + "description": "Optional. Timestamp to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`." + }, + "endTime": { + "type": "string", + "description": "Optional. Timestamp to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`." + }, + "groupByMonths": { + "type": "boolean", + "description": "Optional. Group services and costs by months in the range of `startTime` and `endTime`. If not set, daily data will be returned." + } + }, + "description": "Request message for the Cost.ReadNonTagCosts rpc." + }, + "v1ReadServiceDiscountsServicesRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws`,`azure`,`gcp` is supported." + } + }, + "description": "Request message for the ReadServiceDiscountsServices rpc." + }, + "v1ReadTagCostsRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "billingInternalId": { + "type": "string", + "description": "Required. The billing internal id to stream." + }, + "startTime": { + "type": "string", + "description": "Optional. Timestamp to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`." + }, + "endTime": { + "type": "string", + "description": "Optional. Timestamp to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`." + }, + "groupByMonths": { + "type": "boolean", + "description": "Optional. Group services and costs by months in the range of `startTime` and `endTime`. If not set, daily data will be returned." + }, + "awsOptions": { + "$ref": "#/definitions/v1ReadTagCostsRequestAwsOptions", + "description": "Optional. Valid only for the `aws` vendor. AWS-specific options." + } + }, + "description": "Request message for the Cost.ReadTagCosts rpc." + }, "v1ReadTagCostsRequestAwsOptions": { "type": "object", "properties": { @@ -29014,7 +28246,6 @@ "filters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadCostsRequestAwsOptionsFilters" }, "description": "Optional. A list of filtering options. See [ReadCostsRequestAwsOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc." @@ -29022,7 +28253,6 @@ "tagFilters": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ReadTagCostsRequestAwsOptionsTagFilters" }, "description": "Optional. A list of filtering options specific for tags. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc. Discarded when `groupByColumns` field is set or if `groupByMonth` is true." @@ -29068,40 +28298,92 @@ }, "description": "A map of \"key:value\" tag filters. The key indicates the tag key while the value is the filter tag value which can be prefixed by either \"eq:\" (equal), \"re:\" (regular expressions based on https://github.com/google/re2), or \"!re:\" (reverse \"re:\"). No prefix is the same as \"eq:\". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 \u0026\u0026 mapfilter2 \u0026\u0026 mapfilter3, etc.\n\nFor example, if you want to query lineitems with the tag `project:MY_PROJECT`, set to `{\"project\":\"MY_PROJECT\"}`. You can also use regular expressions for tag values, such as `{\"name\":\"re:[A-Za-z0-9]*\"}`." }, - "v1RegisterAccounts": { + "v1ReadUntaggedGroupsRequest": { "type": "object", "properties": { - "enabled": { - "type": "boolean", - "description": "Optional.\nIf enabled, any additional accounts will be automatically enrolled into the billing group.\nIf disabled, register the account manually.\n\nFor GCP, Register projectId under the specific Sub billing account.\nFor AWS, Register accountId under the specific payer account into the billing group" + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported.", + "required": [ + "vendor" + ] }, - "accountId": { + "fieldMask": { "type": "string", - "description": "Optional. AccountId to be used for registration into the billing group." + "description": "Optional. Get only the value that set fieldMask.\n\nsee more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto" } }, - "title": "Register Accounts definition" + "description": "Request message for the Billing.ReadUntaggedGroups rpc.", + "required": [ + "vendor" + ] }, - "v1RegisterDataAccessRequest": { + "v1RefreshPartnerTokenRequest": { "type": "object", "properties": { - "vendor": { + "id": { "type": "string", - "title": "Vendor (Azure/GCP)" + "description": "Required. Partner id or audience for the token." }, - "target": { + "token": { "type": "string", - "title": "Billing Id for GCP, Account Id for Azure" - }, - "accountType": { + "description": "Required. The previous (old) token to be refreshed." + } + }, + "description": "Request message for the Iam.RefreshPartnerToken rpc." + }, + "v1RegisterAccountRequest": { + "type": "object", + "properties": { + "vendor": { "type": "string", - "title": "Account type (payer/linked)" + "description": "Required. Cloud vendor." }, - "gcpOptions": { - "$ref": "#/definitions/coverGcpOptions", - "title": "GCP Options. Specific for GCP" + "accountId": { + "type": "string", + "description": "Required. The AWS account Id." }, - "azureOptions": { + "accountName": { + "type": "string", + "title": "The account name" + } + }, + "description": "Request message for the RegisterAccount rpc." + }, + "v1RegisterAccounts": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Optional.\nIf enabled, any additional accounts will be automatically enrolled into the billing group.\nIf disabled, register the account manually.\n\nFor GCP, Register projectId under the specific Sub billing account.\nFor AWS, Register accountId under the specific payer account into the billing group" + }, + "accountId": { + "type": "string", + "description": "Optional. AccountId to be used for registration into the billing group." + } + }, + "title": "Register Accounts definition" + }, + "v1RegisterDataAccessRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "title": "Vendor (Azure/GCP)" + }, + "target": { + "type": "string", + "title": "Billing Id for GCP, Account Id for Azure" + }, + "accountType": { + "type": "string", + "title": "Account type (payer/linked)" + }, + "gcpOptions": { + "$ref": "#/definitions/coverGcpOptions", + "title": "GCP Options. Specific for GCP" + }, + "azureOptions": { "$ref": "#/definitions/apicoverAzureOptions", "title": "Azure Options. Specific for Azure" }, @@ -29154,6 +28436,36 @@ } } }, + "v1RemoveAccountInvoiceServiceDiscountsRequest": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Required.\n\nFor Ripple, only billing internal ids are supported at the moment. You can set it to a single group\n\nImplied as the parent billing group for Wave(Pro) users." + }, + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/v1AccountServiceDiscounts" + }, + "description": "Required." + } + } + }, + "v1RemoveCostGroupMemberRequest": { + "type": "object", + "properties": { + "costGroupId": { + "type": "string", + "description": "Required. Cost Group Id." + }, + "userId": { + "type": "string", + "description": "Required. User Id." + } + }, + "title": "Request message for RemoveCostGroupMember" + }, "v1RemoveCostGroupMemberResponse": { "type": "object", "properties": { @@ -29185,6 +28497,19 @@ }, "title": "Response message for RemoveFavorite" }, + "v1RemoveSideMenuFavoriteRequest": { + "type": "object", + "properties": { + "viewId": { + "type": "string", + "description": "Required. View Id." + }, + "menuItemId": { + "type": "string" + } + }, + "title": "Request message for RemoveSideMenuFavorite" + }, "v1RemoveSideMenuFavoriteResponse": { "type": "object", "properties": { @@ -29262,7 +28587,6 @@ "accounts": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/apicoverAccount" } } @@ -29457,6 +28781,29 @@ }, "description": "ServiceDiscountsExport resource definition." }, + "v1SetCostGroupAnomalyOptionsRequest": { + "type": "object", + "properties": { + "costGroupId": { + "type": "string", + "description": "Required. Cost Group Id." + }, + "threshold": { + "type": "number", + "format": "float", + "title": "Required" + }, + "isPercentage": { + "type": "boolean", + "description": "Required. When set to true, the threshold is a percentage to the actual cost. Otherwise, it is a fixed amount." + }, + "pastDataInMonths": { + "type": "string", + "format": "int64", + "description": "Optional. The number of past months to be used in training the model. Note: This will affect the results of anomaly detection. Default and max is 9 while min is 1." + } + } + }, "v1SetCostGroupAnomalyOptionsResponse": { "type": "object", "properties": { @@ -29468,6 +28815,23 @@ } } }, + "v1SetCostGroupEventIndicatorRequest": { + "type": "object", + "properties": { + "costGroupId": { + "type": "string", + "description": "Required. Cost Group Id." + }, + "anomaly": { + "type": "boolean", + "title": "Required. Only anomaly is supported as of now" + }, + "visualBuilder": { + "type": "boolean", + "title": "Optional. Temporary storage of cost group creation UI preference" + } + } + }, "v1SetCostGroupEventIndicatorResponse": { "type": "object", "properties": { @@ -29479,6 +28843,41 @@ } } }, + "v1SetCustomizedBillingServiceBillingGroupRequest": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Required. billing internal id in billing group.", + "required": [ + "groupId" + ] + }, + "vendor": { + "type": "string", + "description": "Required. At the moment, `aws`,`azure`,`gcp` is supported.", + "required": [ + "vendor" + ] + }, + "setting": { + "type": "array", + "items": { + "$ref": "#/definitions/SetCustomizedBillingServiceBillingGroupRequestCustomizedBillingServiceBillingSetting" + }, + "description": "Required. customized billing service setting.", + "required": [ + "setting" + ] + } + }, + "description": "Request message for the Billing.SetCustomizedBillingServiceBillingGroup rpc.", + "required": [ + "groupId", + "vendor", + "setting" + ] + }, "v1SetOrgFiscalMonthRequest": { "type": "object", "properties": { @@ -29532,7 +28931,6 @@ "attributes": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1Attribute" }, "description": "Array of attributes that can be used as key-value pairs for filtering." @@ -29577,6 +28975,28 @@ } } }, + "v1TerminateResourceRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. Cloud vendor." + }, + "accountId": { + "type": "string", + "description": "Required. Account Id." + }, + "resourceId": { + "type": "string", + "description": "Required. The resource Id." + }, + "region": { + "type": "string", + "description": "Required. Resource region." + } + }, + "title": "Request message for TerminateResource" + }, "v1TerminateResourceResponse": { "type": "object", "properties": { @@ -29673,7 +29093,6 @@ "thirdProfitItem": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ThirdProfitItemSection" }, "description": "The third profit item." @@ -29715,89 +29134,446 @@ "v1UndoExecutedRecommendationResponse": { "type": "object" }, - "v1UpdateAccountInvoiceServiceDiscountsResponse": { + "v1UpdateAccessGroupRequest": { "type": "object", "properties": { - "accounts": { + "id": { + "type": "string", + "description": "Required. access group id." + }, + "name": { + "type": "string", + "description": "Optional. access group name. Set only the name to be changed.\n\nWe recommend the name length of 1~60 characters." + }, + "description": { + "type": "string", + "description": "Optional. access group description. Set only the description to be changed.\n\nWe recommend the description length of 0~150 characters." + }, + "billingGroups": { "type": "array", "items": { - "type": "object", - "$ref": "#/definitions/v1AccountServiceDiscounts" - } + "type": "string" + }, + "description": "Optional. Billing group to be included in the access group.\n\nYou can only include billing groups with the same calculation type and currency type.\nSet only the billingGroups to be changed.\nSpecify the billingInternalIds. For example: [`billingInternalId1`,`billingInternalId2`,`billingInternalId3`]" } }, - "description": "Response message for the UpdateAccountInvoiceServiceDiscounts rpc." + "description": "Request message for the UpdateAccessGroup rpc." }, - "v1UpdateAlertDetailsResponse": { + "v1UpdateAccountBudgetAlertsRequest": { "type": "object", "properties": { - "alertData": { - "$ref": "#/definitions/coverAlertData" + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "id": { + "type": "string", + "title": "Required. Account Id" + }, + "budgetAlert": { + "$ref": "#/definitions/apiwaveBudgetAlert", + "description": "Required. Budget alert setting.\n\nSet only the setting value to be changed.\nFor example, If you want to change only daily value, set `{\"budget\":[{\"id\":\"daily\",\"value\":100,\"enabled\":true}}` as a parameter\nThe same goes for notification. If you want to change only email value, set `{\"notification\":[{\"id\":\"email\",\"destination\":\"budgetalert-example@alphaus.cloud\",\"enabled\":true}}` as a parameter" } }, - "title": "Response message for UpdateAlertDetails" - }, - "v1UpdateBudgetResponse": { - "type": "object", - "properties": { - "budgetData": { - "$ref": "#/definitions/coverBudgetData" - } - } + "title": "Request message for UpdateAccountBudgetAlerts" }, - "v1UpdateChannelDetailsResponse": { + "v1UpdateAccountBudgetRequest": { "type": "object", "properties": { - "channelData": { - "$ref": "#/definitions/coverChannelData" + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "budgetId": { + "type": "string", + "title": "Required. Budget Id" + }, + "data": { + "$ref": "#/definitions/blueapiapiBudget" } }, - "title": "Response message for UpdateChannelDetails" + "title": "Request message for UpdateAccountBudget" }, - "v1UpdateCostFiltersResponse": { + "v1UpdateAccountInvoiceServiceDiscountsRequest": { "type": "object", "properties": { - "filterId": { + "groupId": { "type": "string", - "description": "Required. Filter Id." + "description": "Required.\n\nFor Ripple, only billing internal ids are supported at the moment. You can set it to a single group\n\nImplied as the parent billing group for Wave(Pro) users." + }, + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/v1AccountServiceDiscounts" + }, + "description": "Required." } }, - "description": "Response message for the UpdateCostFilters rpc." + "description": "Request message for the UpdateAccountInvoiceServiceDiscounts rpc." }, - "v1UpdateCostGroupColorThemeResponse": { + "v1UpdateAccountInvoiceServiceDiscountsResponse": { "type": "object", "properties": { - "colorTheme": { - "type": "string" + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/v1AccountServiceDiscounts" + } } }, - "title": "Response message for UpdateCostGroupColorTheme" + "description": "Response message for the UpdateAccountInvoiceServiceDiscounts rpc." }, - "v1UpdateCostGroupCombinationsResponse": { + "v1UpdateAccountRequest": { "type": "object", "properties": { - "combinations": { - "$ref": "#/definitions/coverCombinations" + "vendor": { + "type": "string", + "description": "Required." + }, + "id": { + "type": "string", + "description": "Required." + }, + "name": { + "type": "string", + "description": "Optional." } }, - "title": "Response message for UpdateCostGroupCombinations" + "description": "Request message for the Cost.UpdateAccount rpc." }, - "v1UpdateCostGroupCreationUIRequest": { + "v1UpdateAdjustmentConfigRequest": { "type": "object", "properties": { - "useNewCostGroupCreationUI": { - "type": "boolean" + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "config": { + "type": "array", + "items": { + "$ref": "#/definitions/apiConfigFilters" + }, + "description": "Optional." + }, + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/apiManagementAccount" + }, + "description": "Optional." } - } + }, + "description": "Request message for the Billing.UpdateAdjustmentConfig rpc." }, - "v1UpdateCostGroupCreationUIResponse": { + "v1UpdateAlertDetailsRequest": { "type": "object", "properties": { - "userData": { - "$ref": "#/definitions/coverUserData" - } + "id": { + "type": "string", + "description": "Required. Alert ID." + }, + "name": { + "type": "string", + "description": "If optional fields are not supplied, no changes occur.\nOptional." + }, + "fixedAmount": { + "type": "number", + "format": "float", + "description": "Both are optional." + }, + "percentage": { + "type": "number", + "format": "float" + }, + "granularity": { + "type": "string", + "description": "Optional. daily or monthly. Only 'daily' is supported for now." + }, + "costGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. Cost group IDs." + }, + "channels": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. Channel IDs." + } + }, + "title": "Request message for UpdateAlertDetails" + }, + "v1UpdateAlertDetailsResponse": { + "type": "object", + "properties": { + "alertData": { + "$ref": "#/definitions/coverAlertData" + } + }, + "title": "Response message for UpdateAlertDetails" + }, + "v1UpdateAnomalyAlertRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "required. Id" + }, + "name": { + "type": "string", + "title": "required. alert name" + }, + "alertEnabled": { + "type": "boolean", + "description": "required." + }, + "notificationChannels": { + "type": "array", + "items": { + "type": "string" + }, + "description": "required. Notification Channel Ids." + }, + "frequency": { + "type": "string", + "description": "required. Frequency." + }, + "costGroupId": { + "type": "string", + "title": "required. cost group id" + } } }, + "v1UpdateBillingGroupInvoiceTemplateRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Required. The billing internal ID", + "required": [ + "id" + ] + }, + "invoiceTemplateId": { + "type": "string", + "title": "Required. The invoice template ID to associate with the billing group", + "required": [ + "invoiceTemplateId" + ] + } + }, + "title": "Request a message to update/create a billing group's invoice template", + "required": [ + "id", + "invoiceTemplateId" + ] + }, + "v1UpdateBudgetAlertsRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Required. budget alert id" + }, + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "accounts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required. Lsit of accountId. For example, you set to [\"accountId1\",\"accountId2\",\"accountId3\"]." + }, + "notification": { + "$ref": "#/definitions/apiBudgetAlertNotification", + "description": "Required." + }, + "daily": { + "$ref": "#/definitions/apiDailyBudgetAlert", + "description": "Optional." + }, + "dailyRate": { + "$ref": "#/definitions/apiDailyRateIncreaseBudgetAlert", + "description": "Optional." + }, + "monthly": { + "$ref": "#/definitions/apiMonthlyBudgetAlert", + "description": "Optional." + } + }, + "description": "Request message for the UpdateBudgetAlerts rpc." + }, + "v1UpdateBudgetRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Required. Budget ID." + }, + "budgetData": { + "$ref": "#/definitions/coverBudgetData" + } + } + }, + "v1UpdateBudgetResponse": { + "type": "object", + "properties": { + "budgetData": { + "$ref": "#/definitions/coverBudgetData" + } + } + }, + "v1UpdateChannelDetailsRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Required. Channel ID." + }, + "name": { + "type": "string", + "title": "If optional fields are not supplied, no changes occur.\nOptional. Either actual email address or slack/msteams channel name" + }, + "type": { + "type": "string", + "description": "Optional. email, slack, or msteams." + }, + "webhookUrl": { + "type": "string", + "description": "Optional. Only needed for slack and msteams type." + } + }, + "title": "Request message for UpdateChannelDetails" + }, + "v1UpdateChannelDetailsResponse": { + "type": "object", + "properties": { + "channelData": { + "$ref": "#/definitions/coverChannelData" + } + }, + "title": "Response message for UpdateChannelDetails" + }, + "v1UpdateCostFiltersRequest": { + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Required. At the moment, only `aws` is supported." + }, + "filterId": { + "type": "string", + "description": "Required. Filter Id." + }, + "filterName": { + "type": "string", + "title": "Required. Filter Name. Specify characters between 1 ~ 100" + }, + "groupId": { + "type": "string", + "description": "Required. If set, reads the usage-based cost details of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users.\n\nFor AWS Ripple, only billing internal ids are supported at the moment. Overriden when `accountId` is set to anything other than `*`. Set this and `accountId` to `*` to read the usage-based cost details of the whole organization. Optional for AWS Wave(Pro)." + }, + "accountId": { + "type": "string", + "description": "Required. You can set it to a single account or a comma-separated list of accounts.\n\nFor AWS, setting this will override `groupId`. Set this and `groupId` to `*` to read the usage-based cost details of the whole organization." + }, + "awsOptions": { + "$ref": "#/definitions/v1ReadCostsRequestAwsOptions", + "description": "Required. Valid only for the `aws` vendor. AWS-specific options." + } + }, + "description": "Request message for the UpdateCostFilters rpc." + }, + "v1UpdateCostFiltersResponse": { + "type": "object", + "properties": { + "filterId": { + "type": "string", + "description": "Required. Filter Id." + } + }, + "description": "Response message for the UpdateCostFilters rpc." + }, + "v1UpdateCostGroupColorThemeRequest": { + "type": "object", + "properties": { + "costGroupId": { + "type": "string", + "description": "Required. Cost Group Id." + }, + "colorTheme": { + "type": "string", + "description": "Required. Color Theme." + } + }, + "title": "Request message for UpdateCostGroupColorTheme" + }, + "v1UpdateCostGroupColorThemeResponse": { + "type": "object", + "properties": { + "colorTheme": { + "type": "string" + } + }, + "title": "Response message for UpdateCostGroupColorTheme" + }, + "v1UpdateCostGroupCombinationsRequest": { + "type": "object", + "properties": { + "costGroupId": { + "type": "string", + "description": "Required. Cost Group Id." + }, + "combinations": { + "$ref": "#/definitions/coverCombinations" + } + }, + "title": "Request message for UpdateCostGroupCombinations" + }, + "v1UpdateCostGroupCombinationsResponse": { + "type": "object", + "properties": { + "combinations": { + "$ref": "#/definitions/coverCombinations" + } + }, + "title": "Response message for UpdateCostGroupCombinations" + }, + "v1UpdateCostGroupCreationUIRequest": { + "type": "object", + "properties": { + "useNewCostGroupCreationUI": { + "type": "boolean" + } + } + }, + "v1UpdateCostGroupCreationUIResponse": { + "type": "object", + "properties": { + "userData": { + "$ref": "#/definitions/coverUserData" + } + } + }, + "v1UpdateCostGroupDescriptionRequest": { + "type": "object", + "properties": { + "costGroupId": { + "type": "string", + "description": "Required. Cost Group Id." + }, + "description": { + "type": "string", + "description": "Required. Description." + } + }, + "title": "Request message for UpdateCostGroupDescription" + }, "v1UpdateCostGroupDescriptionResponse": { "type": "object", "properties": { @@ -29805,90 +29581,520 @@ "type": "string" } }, - "title": "Response message for UpdateCostGroupDescription" + "title": "Response message for UpdateCostGroupDescription" + }, + "v1UpdateCostGroupIconRequest": { + "type": "object", + "properties": { + "costGroupId": { + "type": "string", + "description": "Required. Cost Group Id." + }, + "icon": { + "type": "string", + "description": "Required. Icon." + } + }, + "title": "Request message for UpdateCostGroupIcon" + }, + "v1UpdateCostGroupIconResponse": { + "type": "object", + "properties": { + "icon": { + "type": "string" + } + }, + "title": "Response message for UpdateCostGroupIcon" + }, + "v1UpdateCostGroupImageRequest": { + "type": "object", + "properties": { + "costGroupId": { + "type": "string", + "description": "Required. Cost Group Id." + }, + "image": { + "type": "string", + "description": "Required. Image." + } + }, + "title": "Request message for UpdateCostGroupImage" + }, + "v1UpdateCostGroupImageResponse": { + "type": "object", + "properties": { + "image": { + "type": "string" + } + }, + "title": "Response message for UpdateCostGroupImage" + }, + "v1UpdateCostGroupNameRequest": { + "type": "object", + "properties": { + "costGroupId": { + "type": "string", + "description": "Required. Cost Group Id." + }, + "name": { + "type": "string", + "description": "Required. Name." + } + }, + "title": "Request message for UpdateCostGroupName" + }, + "v1UpdateCostGroupNameResponse": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "title": "Response message for UpdateCostGroupName" + }, + "v1UpdateCustomFieldRequest": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "key": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "v1UpdateCustomizedBillingServiceRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Required. [blueapi.api.ripple.CustomizedBillingService.id]", + "required": [ + "id" + ] + }, + "customizedBillingService": { + "$ref": "#/definitions/rippleCustomizedBillingService", + "description": "Required. The updated customized billing service object." + }, + "updateMask": { + "type": "string", + "description": "Required. Indicates which fields in the provided CustomizedBillingService to update. Must be\nspecified and non-empty.", + "required": [ + "updateMask" + ] + } + }, + "description": "Request message for the Billing.UpdateCustomizedBillingService rpc.", + "required": [ + "id", + "updateMask" + ] + }, + "v1UpdateDataAccessRequest": { + "type": "object", + "properties": { + "target": { + "type": "string", + "title": "Billing Id for GCP, Account Id for Azure" + }, + "vendor": { + "type": "string", + "title": "GCP or Azure" + }, + "gcpOptions": { + "$ref": "#/definitions/coverGcpOptions", + "title": "GCP Options" + }, + "azureOptions": { + "$ref": "#/definitions/apicoverAzureOptions", + "title": "Azure Options" + }, + "awsOptions": { + "$ref": "#/definitions/apicoverAwsOptions", + "title": "AWS Options" + }, + "accountType": { + "type": "string", + "title": "Account Type" + } + }, + "title": "Request message for UpdateDataAccess (GCP/Azure)" + }, + "v1UpdateDiscountExpirationAlertRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "required. Id" + }, + "alertEnabled": { + "type": "boolean", + "description": "required." + }, + "channels": { + "type": "array", + "items": { + "type": "string" + }, + "description": "required. Notification Channel Ids." + }, + "frequencies": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + }, + "description": "required. Frequencies." + }, + "costGroups": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Required. Cost Group Ids" + }, + "name": { + "type": "string", + "title": "required. Name" + } + } + }, + "v1UpdateFeatureFlagsRequest": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "featureFlags": { + "$ref": "#/definitions/apiFeatureFlags" + } + }, + "description": "Request message for the Iam.UpdateFeatureFlags rpc." + }, + "v1UpdateInvoicePreviewsRequest": { + "type": "object", + "properties": { + "date": { + "type": "string", + "description": "Required. Month to get invoice. Format: `yyyymm`." + }, + "allGroups": { + "type": "boolean", + "description": "Optional. You can set all billing groups.\n\nIf this parameter is not set, The list set to `groups` is used." + }, + "groups": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Optional. You can set it to a list of billing internal group id" + }, + "enabled": { + "type": "boolean", + "description": "Required. You can set display or hiding.\n\nIf true, Hiding Invoice. If false, Display Invoice." + } + }, + "description": "Request message for the UpdateInvoicePreviews rpc." + }, + "v1UpdateInvoiceServiceDiscountsRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Required. [blueapi.api.ripple.v1.InvoiceServiceDiscounts.id]", + "required": [ + "id" + ] + }, + "invoiceServiceDiscounts": { + "$ref": "#/definitions/apiripplev1InvoiceServiceDiscounts", + "description": "Required. The updated invoice service discounts object." + }, + "updateMask": { + "type": "string", + "description": "Required. Indicates which fields in the provided InvoiceServiceDiscounts to update. Must be\nspecified and non-empty.", + "required": [ + "updateMask" + ] + } + }, + "description": "Request message for the Billing.UpdateInvoiceServiceDiscounts rpc.", + "required": [ + "id", + "updateMask" + ] + }, + "v1UpdateMSPDefaultMetaRequest": { + "type": "object", + "properties": { + "mspId": { + "type": "string" + }, + "defaultMeta": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "v1UpdateMemberPermissionRequest": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "Required. UserId." + }, + "isAdmin": { + "type": "boolean", + "description": "Required. IsAdmin." + } + }, + "title": "Request message for UpdateMemberPermission" + }, + "v1UpdateMemberPermissionResponse": { + "type": "object", + "properties": { + "userData": { + "$ref": "#/definitions/coverUserData" + } + }, + "title": "Response message for UpdateMemberPermission" + }, + "v1UpdateMetadataRequest": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "description": "Request message for the Organization.UpdateMetadata rpc." + }, + "v1UpdateNotificationChannelRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Required. ID of the notification channel to update." + }, + "name": { + "type": "string", + "description": "Required. Name of the notification channel." + }, + "type": { + "type": "string", + "description": "Required. Valid values: `email`, `slack`, `msteams`." + }, + "email": { + "$ref": "#/definitions/apiEmailChannel", + "description": "Required if type = `email`." + }, + "slack": { + "$ref": "#/definitions/apiSlackChannel", + "description": "Required if type = `slack`." + }, + "msteams": { + "$ref": "#/definitions/apiMSTeamsChannel", + "description": "Required if type = `msteams`." + }, + "product": { + "type": "string", + "description": "Optional. For Octo use only: `octo`." + } + }, + "description": "Request message for the Admin.UpdateNotificationChannel rpc." }, - "v1UpdateCostGroupIconResponse": { + "v1UpdateNotificationRequest": { "type": "object", "properties": { - "icon": { - "type": "string" + "id": { + "type": "string", + "title": "Required" + }, + "channels": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Required" + }, + "enabled": { + "type": "boolean", + "title": "Required" + }, + "notificationType": { + "type": "string", + "description": "Required\nValid values:\n`InvoiceCalculationStarted`,\n`InvoiceCalculationFinished`,\n`CurUpdatedAfterInvoice`.\n`AccountBudgetAlert`." + }, + "account": { + "$ref": "#/definitions/adminv1NotificationAccount", + "description": "Optional. only available Wave(Pro)." } }, - "title": "Response message for UpdateCostGroupIcon" + "description": "Request message for the Admin.UpdateNotificationTypeChannels rpc." }, - "v1UpdateCostGroupImageResponse": { + "v1UpdatePasswordRequest": { "type": "object", "properties": { - "image": { + "oldPassword": { + "type": "string" + }, + "newPassword": { "type": "string" } }, - "title": "Response message for UpdateCostGroupImage" + "description": "Request message for the Organization.UpdatePassword rpc." }, - "v1UpdateCostGroupNameResponse": { + "v1UpdateResellerRequest": { "type": "object", "properties": { - "name": { - "type": "string" + "id": { + "type": "string", + "description": "Required. reseller id.", + "required": [ + "id" + ] + }, + "email": { + "type": "string", + "description": "Optional." + }, + "password": { + "type": "string", + "description": "Optional.\n\nWe recommend a password length of 8~32 characters. If you send 0 characters, a password will be generated automatically." + }, + "waveConfig": { + "type": "array", + "items": { + "$ref": "#/definitions/rippleResellerConfig" + }, + "description": "Set only the config to be changed.\nFor example, If you want to change only dashboardGraph, set `{\"waveConfig\": [{\"key\": \"dashboardGraph\",\"value\": true}]}` as a parameter", + "title": "Optional. wave feature config" + }, + "aquaConfig": { + "type": "array", + "items": { + "$ref": "#/definitions/rippleResellerConfig" + }, + "description": "Set only the config to be changed.\nFor example, If you want to change only aqRiManagement, set `{\"waveConfig\": [{\"key\": \"aqRiManagement\",\"value\": true}]}` as a parameter", + "title": "Optional. aqua feature config" + }, + "notification": { + "type": "boolean", + "description": "Optional.\n\nIf valid when email or password is updated, you will be notified via email address.\nIf only waveConfig or aquaConfig is changed, it is ignored." + }, + "updateMask": { + "type": "string", + "description": "Required.", + "required": [ + "updateMask" + ] } }, - "title": "Response message for UpdateCostGroupName" + "description": "Request message for the UpdateReseller rpc.", + "required": [ + "id", + "updateMask" + ] }, - "v1UpdateMSPDefaultMetaRequest": { + "v1UpdateRoleRequest": { "type": "object", "properties": { - "mspId": { - "type": "string" + "namespace": { + "type": "string", + "description": "Required. The new namespace." }, - "defaultMeta": { + "name": { + "type": "string", + "description": "Required. The role name to update." + }, + "newName": { + "type": "string", + "description": "Optional. If set, update the current name to this." + }, + "permissions": { "type": "array", "items": { "type": "string" - } + }, + "description": "Required. The list of permissions to attach to this role." } - } + }, + "description": "Request message for the Iam.UpdateRole rpc." }, - "v1UpdateMemberPermissionResponse": { + "v1UpdateSideMenuStateRequest": { "type": "object", "properties": { - "userData": { - "$ref": "#/definitions/coverUserData" + "viewId": { + "type": "string", + "description": "Required. View Id." + }, + "sidemenustate": { + "type": "array", + "items": { + "$ref": "#/definitions/coverSideMenuState" + } } }, - "title": "Response message for UpdateMemberPermission" + "title": "Request message for UpdateSideMenuState" }, - "v1UpdateMetadataRequest": { + "v1UpdateSideMenuStateResponse": { "type": "object", "properties": { - "key": { - "type": "string" - }, - "value": { + "viewId": { "type": "string" } }, - "description": "Request message for the Organization.UpdateMetadata rpc." + "title": "Response message for UpdateSideMenuState" }, - "v1UpdatePasswordRequest": { + "v1UpdateTagsAddingSettingRequest": { "type": "object", "properties": { - "oldPassword": { + "vendor": { "type": "string" }, - "newPassword": { + "groupId": { "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/v1TagsAddingSetting" + } } }, - "description": "Request message for the Organization.UpdatePassword rpc." + "title": "BillingGroup tags adding setting" }, - "v1UpdateSideMenuStateResponse": { + "v1UpdateUnitTypeRequest": { "type": "object", "properties": { - "viewId": { - "type": "string" + "id": { + "type": "string", + "title": "Required. Unit Type Id" + }, + "unitName": { + "type": "string", + "title": "Optional" + }, + "unitItems": { + "type": "array", + "items": { + "$ref": "#/definitions/coverUnitItem" + }, + "title": "Optional" + }, + "description": { + "type": "string", + "title": "Optional" } - }, - "title": "Response message for UpdateSideMenuState" + } }, "v1UpdateUnitTypeResponse": { "type": "object", @@ -30063,6 +30269,37 @@ }, "title": "Response message for UpdateUserName" }, + "v1UpdateUserProfileRequest": { + "type": "object", + "properties": { + "email": { + "type": "string", + "title": "required email" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "usage": { + "type": "string" + }, + "intention": { + "type": "string" + }, + "companyName": { + "type": "string" + }, + "linkSource": { + "type": "string" + }, + "hasSubscribedUpdates": { + "type": "boolean" + } + }, + "title": "Request message for UpdateUserProfile" + }, "v1UpdateUserProfileResponse": { "type": "object", "properties": { @@ -30102,7 +30339,6 @@ "roles": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1MapRole" }, "description": "Required. The roles to map to the user. Limited to 5 items. Setting `role` to empty will remove the mapping." @@ -30155,6 +30391,18 @@ }, "title": "Response message for UpdateUserTimezone" }, + "v1UpdateViewColorThemeRequest": { + "type": "object", + "properties": { + "viewId": { + "type": "string" + }, + "colorTheme": { + "type": "string" + } + }, + "title": "Request message for UpdateViewColorTheme" + }, "v1UpdateViewColorThemeResponse": { "type": "object", "properties": { @@ -30164,6 +30412,18 @@ }, "title": "Response message for UpdateViewColorTheme" }, + "v1UpdateViewCurrencyRequest": { + "type": "object", + "properties": { + "viewId": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "title": "Request message for UpdateViewCurrency" + }, "v1UpdateViewCurrencyResponse": { "type": "object", "properties": { @@ -30173,19 +30433,62 @@ }, "title": "Response message for UpdateViewCurrency" }, + "v1UpdateViewLayoutRequest": { + "type": "object", + "properties": { + "viewId": { + "type": "string", + "description": "Required. View Id." + }, + "layout": { + "type": "array", + "items": { + "$ref": "#/definitions/coverWidgetData" + } + } + }, + "title": "Request message for UpdateViewLayout" + }, "v1UpdateViewLayoutResponse": { "type": "object", "properties": { "layout": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/coverViewLayout" } } }, "title": "Response message for UpdateViewLayout" }, + "v1UpdateViewRequest": { + "type": "object", + "properties": { + "viewId": { + "type": "string", + "description": "Required. View Id." + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "isPrivate": { + "type": "boolean" + }, + "isEditable": { + "type": "boolean" + }, + "colorTheme": { + "type": "string" + } + }, + "title": "Request message for UpdateView" + }, "v1UpdateViewResponse": { "type": "object", "properties": { @@ -30195,6 +30498,29 @@ }, "title": "Response message for UpdateView" }, + "v1UpdateViewWidgetRequest": { + "type": "object", + "properties": { + "viewId": { + "type": "string", + "description": "Required. View Id." + }, + "widgetId": { + "type": "string", + "description": "Required. Widget Id." + }, + "options": { + "type": "object" + }, + "requests": { + "type": "array", + "items": { + "$ref": "#/definitions/coverLayoutRequests" + } + } + }, + "title": "Request message for UpdateViewWidget" + }, "v1UpdateViewWidgetResponse": { "type": "object", "properties": { @@ -30216,7 +30542,6 @@ "featureSetting": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1FeatureSetting" } } @@ -30227,18 +30552,15 @@ "properties": { "name": { "type": "string", - "description": "file name", "title": "Required. File name" }, "type": { "type": "string", - "description": "file type", "title": "Required. File type" }, "file": { "type": "string", "format": "byte", - "description": "file in bytes", "title": "Required. Convert file into bytes to transfer file" } }, @@ -30396,7 +30718,6 @@ "thirdProfitItem": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1ThirdProfitItemSection" }, "description": "The yhird profit item." @@ -30445,7 +30766,6 @@ "children": { "type": "array", "items": { - "type": "object", "$ref": "#/definitions/v1WaveFeature" } }