@@ -7197,7 +7197,10 @@ components:
71977197 type: string
71987198 type:
71997199 description: The type of the object, must be `budget`.
7200+ example: ''
72007201 type: string
7202+ required:
7203+ - type
72017204 type: object
72027205 BudgetArray:
72037206 description: An array of budgets.
@@ -7222,6 +7225,8 @@ components:
72227225 items:
72237226 $ref: '#/components/schemas/Budget'
72247227 type: array
7228+ required:
7229+ - data
72257230 type: object
72267231 BudgetAttributes:
72277232 description: The attributes of a budget.
@@ -7241,9 +7246,8 @@ components:
72417246 format: int64
72427247 type: integer
72437248 entries:
7244- description: The entries of the budget.
72457249 items:
7246- $ref: '#/components/schemas/BudgetEntry '
7250+ $ref: '#/components/schemas/BudgetWithEntriesDataAttributesEntriesItems '
72477251 type: array
72487252 metrics_query:
72497253 description: The cost query used to track against the budget.
@@ -7278,25 +7282,89 @@ components:
72787282 example: 00000000-0a0a-0a0a-aaa0-00000000000a
72797283 type: string
72807284 type: object
7281- BudgetEntry:
7282- description: The entry of a budget.
7285+ BudgetValidationRequest:
7286+ example:
7287+ data:
7288+ attributes:
7289+ created_at: 1738258683590
7290+ created_by: 00000000-0a0a-0a0a-aaa0-00000000000a
7291+ end_month: 202502
7292+ entries:
7293+ - amount: 500
7294+ month: 202501
7295+ tag_filters:
7296+ - tag_key: service
7297+ tag_value: ec2
7298+ - amount: 500
7299+ month: 202502
7300+ tag_filters:
7301+ - tag_key: service
7302+ tag_value: ec2
7303+ metrics_query: aws.cost.amortized{service:ec2} by {service}
7304+ name: my budget
7305+ org_id: 123
7306+ start_month: 202501
7307+ total_amount: 1000
7308+ updated_at: 1738258683590
7309+ updated_by: 00000000-0a0a-0a0a-aaa0-00000000000a
7310+ id: '1'
7311+ type: budget
72837312 properties:
7284- amount:
7285- description: The `amount` of the budget entry.
7286- example: 500
7287- format: double
7288- type: number
7289- month:
7290- description: The `month` of the budget entry.
7291- example: 202501
7292- format: int64
7293- type: integer
7294- tag_filters:
7295- description: The `tag_filters` of the budget entry.
7313+ data:
7314+ $ref: '#/components/schemas/BudgetValidationRequestData'
7315+ type: object
7316+ BudgetValidationRequestData:
7317+ properties:
7318+ attributes:
7319+ $ref: '#/components/schemas/BudgetWithEntriesDataAttributes'
7320+ id:
7321+ type: string
7322+ type:
7323+ $ref: '#/components/schemas/BudgetWithEntriesDataType'
7324+ required:
7325+ - type
7326+ type: object
7327+ BudgetValidationResponse:
7328+ example:
7329+ data:
7330+ attributes:
7331+ errors: []
7332+ valid: true
7333+ id: budget_validation
7334+ type: budget_validation
7335+ properties:
7336+ data:
7337+ $ref: '#/components/schemas/BudgetValidationResponseData'
7338+ type: object
7339+ BudgetValidationResponseData:
7340+ properties:
7341+ attributes:
7342+ $ref: '#/components/schemas/BudgetValidationResponseDataAttributes'
7343+ id:
7344+ type: string
7345+ type:
7346+ $ref: '#/components/schemas/BudgetValidationResponseDataType'
7347+ required:
7348+ - type
7349+ type: object
7350+ BudgetValidationResponseDataAttributes:
7351+ properties:
7352+ errors:
72967353 items:
7297- $ref: '#/components/schemas/TagFilter'
7354+ type: string
72987355 type: array
7356+ valid:
7357+ type: boolean
72997358 type: object
7359+ BudgetValidationResponseDataType:
7360+ default: budget_validation
7361+ description: Budget validation resource type.
7362+ enum:
7363+ - budget_validation
7364+ example: budget_validation
7365+ type: string
7366+ x-enum-varnames:
7367+ - BUDGET_VALIDATION
73007368 BudgetWithEntries:
73017369 description: The definition of the `BudgetWithEntries` object.
73027370 properties:
@@ -7314,8 +7382,71 @@ components:
73147382 type: string
73157383 type:
73167384 description: The type of the object, must be `budget`.
7385+ example: ''
7386+ type: string
7387+ type: object
7388+ BudgetWithEntriesDataAttributes:
7389+ properties:
7390+ created_at:
7391+ format: int64
7392+ type: integer
7393+ created_by:
7394+ type: string
7395+ end_month:
7396+ format: int64
7397+ type: integer
7398+ entries:
7399+ items:
7400+ $ref: '#/components/schemas/BudgetWithEntriesDataAttributesEntriesItems'
7401+ type: array
7402+ metrics_query:
7403+ type: string
7404+ name:
7405+ type: string
7406+ org_id:
7407+ format: int64
7408+ type: integer
7409+ start_month:
7410+ format: int64
7411+ type: integer
7412+ total_amount:
7413+ format: double
7414+ type: number
7415+ updated_at:
7416+ format: int64
7417+ type: integer
7418+ updated_by:
7419+ type: string
7420+ type: object
7421+ BudgetWithEntriesDataAttributesEntriesItems:
7422+ properties:
7423+ amount:
7424+ format: double
7425+ type: number
7426+ month:
7427+ format: int64
7428+ type: integer
7429+ tag_filters:
7430+ items:
7431+ $ref: '#/components/schemas/BudgetWithEntriesDataAttributesEntriesItemsTagFiltersItems'
7432+ type: array
7433+ type: object
7434+ BudgetWithEntriesDataAttributesEntriesItemsTagFiltersItems:
7435+ properties:
7436+ tag_key:
7437+ type: string
7438+ tag_value:
73177439 type: string
73187440 type: object
7441+ BudgetWithEntriesDataType:
7442+ default: budget
7443+ description: Budget resource type.
7444+ enum:
7445+ - budget
7446+ example: budget
7447+ type: string
7448+ x-enum-varnames:
7449+ - BUDGET
73197450 BulkDeleteAppsDatastoreItemsRequest:
73207451 description: Request to delete items from a datastore.
73217452 properties:
@@ -56383,18 +56514,6 @@ components:
5638356514 type: string
5638456515 x-enum-varnames:
5638556516 - ROW
56386- TagFilter:
56387- description: Tag filter for the budget's entries.
56388- properties:
56389- tag_key:
56390- description: The key of the tag.
56391- example: service
56392- type: string
56393- tag_value:
56394- description: The value of the tag.
56395- example: ec2
56396- type: string
56397- type: object
5639856517 TagsEventAttribute:
5639956518 description: Array of tags associated with your event.
5640056519 example:
@@ -68265,34 +68384,69 @@ paths:
6826568384 security:
6826668385 - apiKeyAuth: []
6826768386 appKeyAuth: []
68268- - AuthZ:
68269- - cloud_cost_management_write
6827068387 summary: Create or update a budget
6827168388 tags:
6827268389 - Cloud Cost Management
68390+ /api/v2/cost/budget/csv/validate:
68391+ post:
68392+ operationId: ValidateCsvBudget
68393+ responses:
68394+ '200':
68395+ content:
68396+ application/json:
68397+ schema:
68398+ $ref: '#/components/schemas/ValidationResponse'
68399+ description: OK
68400+ '429':
68401+ $ref: '#/components/responses/TooManyRequestsResponse'
68402+ security: []
68403+ summary: Validate CSV budget
68404+ tags:
68405+ - Cloud Cost Management
68406+ /api/v2/cost/budget/validate:
68407+ post:
68408+ description: Validate a budget configuration without creating or modifying it
68409+ operationId: ValidateBudget
68410+ requestBody:
68411+ content:
68412+ application/json:
68413+ schema:
68414+ $ref: '#/components/schemas/BudgetValidationRequest'
68415+ required: true
68416+ responses:
68417+ '200':
68418+ content:
68419+ application/json:
68420+ schema:
68421+ $ref: '#/components/schemas/BudgetValidationResponse'
68422+ description: OK
68423+ '429':
68424+ $ref: '#/components/responses/TooManyRequestsResponse'
68425+ security:
68426+ - apiKeyAuth: []
68427+ appKeyAuth: []
68428+ summary: Validate budget
68429+ tags:
68430+ - Cloud Cost Management
6827368431 /api/v2/cost/budget/{budget_id}:
6827468432 delete:
68275- description: Delete a budget.
68433+ description: Delete a budget
6827668434 operationId: DeleteBudget
6827768435 parameters:
6827868436 - $ref: '#/components/parameters/BudgetID'
6827968437 responses:
6828068438 '204':
6828168439 description: No Content
68282- '400':
68283- $ref: '#/components/responses/BadRequestResponse'
6828468440 '429':
6828568441 $ref: '#/components/responses/TooManyRequestsResponse'
6828668442 security:
6828768443 - apiKeyAuth: []
6828868444 appKeyAuth: []
68289- - AuthZ:
68290- - cloud_cost_management_write
68291- summary: Delete a budget
68445+ summary: Delete budget
6829268446 tags:
6829368447 - Cloud Cost Management
6829468448 get:
68295- description: Get a budget.
68449+ description: Get a budget
6829668450 operationId: GetBudget
6829768451 parameters:
6829868452 - $ref: '#/components/parameters/BudgetID'
@@ -68301,20 +68455,14 @@ paths:
6830168455 content:
6830268456 application/json:
6830368457 schema:
68304- $ref: '#/components/schemas/BudgetWithEntries '
68458+ $ref: '#/components/schemas/BudgetValidationRequest '
6830568459 description: OK
68306- '400':
68307- $ref: '#/components/responses/BadRequestResponse'
68308- '404':
68309- $ref: '#/components/responses/NotFoundResponse'
6831068460 '429':
6831168461 $ref: '#/components/responses/TooManyRequestsResponse'
6831268462 security:
6831368463 - apiKeyAuth: []
6831468464 appKeyAuth: []
68315- - AuthZ:
68316- - cloud_cost_management_read
68317- summary: Get a budget
68465+ summary: Get budget
6831868466 tags:
6831968467 - Cloud Cost Management
6832068468 /api/v2/cost/budgets:
@@ -68333,8 +68481,6 @@ paths:
6833368481 security:
6833468482 - apiKeyAuth: []
6833568483 appKeyAuth: []
68336- - AuthZ:
68337- - cloud_cost_management_read
6833868484 summary: List budgets
6833968485 tags:
6834068486 - Cloud Cost Management
0 commit comments