diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 4ed0b352040f..35ff674a3007 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -2153,6 +2153,7 @@ components: description: Whether or not to automatically include new member accounts by default in your billing dataset. example: true + nullable: true type: boolean included_accounts: description: The AWS account IDs to be included in your billing dataset. @@ -3948,6 +3949,634 @@ components: - CREATED_AT_DESC - UPDATED_AT_DESC - USER_NAME_DESC + ArbitraryCostUpsertRequest: + description: The definition of `ArbitraryCostUpsertRequest` object. + example: + data: + attributes: + costs_to_allocate: + - condition: is + tag: account_id + value: '123456789' + values: null + - condition: in + tag: environment + value: '' + values: + - production + - staging + enabled: true + order_id: 1 + provider: + - aws + - gcp + rule_name: example-arbitrary-cost-rule + strategy: + allocated_by_tag_keys: + - team + - environment + based_on_costs: + - condition: is + tag: service + value: web-api + values: null + - condition: not in + tag: team + value: '' + values: + - legacy + - deprecated + granularity: daily + method: proportional + type: shared + type: upsert_arbitrary_rule + properties: + data: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestData' + type: object + ArbitraryCostUpsertRequestData: + description: The definition of `ArbitraryCostUpsertRequestData` object. + properties: + attributes: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributes' + id: + description: The `ArbitraryCostUpsertRequestData` `id`. + type: string + type: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataType' + required: + - type + type: object + ArbitraryCostUpsertRequestDataAttributes: + description: The definition of `ArbitraryCostUpsertRequestDataAttributes` object. + properties: + costs_to_allocate: + description: The `attributes` `costs_to_allocate`. + items: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems' + type: array + enabled: + description: The `attributes` `enabled`. + type: boolean + order_id: + description: The `attributes` `order_id`. + format: int64 + type: integer + provider: + description: The `attributes` `provider`. + example: + - '' + items: + type: string + type: array + rejected: + description: The `attributes` `rejected`. + type: boolean + rule_name: + description: The `attributes` `rule_name`. + example: '' + type: string + strategy: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesStrategy' + type: + description: The `attributes` `type`. + example: '' + type: string + required: + - costs_to_allocate + - provider + - rule_name + - strategy + - type + type: object + ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems` + object. + properties: + condition: + description: The `items` `condition`. + example: '' + type: string + tag: + description: The `items` `tag`. + example: '' + type: string + value: + description: The `items` `value`. + type: string + values: + description: The `items` `values`. + items: + type: string + nullable: true + type: array + required: + - condition + - tag + type: object + ArbitraryCostUpsertRequestDataAttributesStrategy: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesStrategy` + object. + properties: + allocated_by: + description: The `strategy` `allocated_by`. + items: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems' + type: array + allocated_by_filters: + description: The `strategy` `allocated_by_filters`. + items: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems' + type: array + allocated_by_tag_keys: + description: The `strategy` `allocated_by_tag_keys`. + items: + type: string + type: array + based_on_costs: + description: The `strategy` `based_on_costs`. + items: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems' + type: array + based_on_timeseries: + additionalProperties: {} + description: The `strategy` `based_on_timeseries`. + type: object + evaluate_grouped_by_filters: + description: The `strategy` `evaluate_grouped_by_filters`. + items: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems' + type: array + evaluate_grouped_by_tag_keys: + description: The `strategy` `evaluate_grouped_by_tag_keys`. + items: + type: string + type: array + granularity: + description: The `strategy` `granularity`. + type: string + method: + description: The `strategy` `method`. + example: '' + type: string + required: + - method + type: object + ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems` + object. + properties: + condition: + description: The `items` `condition`. + example: '' + type: string + tag: + description: The `items` `tag`. + example: '' + type: string + value: + description: The `items` `value`. + type: string + values: + description: The `items` `values`. + items: + type: string + nullable: true + type: array + required: + - condition + - tag + type: object + ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems` + object. + properties: + allocated_tags: + description: The `items` `allocated_tags`. + items: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems' + type: array + percentage: + description: The `items` `percentage`. The numeric value format should be + a 32bit float value. + example: 0.0 + format: double + type: number + required: + - allocated_tags + - percentage + type: object + ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems` + object. + properties: + key: + description: The `items` `key`. + example: '' + type: string + value: + description: The `items` `value`. + example: '' + type: string + required: + - key + - value + type: object + ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems` + object. + properties: + condition: + description: The `items` `condition`. + example: '' + type: string + tag: + description: The `items` `tag`. + example: '' + type: string + value: + description: The `items` `value`. + type: string + values: + description: The `items` `values`. + items: + type: string + nullable: true + type: array + required: + - condition + - tag + type: object + ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems` + object. + properties: + condition: + description: The `items` `condition`. + example: '' + type: string + tag: + description: The `items` `tag`. + example: '' + type: string + value: + description: The `items` `value`. + type: string + values: + description: The `items` `values`. + items: + type: string + nullable: true + type: array + required: + - condition + - tag + type: object + ArbitraryCostUpsertRequestDataType: + default: upsert_arbitrary_rule + description: Upsert arbitrary rule resource type. + enum: + - upsert_arbitrary_rule + example: upsert_arbitrary_rule + type: string + x-enum-varnames: + - UPSERT_ARBITRARY_RULE + ArbitraryRuleResponse: + description: The definition of `ArbitraryRuleResponse` object. + example: + data: + attributes: + costs_to_allocate: + - condition: is + tag: account_id + value: '123456789' + values: null + - condition: in + tag: environment + value: '' + values: + - production + - staging + created: '2023-01-01T12:00:00Z' + enabled: true + last_modified_user_uuid: user-123-uuid + order_id: 1 + provider: + - aws + - gcp + rule_name: Example Arbitrary Cost Rule + strategy: + allocated_by_tag_keys: + - team + - environment + based_on_costs: + - condition: is + tag: service + value: web-api + values: null + - condition: not in + tag: team + value: '' + values: + - legacy + - deprecated + granularity: daily + method: proportional + type: shared + updated: '2023-01-01T12:00:00Z' + version: 1 + id: '123' + type: arbitrary_rule + properties: + data: + $ref: '#/components/schemas/ArbitraryRuleResponseData' + type: object + ArbitraryRuleResponseArray: + description: The definition of `ArbitraryRuleResponseArray` object. + properties: + data: + description: The `ArbitraryRuleResponseArray` `data`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseData' + type: array + required: + - data + type: object + ArbitraryRuleResponseData: + description: The definition of `ArbitraryRuleResponseData` object. + properties: + attributes: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributes' + id: + description: The `ArbitraryRuleResponseData` `id`. + type: string + type: + $ref: '#/components/schemas/ArbitraryRuleResponseDataType' + required: + - type + type: object + ArbitraryRuleResponseDataAttributes: + description: The definition of `ArbitraryRuleResponseDataAttributes` object. + properties: + costs_to_allocate: + description: The `attributes` `costs_to_allocate`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesCostsToAllocateItems' + type: array + created: + description: The `attributes` `created`. + example: '' + format: date-time + type: string + enabled: + description: The `attributes` `enabled`. + example: false + type: boolean + last_modified_user_uuid: + description: The `attributes` `last_modified_user_uuid`. + example: '' + type: string + order_id: + description: The `attributes` `order_id`. + example: 0 + format: int64 + type: integer + provider: + description: The `attributes` `provider`. + example: + - '' + items: + type: string + type: array + rejected: + description: The `attributes` `rejected`. + type: boolean + rule_name: + description: The `attributes` `rule_name`. + example: '' + type: string + strategy: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesStrategy' + type: + description: The `attributes` `type`. + example: '' + type: string + updated: + description: The `attributes` `updated`. + example: '' + format: date-time + type: string + version: + description: The `attributes` `version`. + example: 0 + format: int32 + maximum: 2147483647 + type: integer + required: + - costs_to_allocate + - created + - enabled + - last_modified_user_uuid + - order_id + - provider + - rule_name + - strategy + - type + - updated + - version + type: object + ArbitraryRuleResponseDataAttributesCostsToAllocateItems: + description: The definition of `ArbitraryRuleResponseDataAttributesCostsToAllocateItems` + object. + properties: + condition: + description: The `items` `condition`. + example: '' + type: string + tag: + description: The `items` `tag`. + example: '' + type: string + value: + description: The `items` `value`. + type: string + values: + description: The `items` `values`. + items: + type: string + nullable: true + type: array + required: + - condition + - tag + type: object + ArbitraryRuleResponseDataAttributesStrategy: + description: The definition of `ArbitraryRuleResponseDataAttributesStrategy` + object. + properties: + allocated_by: + description: The `strategy` `allocated_by`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems' + type: array + allocated_by_filters: + description: The `strategy` `allocated_by_filters`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems' + type: array + allocated_by_tag_keys: + description: The `strategy` `allocated_by_tag_keys`. + items: + type: string + type: array + based_on_costs: + description: The `strategy` `based_on_costs`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems' + type: array + based_on_timeseries: + additionalProperties: {} + description: The rule `strategy` `based_on_timeseries`. + type: object + evaluate_grouped_by_filters: + description: The `strategy` `evaluate_grouped_by_filters`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems' + type: array + evaluate_grouped_by_tag_keys: + description: The `strategy` `evaluate_grouped_by_tag_keys`. + items: + type: string + type: array + granularity: + description: The `strategy` `granularity`. + type: string + method: + description: The `strategy` `method`. + example: '' + type: string + required: + - method + type: object + ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems: + description: The definition of `ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems` + object. + properties: + condition: + description: The `items` `condition`. + example: '' + type: string + tag: + description: The `items` `tag`. + example: '' + type: string + value: + description: The `items` `value`. + type: string + values: + description: The `items` `values`. + items: + type: string + nullable: true + type: array + required: + - condition + - tag + type: object + ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems: + description: The definition of `ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems` + object. + properties: + allocated_tags: + description: The `items` `allocated_tags`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems' + type: array + percentage: + description: The `items` `percentage`. The numeric value format should be + a 32bit float value. + example: 0.0 + format: double + type: number + required: + - allocated_tags + - percentage + type: object + ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems: + description: The definition of `ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems` + object. + properties: + key: + description: The `items` `key`. + example: '' + type: string + value: + description: The `items` `value`. + example: '' + type: string + required: + - key + - value + type: object + ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems: + description: The definition of `ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems` + object. + properties: + condition: + description: The `items` `condition`. + example: '' + type: string + tag: + description: The `items` `tag`. + example: '' + type: string + value: + description: The `items` `value`. + type: string + values: + description: The `items` `values`. + items: + type: string + nullable: true + type: array + required: + - condition + - tag + type: object + ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems: + description: The definition of `ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems` + object. + properties: + condition: + description: The `items` `condition`. + example: '' + type: string + tag: + description: The `items` `tag`. + example: '' + type: string + value: + description: The `items` `value`. + type: string + values: + description: The `items` `values`. + items: + type: string + nullable: true + type: array + required: + - condition + - tag + type: object + ArbitraryRuleResponseDataType: + default: arbitrary_rule + description: Arbitrary rule resource type. + enum: + - arbitrary_rule + example: arbitrary_rule + type: string + x-enum-varnames: + - ARBITRARY_RULE AsanaAccessToken: description: The definition of the `AsanaAccessToken` object. properties: @@ -4701,6 +5330,7 @@ components: description: The error messages for the AWS CUR config. items: type: string + nullable: true type: array months: deprecated: true @@ -4782,7 +5412,6 @@ components: type: $ref: '#/components/schemas/AwsCURConfigPostRequestType' required: - - attributes - type type: object AwsCURConfigPostRequest: @@ -4838,12 +5467,6 @@ components: type: string x-enum-varnames: - AWS_CUR_CONFIG_POST_REQUEST - AwsCURConfigResponse: - description: Response of AWS CUR config. - properties: - data: - $ref: '#/components/schemas/AwsCURConfig' - type: object AwsCURConfigType: default: aws_cur_config description: Type of AWS CUR config. @@ -4861,7 +5484,120 @@ components: items: $ref: '#/components/schemas/AwsCURConfig' type: array + required: + - data + type: object + AwsCurConfigResponse: + description: The definition of `AwsCurConfigResponse` object. + example: + data: + attributes: + account_filters: + excluded_accounts: + - '123456789124' + - '123456789125' + include_new_accounts: true + account_id: '123456789123' + bucket_name: dd-cost-bucket + bucket_region: us-east-1 + created_at: 2023-01-01 12:00:00 + error_messages: [] + months: 36 + report_name: dd-report-name + report_prefix: dd-report-prefix + status: active + status_updated_at: 2023-01-01 12:00:00 + updated_at: 2023-01-01 12:00:00 + id: '123456789123' + type: aws_cur_config + properties: + data: + $ref: '#/components/schemas/AwsCurConfigResponseData' + type: object + AwsCurConfigResponseData: + description: The definition of `AwsCurConfigResponseData` object. + properties: + attributes: + $ref: '#/components/schemas/AwsCurConfigResponseDataAttributes' + id: + description: The `AwsCurConfigResponseData` `id`. + type: string + type: + $ref: '#/components/schemas/AwsCurConfigResponseDataType' + required: + - type + type: object + AwsCurConfigResponseDataAttributes: + description: The definition of `AwsCurConfigResponseDataAttributes` object. + properties: + account_filters: + $ref: '#/components/schemas/AwsCurConfigResponseDataAttributesAccountFilters' + account_id: + description: The `attributes` `account_id`. + type: string + bucket_name: + description: The `attributes` `bucket_name`. + type: string + bucket_region: + description: The `attributes` `bucket_region`. + type: string + created_at: + description: The `attributes` `created_at`. + type: string + error_messages: + description: The `attributes` `error_messages`. + items: + type: string + nullable: true + type: array + months: + description: The `attributes` `months`. + format: int64 + type: integer + report_name: + description: The `attributes` `report_name`. + type: string + report_prefix: + description: The `attributes` `report_prefix`. + type: string + status: + description: The `attributes` `status`. + type: string + status_updated_at: + description: The `attributes` `status_updated_at`. + type: string + updated_at: + description: The `attributes` `updated_at`. + type: string type: object + AwsCurConfigResponseDataAttributesAccountFilters: + description: The definition of `AwsCurConfigResponseDataAttributesAccountFilters` + object. + properties: + excluded_accounts: + description: The `account_filters` `excluded_accounts`. + items: + type: string + type: array + include_new_accounts: + description: The `account_filters` `include_new_accounts`. + nullable: true + type: boolean + included_accounts: + description: The `account_filters` `included_accounts`. + items: + type: string + type: array + type: object + AwsCurConfigResponseDataType: + default: aws_cur_config + description: AWS CUR config resource type. + enum: + - aws_cur_config + example: aws_cur_config + type: string + x-enum-varnames: + - AWS_CUR_CONFIG AwsOnDemandAttributes: description: Attributes for the AWS on demand task. properties: @@ -5271,7 +6007,7 @@ components: description: Azure config. properties: account_id: - description: The tenant ID of the azure account. + description: The tenant ID of the Azure account. example: 1234abcd-1234-abcd-1234-1234abcd1234 type: string client_id: @@ -5290,6 +6026,7 @@ components: description: The error messages for the Azure config. items: type: string + nullable: true type: array export_name: description: The name of the configured Azure Export. @@ -5395,7 +6132,6 @@ components: type: $ref: '#/components/schemas/AzureUCConfigPatchRequestType' required: - - attributes - type type: object AzureUCConfigPatchRequest: @@ -5433,7 +6169,6 @@ components: type: $ref: '#/components/schemas/AzureUCConfigPostRequestType' required: - - attributes - type type: object AzureUCConfigPostRequest: @@ -5448,7 +6183,7 @@ components: description: Attributes for Azure config Post Request. properties: account_id: - description: The tenant ID of the azure account. + description: The tenant ID of the Azure account. example: 1234abcd-1234-abcd-1234-1234abcd1234 type: string actual_bill_config: @@ -5456,12 +6191,9 @@ components: amortized_bill_config: $ref: '#/components/schemas/BillConfig' client_id: - description: The client ID of the azure account. + description: The client ID of the Azure account. example: 1234abcd-1234-abcd-1234-1234abcd1234 type: string - is_enabled: - description: Whether or not the Cloud Cost Management account is enabled. - type: boolean scope: description: The scope of your observed subscription. example: /subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 @@ -5490,6 +6222,8 @@ components: items: $ref: '#/components/schemas/AzureUCConfigPair' type: array + required: + - data type: object BillConfig: description: Bill config. @@ -11205,6 +11939,204 @@ components: type: $ref: '#/components/schemas/RuleType' type: object + CreateRulesetRequest: + description: The definition of `CreateRulesetRequest` object. + example: + data: + attributes: + enabled: true + rules: + - enabled: true + mapping: null + metadata: null + name: Add Cost Center Tag + query: + addition: + key: cost_center + value: engineering + case_insensitivity: false + if_not_exists: true + query: account_id:"123456789" AND service:"web-api" + reference_table: null + id: New Ruleset + type: create_ruleset + properties: + data: + $ref: '#/components/schemas/CreateRulesetRequestData' + type: object + CreateRulesetRequestData: + description: The definition of `CreateRulesetRequestData` object. + properties: + attributes: + $ref: '#/components/schemas/CreateRulesetRequestDataAttributes' + id: + description: The `CreateRulesetRequestData` `id`. + type: string + type: + $ref: '#/components/schemas/CreateRulesetRequestDataType' + required: + - type + type: object + CreateRulesetRequestDataAttributes: + description: The definition of `CreateRulesetRequestDataAttributes` object. + properties: + enabled: + description: The `attributes` `enabled`. + type: boolean + rules: + description: The `attributes` `rules`. + items: + $ref: '#/components/schemas/CreateRulesetRequestDataAttributesRulesItems' + type: array + required: + - rules + type: object + CreateRulesetRequestDataAttributesRulesItems: + description: The definition of `CreateRulesetRequestDataAttributesRulesItems` + object. + properties: + enabled: + description: The `items` `enabled`. + example: false + type: boolean + mapping: + $ref: '#/components/schemas/CreateRulesetRequestDataAttributesRulesItemsMapping' + metadata: + $ref: '#/components/schemas/RulesetItemMetadata' + name: + description: The `items` `name`. + example: '' + type: string + query: + $ref: '#/components/schemas/CreateRulesetRequestDataAttributesRulesItemsQuery' + reference_table: + $ref: '#/components/schemas/CreateRulesetRequestDataAttributesRulesItemsReferenceTable' + required: + - enabled + - name + type: object + CreateRulesetRequestDataAttributesRulesItemsMapping: + description: The definition of `CreateRulesetRequestDataAttributesRulesItemsMapping` + object. + nullable: true + properties: + destination_key: + description: The `mapping` `destination_key`. + example: '' + type: string + if_not_exists: + description: The `mapping` `if_not_exists`. + example: false + type: boolean + source_keys: + description: The `mapping` `source_keys`. + example: + - '' + items: + type: string + type: array + required: + - destination_key + - if_not_exists + - source_keys + type: object + CreateRulesetRequestDataAttributesRulesItemsQuery: + description: The definition of `CreateRulesetRequestDataAttributesRulesItemsQuery` + object. + nullable: true + properties: + addition: + $ref: '#/components/schemas/CreateRulesetRequestDataAttributesRulesItemsQueryAddition' + case_insensitivity: + description: The `query` `case_insensitivity`. + type: boolean + if_not_exists: + description: The `query` `if_not_exists`. + example: false + type: boolean + query: + description: The `query` `query`. + example: '' + type: string + required: + - addition + - if_not_exists + - query + type: object + CreateRulesetRequestDataAttributesRulesItemsQueryAddition: + description: The definition of `CreateRulesetRequestDataAttributesRulesItemsQueryAddition` + object. + nullable: true + properties: + key: + description: The `addition` `key`. + example: '' + type: string + value: + description: The `addition` `value`. + example: '' + type: string + required: + - key + - value + type: object + CreateRulesetRequestDataAttributesRulesItemsReferenceTable: + description: The definition of `CreateRulesetRequestDataAttributesRulesItemsReferenceTable` + object. + nullable: true + properties: + case_insensitivity: + description: The `reference_table` `case_insensitivity`. + type: boolean + field_pairs: + description: The `reference_table` `field_pairs`. + items: + $ref: '#/components/schemas/CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems' + type: array + if_not_exists: + description: The `reference_table` `if_not_exists`. + type: boolean + source_keys: + description: The `reference_table` `source_keys`. + example: + - '' + items: + type: string + type: array + table_name: + description: The `reference_table` `table_name`. + example: '' + type: string + required: + - field_pairs + - source_keys + - table_name + type: object + CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems: + description: The definition of `CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems` + object. + properties: + input_column: + description: The `items` `input_column`. + example: '' + type: string + output_key: + description: The `items` `output_key`. + example: '' + type: string + required: + - input_column + - output_key + type: object + CreateRulesetRequestDataType: + default: create_ruleset + description: Create ruleset resource type. + enum: + - create_ruleset + example: create_ruleset + type: string + x-enum-varnames: + - CREATE_RULESET CreateWorkflowRequest: description: A request object for creating a new workflow. example: @@ -18282,12 +19214,12 @@ components: - type type: object GCPUsageCostConfig: - description: GCP Usage Cost config. + description: Google Cloud Usage Cost config. properties: attributes: $ref: '#/components/schemas/GCPUsageCostConfigAttributes' id: - description: The ID of the GCP Usage Cost config. + description: The ID of the Google Cloud Usage Cost config. type: string type: $ref: '#/components/schemas/GCPUsageCostConfigType' @@ -18296,36 +19228,37 @@ components: - type type: object GCPUsageCostConfigAttributes: - description: Attributes for a GCP Usage Cost config. + description: Attributes for a Google Cloud Usage Cost config. properties: account_id: - description: The GCP account ID. + description: The Google Cloud account ID. example: 123456_A123BC_12AB34 type: string bucket_name: - description: The GCP bucket name used to store the Usage Cost export. + description: The Google Cloud bucket name used to store the Usage Cost export. example: dd-cost-bucket type: string created_at: - description: The timestamp when the GCP Usage Cost config was created. + description: The timestamp when the Google Cloud Usage Cost config was created. pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ type: string dataset: - description: The export dataset name used for the GCP Usage Cost Report. + description: The export dataset name used for the Google Cloud Usage Cost + Report. example: billing type: string error_messages: - description: The error messages for the GCP Usage Cost config. + description: The error messages for the Google Cloud Usage Cost config. items: type: string nullable: true type: array export_prefix: - description: The export prefix used for the GCP Usage Cost Report. + description: The export prefix used for the Google Cloud Usage Cost Report. example: datadog_cloud_cost_usage_export type: string export_project_name: - description: The name of the GCP Usage Cost Report. + description: The name of the Google Cloud Usage Cost Report. example: dd-cloud-cost-report type: string months: @@ -18335,23 +19268,25 @@ components: maximum: 36 type: integer project_id: - description: The `project_id` of the GCP Usage Cost report. + description: The `project_id` of the Google Cloud Usage Cost report. example: my-project-123 type: string service_account: - description: The unique GCP service account email. + description: The unique Google Cloud service account email. example: dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com type: string status: - description: The status of the GCP Usage Cost config. + description: The status of the Google Cloud Usage Cost config. example: active type: string status_updated_at: - description: The timestamp when the GCP Usage Cost config status was updated. + description: The timestamp when the Google Cloud Usage Cost config status + was updated. pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ type: string updated_at: - description: The timestamp when the GCP Usage Cost config status was updated. + description: The timestamp when the Google Cloud Usage Cost config status + was updated. pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ type: string required: @@ -18364,7 +19299,7 @@ components: - status type: object GCPUsageCostConfigPatchData: - description: GCP Usage Cost config patch data. + description: Google Cloud Usage Cost config patch data. properties: attributes: $ref: '#/components/schemas/GCPUsageCostConfigPatchRequestAttributes' @@ -18375,7 +19310,7 @@ components: - type type: object GCPUsageCostConfigPatchRequest: - description: GCP Usage Cost config patch request. + description: Google Cloud Usage Cost config patch request. properties: data: $ref: '#/components/schemas/GCPUsageCostConfigPatchData' @@ -18383,7 +19318,7 @@ components: - data type: object GCPUsageCostConfigPatchRequestAttributes: - description: Attributes for GCP Usage Cost config patch request. + description: Attributes for Google Cloud Usage Cost config patch request. properties: is_enabled: description: Whether or not the Cloud Cost Management account is enabled. @@ -18394,7 +19329,7 @@ components: type: object GCPUsageCostConfigPatchRequestType: default: gcp_uc_config_patch_request - description: Type of GCP Usage Cost config patch request. + description: Type of Google Cloud Usage Cost config patch request. enum: - gcp_uc_config_patch_request example: gcp_uc_config_patch_request @@ -18402,18 +19337,17 @@ components: x-enum-varnames: - GCP_USAGE_COST_CONFIG_PATCH_REQUEST GCPUsageCostConfigPostData: - description: GCP Usage Cost config post data. + description: Google Cloud Usage Cost config post data. properties: attributes: $ref: '#/components/schemas/GCPUsageCostConfigPostRequestAttributes' type: $ref: '#/components/schemas/GCPUsageCostConfigPostRequestType' required: - - attributes - type type: object GCPUsageCostConfigPostRequest: - description: GCP Usage Cost config post request. + description: Google Cloud Usage Cost config post request. properties: data: $ref: '#/components/schemas/GCPUsageCostConfigPostData' @@ -18421,30 +19355,31 @@ components: - data type: object GCPUsageCostConfigPostRequestAttributes: - description: Attributes for GCP Usage Cost config post request. + description: Attributes for Google Cloud Usage Cost config post request. properties: billing_account_id: - description: The GCP account ID. + description: The Google Cloud account ID. example: 123456_A123BC_12AB34 type: string bucket_name: - description: The GCP bucket name used to store the Usage Cost export. + description: The Google Cloud bucket name used to store the Usage Cost export. example: dd-cost-bucket type: string export_dataset_name: - description: The export dataset name used for the GCP Usage Cost report. + description: The export dataset name used for the Google Cloud Usage Cost + report. example: billing type: string export_prefix: - description: The export prefix used for the GCP Usage Cost report. + description: The export prefix used for the Google Cloud Usage Cost report. example: datadog_cloud_cost_usage_export type: string export_project_name: - description: The name of the GCP Usage Cost report. + description: The name of the Google Cloud Usage Cost report. example: dd-cloud-cost-report type: string service_account: - description: The unique GCP service account email. + description: The unique Google Cloud service account email. example: dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com type: string required: @@ -18456,7 +19391,7 @@ components: type: object GCPUsageCostConfigPostRequestType: default: gcp_uc_config_post_request - description: Type of GCP Usage Cost config post request. + description: Type of Google Cloud Usage Cost config post request. enum: - gcp_uc_config_post_request example: gcp_usage_cost_config_post_request @@ -18464,14 +19399,14 @@ components: x-enum-varnames: - GCP_USAGE_COST_CONFIG_POST_REQUEST GCPUsageCostConfigResponse: - description: Response of GCP Usage Cost config. + description: Response of Google Cloud Usage Cost config. properties: data: $ref: '#/components/schemas/GCPUsageCostConfig' type: object GCPUsageCostConfigType: default: gcp_uc_config - description: Type of GCP Usage Cost config. + description: Type of Google Cloud Usage Cost config. enum: - gcp_uc_config example: gcp_uc_config @@ -18479,14 +19414,109 @@ components: x-enum-varnames: - GCP_UC_CONFIG GCPUsageCostConfigsResponse: - description: List of GCP Usage Cost configs. + description: List of Google Cloud Usage Cost configs. properties: data: - description: A GCP Usage Cost config. + description: A Google Cloud Usage Cost config. items: $ref: '#/components/schemas/GCPUsageCostConfig' type: array + required: + - data + type: object + GcpUcConfigResponse: + description: The definition of `GcpUcConfigResponse` object. + example: + data: + attributes: + account_id: 123456_A123BC_12AB34 + bucket_name: dd-cost-bucket + created_at: 2023-01-01 12:00:00 + dataset: billing + error_messages: [] + export_prefix: datadog_cloud_cost_usage_export + export_project_name: dd-cloud-cost-report + months: 36 + project_id: my-project-123 + service_account: dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com + status: active + status_updated_at: 2023-01-01 12:00:00 + updated_at: 2023-01-01 12:00:00 + id: '123456789123' + type: gcp_uc_config + properties: + data: + $ref: '#/components/schemas/GcpUcConfigResponseData' + type: object + GcpUcConfigResponseData: + description: The definition of `GcpUcConfigResponseData` object. + properties: + attributes: + $ref: '#/components/schemas/GcpUcConfigResponseDataAttributes' + id: + description: The `GcpUcConfigResponseData` `id`. + type: string + type: + $ref: '#/components/schemas/GcpUcConfigResponseDataType' + required: + - type + type: object + GcpUcConfigResponseDataAttributes: + description: The definition of `GcpUcConfigResponseDataAttributes` object. + properties: + account_id: + description: The `attributes` `account_id`. + type: string + bucket_name: + description: The `attributes` `bucket_name`. + type: string + created_at: + description: The `attributes` `created_at`. + type: string + dataset: + description: The `attributes` `dataset`. + type: string + error_messages: + description: The `attributes` `error_messages`. + items: + type: string + nullable: true + type: array + export_prefix: + description: The `attributes` `export_prefix`. + type: string + export_project_name: + description: The `attributes` `export_project_name`. + type: string + months: + description: The `attributes` `months`. + format: int64 + type: integer + project_id: + description: The `attributes` `project_id`. + type: string + service_account: + description: The `attributes` `service_account`. + type: string + status: + description: The `attributes` `status`. + type: string + status_updated_at: + description: The `attributes` `status_updated_at`. + type: string + updated_at: + description: The `attributes` `updated_at`. + type: string type: object + GcpUcConfigResponseDataType: + default: gcp_uc_config + description: Google Cloud Usage Cost config resource type. + enum: + - gcp_uc_config + example: gcp_uc_config + type: string + x-enum-varnames: + - GCP_UC_CONFIG GeminiAPIKey: description: The definition of the `GeminiAPIKey` object. properties: @@ -36173,6 +37203,76 @@ components: required: - data type: object + ReorderRuleResourceArray: + description: The definition of `ReorderRuleResourceArray` object. + example: + data: + - id: '456' + type: arbitrary_rule + - id: '123' + type: arbitrary_rule + - id: '789' + type: arbitrary_rule + properties: + data: + description: The `ReorderRuleResourceArray` `data`. + items: + $ref: '#/components/schemas/ReorderRuleResourceData' + type: array + required: + - data + type: object + ReorderRuleResourceData: + description: The definition of `ReorderRuleResourceData` object. + properties: + id: + description: The `ReorderRuleResourceData` `id`. + type: string + type: + $ref: '#/components/schemas/ReorderRuleResourceDataType' + required: + - type + type: object + ReorderRuleResourceDataType: + default: arbitrary_rule + description: Arbitrary rule resource type. + enum: + - arbitrary_rule + example: arbitrary_rule + type: string + x-enum-varnames: + - ARBITRARY_RULE + ReorderRulesetResourceArray: + description: The definition of `ReorderRulesetResourceArray` object. + properties: + data: + description: The `ReorderRulesetResourceArray` `data`. + items: + $ref: '#/components/schemas/ReorderRulesetResourceData' + type: array + required: + - data + type: object + ReorderRulesetResourceData: + description: The definition of `ReorderRulesetResourceData` object. + properties: + id: + description: The `ReorderRulesetResourceData` `id`. + type: string + type: + $ref: '#/components/schemas/ReorderRulesetResourceDataType' + required: + - type + type: object + ReorderRulesetResourceDataType: + default: ruleset + description: Ruleset resource type. + enum: + - ruleset + example: ruleset + type: string + x-enum-varnames: + - RULESET ResourceFilterAttributes: description: Attributes of a resource filter. example: @@ -37207,6 +38307,396 @@ components: rule: $ref: '#/components/schemas/SecurityMonitoringRuleResponse' type: object + RulesValidateQueryRequest: + description: The definition of `RulesValidateQueryRequest` object. + example: + data: + attributes: + Query: example:query AND test:true + type: validate_query + properties: + data: + $ref: '#/components/schemas/RulesValidateQueryRequestData' + type: object + RulesValidateQueryRequestData: + description: The definition of `RulesValidateQueryRequestData` object. + properties: + attributes: + $ref: '#/components/schemas/RulesValidateQueryRequestDataAttributes' + id: + description: The `RulesValidateQueryRequestData` `id`. + type: string + type: + $ref: '#/components/schemas/RulesValidateQueryRequestDataType' + required: + - type + type: object + RulesValidateQueryRequestDataAttributes: + description: The definition of `RulesValidateQueryRequestDataAttributes` object. + properties: + Query: + description: The `attributes` `Query`. + example: '' + type: string + required: + - Query + type: object + RulesValidateQueryRequestDataType: + default: validate_query + description: Validate query resource type. + enum: + - validate_query + example: validate_query + type: string + x-enum-varnames: + - VALIDATE_QUERY + RulesValidateQueryResponse: + description: The definition of `RulesValidateQueryResponse` object. + example: + data: + attributes: + Canonical: canonical query representation + type: validate_response + properties: + data: + $ref: '#/components/schemas/RulesValidateQueryResponseData' + type: object + RulesValidateQueryResponseData: + description: The definition of `RulesValidateQueryResponseData` object. + properties: + attributes: + $ref: '#/components/schemas/RulesValidateQueryResponseDataAttributes' + id: + description: The `RulesValidateQueryResponseData` `id`. + type: string + type: + $ref: '#/components/schemas/RulesValidateQueryResponseDataType' + required: + - type + type: object + RulesValidateQueryResponseDataAttributes: + description: The definition of `RulesValidateQueryResponseDataAttributes` object. + properties: + Canonical: + description: The `attributes` `Canonical`. + example: '' + type: string + required: + - Canonical + type: object + RulesValidateQueryResponseDataType: + default: validate_response + description: Validate response resource type. + enum: + - validate_response + example: validate_response + type: string + x-enum-varnames: + - VALIDATE_RESPONSE + RulesetItemMetadata: + additionalProperties: + type: string + description: The `items` `metadata`. + nullable: true + type: object + RulesetResp: + description: The definition of `RulesetResp` object. + example: + data: + attributes: + created: null + enabled: true + last_modified_user_uuid: '' + modified: null + name: Example Ruleset + position: 0 + rules: + - enabled: false + mapping: null + metadata: null + name: RC test rule edited1 + query: + addition: + key: abc + value: ww + case_insensitivity: false + if_not_exists: true + query: billingcurrency:"USD" AND account_name:"SZA96462" AND billingcurrency:"USD" + reference_table: null + - enabled: true + mapping: + destination_key: h + if_not_exists: true + source_keys: + - accountname + - accountownerid + metadata: null + name: rule with empty source key + query: null + reference_table: null + - enabled: true + mapping: null + metadata: null + name: New table rule with new UI + query: null + reference_table: + case_insensitivity: true + field_pairs: + - input_column: status_type + output_key: status + - input_column: status_description + output_key: dess + if_not_exists: false + source_keys: + - http_status + - status_description + table_name: http_status_codes + version: 1 + id: '12345' + type: ruleset + properties: + data: + $ref: '#/components/schemas/RulesetRespData' + type: object + RulesetRespArray: + description: The definition of `RulesetRespArray` object. + properties: + data: + description: The `RulesetRespArray` `data`. + items: + $ref: '#/components/schemas/RulesetRespData' + type: array + required: + - data + type: object + RulesetRespData: + description: The definition of `RulesetRespData` object. + properties: + attributes: + $ref: '#/components/schemas/RulesetRespDataAttributes' + id: + description: The `RulesetRespData` `id`. + type: string + type: + $ref: '#/components/schemas/RulesetRespDataType' + required: + - type + type: object + RulesetRespDataAttributes: + description: The definition of `RulesetRespDataAttributes` object. + properties: + created: + $ref: '#/components/schemas/RulesetRespDataAttributesCreated' + enabled: + description: The `attributes` `enabled`. + example: false + type: boolean + last_modified_user_uuid: + description: The `attributes` `last_modified_user_uuid`. + example: '' + type: string + modified: + $ref: '#/components/schemas/RulesetRespDataAttributesModified' + name: + description: The `attributes` `name`. + example: '' + type: string + position: + description: The `attributes` `position`. + example: 0 + format: int32 + maximum: 2147483647 + type: integer + rules: + description: The `attributes` `rules`. + items: + $ref: '#/components/schemas/RulesetRespDataAttributesRulesItems' + type: array + version: + description: The `attributes` `version`. + example: 0 + format: int64 + type: integer + required: + - created + - enabled + - last_modified_user_uuid + - modified + - name + - position + - rules + - version + type: object + RulesetRespDataAttributesCreated: + description: The definition of `RulesetRespDataAttributesCreated` object. + properties: + nanos: + description: The `created` `nanos`. + format: int32 + maximum: 2147483647 + type: integer + seconds: + description: The `created` `seconds`. + format: int64 + type: integer + type: object + RulesetRespDataAttributesModified: + description: The definition of `RulesetRespDataAttributesModified` object. + properties: + nanos: + description: The `modified` `nanos`. + format: int32 + maximum: 2147483647 + type: integer + seconds: + description: The `modified` `seconds`. + format: int64 + type: integer + type: object + RulesetRespDataAttributesRulesItems: + description: The definition of `RulesetRespDataAttributesRulesItems` object. + properties: + enabled: + description: The `items` `enabled`. + example: false + type: boolean + mapping: + $ref: '#/components/schemas/RulesetRespDataAttributesRulesItemsMapping' + metadata: + $ref: '#/components/schemas/RulesetItemMetadata' + name: + description: The `items` `name`. + example: '' + type: string + query: + $ref: '#/components/schemas/RulesetRespDataAttributesRulesItemsQuery' + reference_table: + $ref: '#/components/schemas/RulesetRespDataAttributesRulesItemsReferenceTable' + required: + - enabled + - name + type: object + RulesetRespDataAttributesRulesItemsMapping: + description: The definition of `RulesetRespDataAttributesRulesItemsMapping` + object. + nullable: true + properties: + destination_key: + description: The `mapping` `destination_key`. + example: '' + type: string + if_not_exists: + description: The `mapping` `if_not_exists`. + example: false + type: boolean + source_keys: + description: The `mapping` `source_keys`. + example: + - '' + items: + type: string + type: array + required: + - destination_key + - if_not_exists + - source_keys + type: object + RulesetRespDataAttributesRulesItemsQuery: + description: The definition of `RulesetRespDataAttributesRulesItemsQuery` object. + nullable: true + properties: + addition: + $ref: '#/components/schemas/RulesetRespDataAttributesRulesItemsQueryAddition' + case_insensitivity: + description: The `query` `case_insensitivity`. + type: boolean + if_not_exists: + description: The `query` `if_not_exists`. + example: false + type: boolean + query: + description: The `query` `query`. + example: '' + type: string + required: + - addition + - if_not_exists + - query + type: object + RulesetRespDataAttributesRulesItemsQueryAddition: + description: The definition of `RulesetRespDataAttributesRulesItemsQueryAddition` + object. + nullable: true + properties: + key: + description: The `addition` `key`. + example: '' + type: string + value: + description: The `addition` `value`. + example: '' + type: string + required: + - key + - value + type: object + RulesetRespDataAttributesRulesItemsReferenceTable: + description: The definition of `RulesetRespDataAttributesRulesItemsReferenceTable` + object. + nullable: true + properties: + case_insensitivity: + description: The `reference_table` `case_insensitivity`. + type: boolean + field_pairs: + description: The `reference_table` `field_pairs`. + items: + $ref: '#/components/schemas/RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems' + type: array + if_not_exists: + description: The `reference_table` `if_not_exists`. + type: boolean + source_keys: + description: The `reference_table` `source_keys`. + example: + - '' + items: + type: string + type: array + table_name: + description: The `reference_table` `table_name`. + example: '' + type: string + required: + - field_pairs + - source_keys + - table_name + type: object + RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems: + description: The definition of `RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems` + object. + properties: + input_column: + description: The `items` `input_column`. + example: '' + type: string + output_key: + description: The `items` `output_key`. + example: '' + type: string + required: + - input_column + - output_key + type: object + RulesetRespDataType: + default: ruleset + description: Ruleset resource type. + enum: + - ruleset + example: ruleset + type: string + x-enum-varnames: + - RULESET RumMetricCompute: description: The compute rule to compute the rum-based metric. properties: @@ -46182,6 +47672,117 @@ components: x-enum-varnames: - SECURITY_FINDINGS - SECURITY_SIGNALS + UCConfigPair: + description: The definition of `UCConfigPair` object. + example: + data: + attributes: + configs: + - account_id: 1234abcd-1234-abcd-1234-1234abcd1234 + client_id: 1234abcd-1234-abcd-1234-1234abcd1234 + created_at: 2023-01-01 12:00:00 + dataset_type: actual + error_messages: [] + export_name: dd-actual-export + export_path: dd-export-path + id: '123456789123' + months: 36 + scope: /subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 + status: active + status_updated_at: 2023-01-01 12:00:00 + storage_account: dd-storage-account + storage_container: dd-storage-container + updated_at: 2023-01-01 12:00:00 + id: '123456789123' + type: azure_uc_configs + properties: + data: + $ref: '#/components/schemas/UCConfigPairData' + type: object + UCConfigPairData: + description: The definition of `UCConfigPairData` object. + properties: + attributes: + $ref: '#/components/schemas/UCConfigPairDataAttributes' + id: + description: The `UCConfigPairData` `id`. + type: string + type: + $ref: '#/components/schemas/UCConfigPairDataType' + required: + - type + type: object + UCConfigPairDataAttributes: + description: The definition of `UCConfigPairDataAttributes` object. + properties: + configs: + description: The `attributes` `configs`. + items: + $ref: '#/components/schemas/UCConfigPairDataAttributesConfigsItems' + type: array + type: object + UCConfigPairDataAttributesConfigsItems: + description: The definition of `UCConfigPairDataAttributesConfigsItems` object. + properties: + account_id: + description: The `items` `account_id`. + type: string + client_id: + description: The `items` `client_id`. + type: string + created_at: + description: The `items` `created_at`. + type: string + dataset_type: + description: The `items` `dataset_type`. + type: string + error_messages: + description: The `items` `error_messages`. + items: + type: string + nullable: true + type: array + export_name: + description: The `items` `export_name`. + type: string + export_path: + description: The `items` `export_path`. + type: string + id: + description: The `items` `id`. + type: string + months: + description: The `items` `months`. + format: int64 + type: integer + scope: + description: The `items` `scope`. + type: string + status: + description: The `items` `status`. + type: string + status_updated_at: + description: The `items` `status_updated_at`. + type: string + storage_account: + description: The `items` `storage_account`. + type: string + storage_container: + description: The `items` `storage_container`. + type: string + updated_at: + description: The `items` `updated_at`. + type: string + type: object + UCConfigPairDataType: + default: azure_uc_configs + description: Azure UC configs resource type. + enum: + - azure_uc_configs + example: azure_uc_configs + type: string + x-enum-varnames: + - AZURE_UC_CONFIGS Unit: description: Object containing the metric unit family, scale factor, name, and short name. @@ -46658,6 +48259,209 @@ components: type: $ref: '#/components/schemas/RuleType' type: object + UpdateRulesetRequest: + description: The definition of `UpdateRulesetRequest` object. + example: + data: + attributes: + enabled: true + last_version: 1 + rules: + - enabled: true + mapping: + destination_key: team_owner + if_not_exists: true + source_keys: + - account_name + - account_id + metadata: null + name: Account Name Mapping + query: null + reference_table: null + type: update_ruleset + properties: + data: + $ref: '#/components/schemas/UpdateRulesetRequestData' + type: object + UpdateRulesetRequestData: + description: The definition of `UpdateRulesetRequestData` object. + properties: + attributes: + $ref: '#/components/schemas/UpdateRulesetRequestDataAttributes' + id: + description: The `UpdateRulesetRequestData` `id`. + type: string + type: + $ref: '#/components/schemas/UpdateRulesetRequestDataType' + required: + - type + type: object + UpdateRulesetRequestDataAttributes: + description: The definition of `UpdateRulesetRequestDataAttributes` object. + properties: + enabled: + description: The `attributes` `enabled`. + example: false + type: boolean + last_version: + description: The `attributes` `last_version`. + format: int64 + type: integer + rules: + description: The `attributes` `rules`. + items: + $ref: '#/components/schemas/UpdateRulesetRequestDataAttributesRulesItems' + type: array + required: + - enabled + - rules + type: object + UpdateRulesetRequestDataAttributesRulesItems: + description: The definition of `UpdateRulesetRequestDataAttributesRulesItems` + object. + properties: + enabled: + description: The `items` `enabled`. + example: false + type: boolean + mapping: + $ref: '#/components/schemas/UpdateRulesetRequestDataAttributesRulesItemsMapping' + metadata: + $ref: '#/components/schemas/RulesetItemMetadata' + name: + description: The `items` `name`. + example: '' + type: string + query: + $ref: '#/components/schemas/UpdateRulesetRequestDataAttributesRulesItemsQuery' + reference_table: + $ref: '#/components/schemas/UpdateRulesetRequestDataAttributesRulesItemsReferenceTable' + required: + - enabled + - name + type: object + UpdateRulesetRequestDataAttributesRulesItemsMapping: + description: The definition of `UpdateRulesetRequestDataAttributesRulesItemsMapping` + object. + nullable: true + properties: + destination_key: + description: The `mapping` `destination_key`. + example: '' + type: string + if_not_exists: + description: The `mapping` `if_not_exists`. + example: false + type: boolean + source_keys: + description: The `mapping` `source_keys`. + example: + - '' + items: + type: string + type: array + required: + - destination_key + - if_not_exists + - source_keys + type: object + UpdateRulesetRequestDataAttributesRulesItemsQuery: + description: The definition of `UpdateRulesetRequestDataAttributesRulesItemsQuery` + object. + nullable: true + properties: + addition: + $ref: '#/components/schemas/UpdateRulesetRequestDataAttributesRulesItemsQueryAddition' + case_insensitivity: + description: The `query` `case_insensitivity`. + type: boolean + if_not_exists: + description: The `query` `if_not_exists`. + example: false + type: boolean + query: + description: The `query` `query`. + example: '' + type: string + required: + - addition + - if_not_exists + - query + type: object + UpdateRulesetRequestDataAttributesRulesItemsQueryAddition: + description: The definition of `UpdateRulesetRequestDataAttributesRulesItemsQueryAddition` + object. + nullable: true + properties: + key: + description: The `addition` `key`. + example: '' + type: string + value: + description: The `addition` `value`. + example: '' + type: string + required: + - key + - value + type: object + UpdateRulesetRequestDataAttributesRulesItemsReferenceTable: + description: The definition of `UpdateRulesetRequestDataAttributesRulesItemsReferenceTable` + object. + nullable: true + properties: + case_insensitivity: + description: The `reference_table` `case_insensitivity`. + type: boolean + field_pairs: + description: The `reference_table` `field_pairs`. + items: + $ref: '#/components/schemas/UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems' + type: array + if_not_exists: + description: The `reference_table` `if_not_exists`. + type: boolean + source_keys: + description: The `reference_table` `source_keys`. + example: + - '' + items: + type: string + type: array + table_name: + description: The `reference_table` `table_name`. + example: '' + type: string + required: + - field_pairs + - source_keys + - table_name + type: object + UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems: + description: The definition of `UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems` + object. + properties: + input_column: + description: The `items` `input_column`. + example: '' + type: string + output_key: + description: The `items` `output_key`. + example: '' + type: string + required: + - input_column + - output_key + type: object + UpdateRulesetRequestDataType: + default: update_ruleset + description: Update ruleset resource type. + enum: + - update_ruleset + example: update_ruleset + type: string + x-enum-varnames: + - UPDATE_RULESET UpdateWorkflowRequest: description: A request object for updating an existing workflow. example: @@ -52755,6 +54559,231 @@ paths: x-permission: operator: OPEN permissions: [] + /api/v2/cost/arbitrary_rule: + get: + description: List all arbitrary cost rules - Retrieve a list of all arbitrary + cost rules for the organization + operationId: ListArbitraryCostRules + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ArbitraryRuleResponseArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List arbitrary cost rules + tags: + - Cloud Cost Management + post: + description: 'Create a new arbitrary cost rule with the specified filters and + allocation strategy. + + + **Strategy Methods:** + + - **PROPORTIONAL/EVEN**: Allocates costs proportionally/evenly based on existing + costs. Requires: granularity, allocated_by_tag_keys. Optional: based_on_costs, + allocated_by_filters, evaluate_grouped_by_tag_keys, evaluate_grouped_by_filters. + + - **PROPORTIONAL_TIMESERIES/EVEN_TIMESERIES**: Allocates based on timeseries + data. Requires: granularity, based_on_timeseries. Optional: evaluate_grouped_by_tag_keys. + + - **PERCENT**: Allocates fixed percentages to specific tags. Requires: allocated_by + (array of percentage allocations). + + + **Filter Conditions:** + + - Use **value** for single-value conditions: "is", "is not", "contains", "does + not contain", "=", "!=", "like", "not like", "is all values", "is untagged" + + - Use **values** for multi-value conditions: "in", "not in" + + - Cannot use both value and values simultaneously. + + + **Supported operators**: is, is not, is all values, is untagged, contains, + does not contain, in, not in, =, !=, like, not like' + operationId: CreateArbitraryCostRule + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ArbitraryCostUpsertRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ArbitraryRuleResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Create arbitrary cost rule + tags: + - Cloud Cost Management + /api/v2/cost/arbitrary_rule/reorder: + post: + description: "Reorder arbitrary cost rules - Change the execution order of arbitrary + cost rules.\n\n**Important**: You must provide the **complete list** of all + rule IDs in the desired execution order. The API will reorder ALL rules according + to the provided sequence.\n\nRules are executed in the order specified, with + lower indices (earlier in the array) having higher priority.\n\n**Example**: + If you have rules with IDs [123, 456, 789] and want to change order from 123\u2192456\u2192789 + to 456\u2192123\u2192789, send: [{\"id\": \"456\"}, {\"id\": \"123\"}, {\"id\": + \"789\"}]" + operationId: ReorderArbitraryCostRules + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ReorderRuleResourceArray' + required: true + responses: + '204': + description: Successfully reordered rules + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Reorder arbitrary cost rules + tags: + - Cloud Cost Management + /api/v2/cost/arbitrary_rule/{rule_id}: + delete: + description: Delete an arbitrary cost rule - Delete an existing arbitrary cost + rule by its ID + operationId: DeleteArbitraryCostRule + parameters: + - description: The unique identifier of the arbitrary cost rule + in: path + name: rule_id + required: true + schema: + format: int64 + type: integer + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Delete arbitrary cost rule + tags: + - Cloud Cost Management + get: + description: Get a specific arbitrary cost rule - Retrieve a specific arbitrary + cost rule by its ID + operationId: GetArbitraryCostRule + parameters: + - description: The unique identifier of the arbitrary cost rule + in: path + name: rule_id + required: true + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ArbitraryRuleResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get arbitrary cost rule + tags: + - Cloud Cost Management + patch: + description: 'Update an existing arbitrary cost rule with new filters and allocation + strategy. + + + **Strategy Methods:** + + - **PROPORTIONAL/EVEN**: Allocates costs proportionally/evenly based on existing + costs. Requires: granularity, allocated_by_tag_keys. Optional: based_on_costs, + allocated_by_filters, evaluate_grouped_by_tag_keys, evaluate_grouped_by_filters. + + - **PROPORTIONAL_TIMESERIES/EVEN_TIMESERIES**: Allocates based on timeseries + data. Requires: granularity, based_on_timeseries. Optional: evaluate_grouped_by_tag_keys. + + - **PERCENT**: Allocates fixed percentages to specific tags. Requires: allocated_by + (array of percentage allocations). + + - **USAGE_METRIC**: Allocates based on usage metrics (implementation varies). + + + **Filter Conditions:** + + - Use **value** for single-value conditions: "is", "is not", "contains", "does + not contain", "=", "!=", "like", "not like", "is all values", "is untagged" + + - Use **values** for multi-value conditions: "in", "not in" + + - Cannot use both value and values simultaneously. + + + **Supported operators**: is, is not, is all values, is untagged, contains, + does not contain, in, not in, =, !=, like, not like' + operationId: UpdateArbitraryCostRule + parameters: + - description: The unique identifier of the arbitrary cost rule + in: path + name: rule_id + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ArbitraryCostUpsertRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ArbitraryRuleResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Update arbitrary cost rule + tags: + - Cloud Cost Management /api/v2/cost/aws_cur_config: get: description: List the AWS CUR configs. @@ -52800,7 +54829,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AwsCURConfigResponse' + $ref: '#/components/schemas/AwsCurConfigResponse' description: OK '400': content: @@ -52856,75 +54885,212 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_write - summary: Delete Cloud Cost Management AWS CUR config + summary: Delete Cloud Cost Management AWS CUR config + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + get: + description: Get a specific AWS CUR config. + operationId: GetCostAWSCURConfig + parameters: + - description: The unique identifier of the cloud account + in: path + name: cloud_account_id + required: true + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AwsCurConfigResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get cost AWS CUR config + tags: + - Cloud Cost Management + patch: + description: Update the status (active/archived) and/or account filtering configuration + of an AWS CUR config. + operationId: UpdateCostAWSCURConfig + parameters: + - $ref: '#/components/parameters/CloudAccountID' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AwsCURConfigPatchRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AwsCURConfigsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Update Cloud Cost Management AWS CUR config + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + /api/v2/cost/azure_uc_config: + get: + description: List the Azure configs. + operationId: ListCostAzureUCConfigs + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AzureUCConfigsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List Cloud Cost Management Azure configs + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + post: + description: Create a Cloud Cost Management account for an Azure config. + operationId: CreateCostAzureUCConfigs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AzureUCConfigPostRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AzureUCConfigPairsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Create Cloud Cost Management Azure configs + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + /api/v2/cost/azure_uc_config/{cloud_account_id}: + delete: + description: Archive a Cloud Cost Management Account. + operationId: DeleteCostAzureUCConfig + parameters: + - $ref: '#/components/parameters/CloudAccountID' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Delete Cloud Cost Management Azure config tags: - Cloud Cost Management x-permission: operator: OR permissions: - cloud_cost_management_write - patch: - description: Update the status (active/archived) and/or account filtering configuration - of an AWS CUR config. - operationId: UpdateCostAWSCURConfig + get: + description: Get a specific Azure config. + operationId: GetCostAzureUCConfig parameters: - - $ref: '#/components/parameters/CloudAccountID' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AwsCURConfigPatchRequest' + - description: The unique identifier of the cloud account + in: path + name: cloud_account_id required: true + schema: + format: int64 + type: integer responses: '200': content: application/json: schema: - $ref: '#/components/schemas/AwsCURConfigsResponse' - description: OK - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - cloud_cost_management_write - summary: Update Cloud Cost Management AWS CUR config - tags: - - Cloud Cost Management - x-permission: - operator: OR - permissions: - - cloud_cost_management_write - /api/v2/cost/azure_uc_config: - get: - description: List the Azure configs. - operationId: ListCostAzureUCConfigs - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/AzureUCConfigsResponse' + $ref: '#/components/schemas/UCConfigPair' description: OK - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: @@ -52932,90 +55098,9 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_read - summary: List Cloud Cost Management Azure configs + summary: Get cost Azure UC config tags: - Cloud Cost Management - x-permission: - operator: OR - permissions: - - cloud_cost_management_read - post: - description: Create a Cloud Cost Management account for an Azure config. - operationId: CreateCostAzureUCConfigs - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AzureUCConfigPostRequest' - required: true - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/AzureUCConfigPairsResponse' - description: OK - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - cloud_cost_management_write - summary: Create Cloud Cost Management Azure configs - tags: - - Cloud Cost Management - x-permission: - operator: OR - permissions: - - cloud_cost_management_write - /api/v2/cost/azure_uc_config/{cloud_account_id}: - delete: - description: Archive a Cloud Cost Management Account. - operationId: DeleteCostAzureUCConfig - parameters: - - $ref: '#/components/parameters/CloudAccountID' - responses: - '204': - description: No Content - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - cloud_cost_management_write - summary: Delete Cloud Cost Management Azure config - tags: - - Cloud Cost Management - x-permission: - operator: OR - permissions: - - cloud_cost_management_write patch: description: Update the status of an Azure config (active/archived). operationId: UpdateCostAzureUCConfigs @@ -53223,6 +55308,10 @@ paths: summary: List Custom Costs files tags: - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read put: description: Upload a Custom Costs file. operationId: UploadCustomCostsFile @@ -53261,6 +55350,10 @@ paths: summary: Upload Custom Costs file tags: - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_write /api/v2/cost/custom_costs/{file_id}: delete: description: Delete the specified Custom Costs file. @@ -53328,7 +55421,7 @@ paths: - Cloud Cost Management /api/v2/cost/gcp_uc_config: get: - description: List the GCP Usage Cost configs. + description: List the Google Cloud Usage Cost configs. operationId: ListCostGCPUsageCostConfigs responses: '200': @@ -53350,7 +55443,7 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_read - summary: List Cloud Cost Management GCP Usage Cost configs + summary: List Google Cloud Usage Cost configs tags: - Cloud Cost Management x-permission: @@ -53358,7 +55451,8 @@ paths: permissions: - cloud_cost_management_read post: - description: Create a Cloud Cost Management account for an GCP Usage Cost config. + description: Create a Cloud Cost Management account for an Google Cloud Usage + Cost config. operationId: CreateCostGCPUsageCostConfig requestBody: content: @@ -53392,7 +55486,7 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_write - summary: Create Cloud Cost Management GCP Usage Cost config + summary: Create Google Cloud Usage Cost config tags: - Cloud Cost Management x-permission: @@ -53427,15 +55521,43 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_write - summary: Delete Cloud Cost Management GCP Usage Cost config + summary: Delete Google Cloud Usage Cost config tags: - Cloud Cost Management x-permission: operator: OR permissions: - cloud_cost_management_write + get: + description: Get a specific Google Cloud Usage Cost config. + operationId: GetCostGCPUsageCostConfig + parameters: + - description: The unique identifier of the cloud account + in: path + name: cloud_account_id + required: true + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GcpUcConfigResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get Google Cloud Usage Cost config + tags: + - Cloud Cost Management patch: - description: Update the status of an GCP Usage Cost config (active/archived). + description: Update the status of an Google Cloud Usage Cost config (active/archived). operationId: UpdateCostGCPUsageCostConfig parameters: - $ref: '#/components/parameters/CloudAccountID' @@ -53477,7 +55599,7 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_write - summary: Update Cloud Cost Management GCP Usage Cost config + summary: Update Google Cloud Usage Cost config tags: - Cloud Cost Management x-permission: @@ -70418,6 +72540,194 @@ paths: operator: OR permissions: - billing_edit + /api/v2/tags/enrichment: + get: + description: List all tag pipeline rulesets - Retrieve a list of all tag pipeline + rulesets for the organization + operationId: ListRulesets + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RulesetRespArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List rulesets + tags: + - Cloud Cost Management + post: + description: Create a new tag pipeline ruleset with the specified rules and + configuration + operationId: CreateRuleset + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateRulesetRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RulesetResp' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Create ruleset + tags: + - Cloud Cost Management + /api/v2/tags/enrichment/reorder: + post: + description: Reorder tag pipeline rulesets - Change the execution order of tag + pipeline rulesets + operationId: ReorderRulesets + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ReorderRulesetResourceArray' + required: true + responses: + '204': + description: Successfully reordered rulesets + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Reorder rulesets + tags: + - Cloud Cost Management + /api/v2/tags/enrichment/validate-query: + post: + description: Validate a tag pipeline query - Validate the syntax and structure + of a tag pipeline query + operationId: ValidateQuery + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RulesValidateQueryRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RulesValidateQueryResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Validate query + tags: + - Cloud Cost Management + /api/v2/tags/enrichment/{ruleset_id}: + delete: + description: Delete a tag pipeline ruleset - Delete an existing tag pipeline + ruleset by its ID + operationId: DeleteRuleset + parameters: + - description: The unique identifier of the ruleset + in: path + name: ruleset_id + required: true + schema: + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Delete ruleset + tags: + - Cloud Cost Management + get: + description: Get a specific tag pipeline ruleset - Retrieve a specific tag pipeline + ruleset by its ID + operationId: GetRuleset + parameters: + - description: The unique identifier of the ruleset + in: path + name: ruleset_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RulesetResp' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get ruleset + tags: + - Cloud Cost Management + patch: + description: Update a tag pipeline ruleset - Update an existing tag pipeline + ruleset with new rules and configuration + operationId: UpdateRuleset + parameters: + - description: The unique identifier of the ruleset + in: path + name: ruleset_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateRulesetRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RulesetResp' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Update ruleset + tags: + - Cloud Cost Management /api/v2/team: get: description: 'Get all teams. @@ -73291,8 +75601,8 @@ tags: for more information. name: Case Management - description: The Cloud Cost Management API allows you to set up, edit, and delete - Cloud Cost Management accounts for AWS, Azure, and GCP. You can query your cost - data by using the [Metrics endpoint](https://docs.datadoghq.com/api/latest/metrics/#query-timeseries-data-across-multiple-products) + Cloud Cost Management accounts for AWS, Azure, and Google Cloud. You can query + your cost data by using the [Metrics endpoint](https://docs.datadoghq.com/api/latest/metrics/#query-timeseries-data-across-multiple-products) and the `cloud_cost` data source. For more information, see the [Cloud Cost Management documentation](https://docs.datadoghq.com/cloud_cost_management/). name: Cloud Cost Management diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-Azure-configs-returns-OK-response_3003002930/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-Azure-configs-returns-OK-response_3003002930/recording.har index a067ae1f7c3a..4243801c08b4 100644 --- a/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-Azure-configs-returns-OK-response_3003002930/recording.har +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-Azure-configs-returns-OK-response_3003002930/recording.har @@ -8,11 +8,11 @@ }, "entries": [ { - "_id": "ffbfdd2f625816f5b1da35a9d620c031", + "_id": "86b1980ae0a41e3c519c5c80312afbb3", "_order": 0, "cache": {}, "request": { - "bodySize": 603, + "bodySize": 568, "cookies": [], "headers": [ { @@ -26,13 +26,13 @@ "value": "application/json" } ], - "headersSize": 573, + "headersSize": 599, "httpVersion": "HTTP/1.1", "method": "POST", "postData": { "mimeType": "application/json", "params": [], - "text": "{\"data\": {\"attributes\": {\"account_id\": \"1234abcd-1234-abcd-1234-1234abcd1234\", \"actual_bill_config\": {\"export_name\": \"dd-actual-export\", \"export_path\": \"dd-export-path\", \"storage_account\": \"dd-storage-account\", \"storage_container\": \"dd-storage-container\"}, \"amortized_bill_config\": {\"export_name\": \"dd-actual-export\", \"export_path\": \"dd-export-path\", \"storage_account\": \"dd-storage-account\", \"storage_container\": \"dd-storage-container\"}, \"client_id\": \"1234abcd-1234-abcd-1234-1234abcd1234\", \"is_enabled\": true, \"scope\": \"subscriptions/1234abcd-1234-abcd-1234-1234abcd1234\"}, \"type\": \"azure_uc_config_post_request\"}}" + "text": "{\"data\":{\"attributes\":{\"account_id\":\"1234abcd-1234-abcd-1234-1234abcd1234\",\"actual_bill_config\":{\"export_name\":\"dd-actual-export\",\"export_path\":\"dd-export-path\",\"storage_account\":\"dd-storage-account\",\"storage_container\":\"dd-storage-container\"},\"amortized_bill_config\":{\"export_name\":\"dd-actual-export\",\"export_path\":\"dd-export-path\",\"storage_account\":\"dd-storage-account\",\"storage_container\":\"dd-storage-container\"},\"client_id\":\"1234abcd-1234-abcd-1234-1234abcd1234\",\"scope\":\"subscriptions/1234abcd-1234-abcd-1234-1234abcd1234\"},\"type\":\"azure_uc_config_post_request\"}}" }, "queryString": [], "url": "https://api.datadoghq.com/api/v2/cost/azure_uc_config" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Bad-Request-response_2453429844/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Google-Cloud-Usage-Cost-config-returns-Bad-Request-response_3038116389/frozen.json similarity index 100% rename from cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Bad-Request-response_2453429844/frozen.json rename to cassettes/v2/Cloud-Cost-Management_4135329986/Create-Google-Cloud-Usage-Cost-config-returns-Bad-Request-response_3038116389/frozen.json diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Bad-Request-response_2453429844/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Google-Cloud-Usage-Cost-config-returns-Bad-Request-response_3038116389/recording.har similarity index 94% rename from cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Bad-Request-response_2453429844/recording.har rename to cassettes/v2/Cloud-Cost-Management_4135329986/Create-Google-Cloud-Usage-Cost-config-returns-Bad-Request-response_3038116389/recording.har index 67c760cb97c9..7ccca652f8a5 100644 --- a/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Bad-Request-response_2453429844/recording.har +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Google-Cloud-Usage-Cost-config-returns-Bad-Request-response_3038116389/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "Cloud Cost Management/Create Cloud Cost Management GCP Usage Cost config returns \"Bad Request\" response", + "_recordingName": "Cloud Cost Management/Create Google Cloud Usage Cost config returns \"Bad Request\" response", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-OK-response_588652554/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Google-Cloud-Usage-Cost-config-returns-OK-response_1898457529/frozen.json similarity index 100% rename from cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-OK-response_588652554/frozen.json rename to cassettes/v2/Cloud-Cost-Management_4135329986/Create-Google-Cloud-Usage-Cost-config-returns-OK-response_1898457529/frozen.json diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-OK-response_588652554/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Google-Cloud-Usage-Cost-config-returns-OK-response_1898457529/recording.har similarity index 95% rename from cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-OK-response_588652554/recording.har rename to cassettes/v2/Cloud-Cost-Management_4135329986/Create-Google-Cloud-Usage-Cost-config-returns-OK-response_1898457529/recording.har index caa376de226e..9e5fa12af2e3 100644 --- a/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-OK-response_588652554/recording.har +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-Google-Cloud-Usage-Cost-config-returns-OK-response_1898457529/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "Cloud Cost Management/Create Cloud Cost Management GCP Usage Cost config returns \"OK\" response", + "_recordingName": "Cloud Cost Management/Create Google Cloud Usage Cost config returns \"OK\" response", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Create-arbitrary-cost-rule-returns-OK-response_455549064/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-arbitrary-cost-rule-returns-OK-response_455549064/frozen.json new file mode 100644 index 000000000000..26ae208b25c5 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-arbitrary-cost-rule-returns-OK-response_455549064/frozen.json @@ -0,0 +1 @@ +"2025-09-15T20:24:10.628Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Create-arbitrary-cost-rule-returns-OK-response_455549064/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-arbitrary-cost-rule-returns-OK-response_455549064/recording.har new file mode 100644 index 000000000000..d364e859eda4 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-arbitrary-cost-rule-returns-OK-response_455549064/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/Create arbitrary cost rule returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "bb520c0cd6081a1034c15ed0b3d5d0c3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 613, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"costs_to_allocate\":[{\"condition\":\"is\",\"tag\":\"account_id\",\"value\":\"123456789\",\"values\":[]},{\"condition\":\"in\",\"tag\":\"environment\",\"value\":\"\",\"values\":[\"production\",\"staging\"]}],\"enabled\":true,\"order_id\":1,\"provider\":[\"aws\",\"gcp\"],\"rule_name\":\"example-arbitrary-cost-rule\",\"strategy\":{\"allocated_by_tag_keys\":[\"team\",\"environment\"],\"based_on_costs\":[{\"condition\":\"is\",\"tag\":\"service\",\"value\":\"web-api\",\"values\":[]},{\"condition\":\"not in\",\"tag\":\"team\",\"value\":\"\",\"values\":[\"legacy\",\"deprecated\"]}],\"granularity\":\"daily\",\"method\":\"proportional\"},\"type\":\"shared\"},\"type\":\"upsert_arbitrary_rule\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/cost/arbitrary_rule" + }, + "response": { + "bodySize": 784, + "content": { + "mimeType": "application/vnd.api+json", + "size": 784, + "text": "{\"data\":{\"id\":\"435\",\"type\":\"arbitrary_rule\",\"attributes\":{\"costs_to_allocate\":[{\"tag\":\"account_id\",\"condition\":\"is\",\"value\":\"123456789\",\"values\":null},{\"tag\":\"environment\",\"condition\":\"in\",\"value\":\"\",\"values\":[\"production\",\"staging\"]}],\"created\":\"2025-09-15T20:23:11.705977625Z\",\"enabled\":true,\"last_modified_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"order_id\":1,\"provider\":[\"aws\",\"gcp\"],\"rule_name\":\"example-arbitrary-cost-rule\",\"strategy\":{\"method\":\"proportional\",\"granularity\":\"daily\",\"based_on_costs\":[{\"tag\":\"service\",\"condition\":\"is\",\"value\":\"web-api\",\"values\":null},{\"tag\":\"team\",\"condition\":\"not in\",\"value\":\"\",\"values\":[\"legacy\",\"deprecated\"]}],\"allocated_by_tag_keys\":[\"team\",\"environment\"]},\"type\":\"shared\",\"updated\":\"2025-09-15T20:23:11.705977625Z\",\"version\":1}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 672, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-15T20:24:10.633Z", + "time": 153 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Create-ruleset-returns-OK-response_3066478825/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-ruleset-returns-OK-response_3066478825/frozen.json new file mode 100644 index 000000000000..6de6d750a0f3 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-ruleset-returns-OK-response_3066478825/frozen.json @@ -0,0 +1 @@ +"2025-09-16T16:51:02.186Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Create-ruleset-returns-OK-response_3066478825/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-ruleset-returns-OK-response_3066478825/recording.har new file mode 100644 index 000000000000..38761a64c69c --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Create-ruleset-returns-OK-response_3066478825/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/Create ruleset returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "96d71858d435a6785fe5dfc8309baca1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 349, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 563, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"enabled\":true,\"rules\":[{\"enabled\":true,\"mapping\":null,\"name\":\"Add Cost Center Tag\",\"query\":{\"addition\":{\"key\":\"cost_center\",\"value\":\"engineering\"},\"case_insensitivity\":false,\"if_not_exists\":true,\"query\":\"account_id:\\\"123456789\\\" AND service:\\\"web-api\\\"\"},\"reference_table\":null}]},\"id\":\"New Ruleset\",\"type\":\"create_ruleset\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/tags/enrichment" + }, + "response": { + "bodySize": 603, + "content": { + "mimeType": "application/vnd.api+json", + "size": 603, + "text": "{\"data\":{\"id\":\"1b680ec0-8e29-4b79-bb01-45f0c645a789\",\"type\":\"ruleset\",\"attributes\":{\"created\":{\"seconds\":1758041403,\"nanos\":117388000},\"enabled\":true,\"last_modified_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"modified\":{\"seconds\":1758041403,\"nanos\":117388000},\"name\":\"New Ruleset\",\"position\":1,\"rules\":[{\"name\":\"Add Cost Center Tag\",\"enabled\":true,\"query\":{\"query\":\"account_id:\\\"123456789\\\" AND service:\\\"web-api\\\"\",\"addition\":{\"key\":\"cost_center\",\"value\":\"engineering\"},\"if_not_exists\":true,\"case_insensitivity\":false},\"mapping\":null,\"reference_table\":null,\"metadata\":null}],\"version\":3603412}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 675, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-16T16:51:02.189Z", + "time": 170 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Bad-Request-response_2104218417/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Bad-Request-response_2104218417/frozen.json deleted file mode 100644 index a89f665fdb61..000000000000 --- a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Bad-Request-response_2104218417/frozen.json +++ /dev/null @@ -1 +0,0 @@ -"2025-06-23T12:26:40.200Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Bad-Request-response_2104218417/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Bad-Request-response_2104218417/recording.har deleted file mode 100644 index 7877eaeba964..000000000000 --- a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Bad-Request-response_2104218417/recording.har +++ /dev/null @@ -1,57 +0,0 @@ -{ - "log": { - "_recordingName": "Cloud Cost Management/Delete Cloud Cost Management GCP Usage Cost config returns \"Bad Request\" response", - "creator": { - "comment": "persister:fs", - "name": "Polly.JS", - "version": "6.0.5" - }, - "entries": [ - { - "_id": "656feb534e0db0d30b3e0a84fbf8ff9f", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "_fromType": "array", - "name": "accept", - "value": "*/*" - } - ], - "headersSize": 523, - "httpVersion": "HTTP/1.1", - "method": "DELETE", - "queryString": [], - "url": "https://api.datadoghq.com/api/v2/cost/gcp_uc_config/Invalid" - }, - "response": { - "bodySize": 142, - "content": { - "mimeType": "application/vnd.api+json", - "size": 142, - "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Invalid Parameter\",\"detail\":\"invalid parameter \\\"cloudAccountId\\\" in \\\"path\\\"; expected type \\\"int64\\\"\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "content-type", - "value": "application/vnd.api+json" - } - ], - "headersSize": 666, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 400, - "statusText": "Bad Request" - }, - "startedDateTime": "2025-06-23T12:26:40.203Z", - "time": 1036 - } - ], - "pages": [], - "version": "1.2" - } -} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-No-Content-response_3926345349/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Google-Cloud-Usage-Cost-config-returns-No-Content-response_1191393092/frozen.json similarity index 100% rename from cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-No-Content-response_3926345349/frozen.json rename to cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Google-Cloud-Usage-Cost-config-returns-No-Content-response_1191393092/frozen.json diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-No-Content-response_3926345349/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Google-Cloud-Usage-Cost-config-returns-No-Content-response_1191393092/recording.har similarity index 91% rename from cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-No-Content-response_3926345349/recording.har rename to cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Google-Cloud-Usage-Cost-config-returns-No-Content-response_1191393092/recording.har index f87b8db3c4bc..bce66d343d3e 100644 --- a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-No-Content-response_3926345349/recording.har +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Google-Cloud-Usage-Cost-config-returns-No-Content-response_1191393092/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "Cloud Cost Management/Delete Cloud Cost Management GCP Usage Cost config returns \"No Content\" response", + "_recordingName": "Cloud Cost Management/Delete Google Cloud Usage Cost config returns \"No Content\" response", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Not-Found-response_909909786/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Google-Cloud-Usage-Cost-config-returns-Not-Found-response_489057461/frozen.json similarity index 100% rename from cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Not-Found-response_909909786/frozen.json rename to cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Google-Cloud-Usage-Cost-config-returns-Not-Found-response_489057461/frozen.json diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Not-Found-response_909909786/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Google-Cloud-Usage-Cost-config-returns-Not-Found-response_489057461/recording.har similarity index 91% rename from cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Not-Found-response_909909786/recording.har rename to cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Google-Cloud-Usage-Cost-config-returns-Not-Found-response_489057461/recording.har index fba814aa3913..9cfb4744eec0 100644 --- a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Not-Found-response_909909786/recording.har +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-Google-Cloud-Usage-Cost-config-returns-Not-Found-response_489057461/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "Cloud Cost Management/Delete Cloud Cost Management GCP Usage Cost config returns \"Not Found\" response", + "_recordingName": "Cloud Cost Management/Delete Google Cloud Usage Cost config returns \"Not Found\" response", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-arbitrary-cost-rule-returns-No-Content-response_1882772635/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-arbitrary-cost-rule-returns-No-Content-response_1882772635/frozen.json new file mode 100644 index 000000000000..f98787067901 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-arbitrary-cost-rule-returns-No-Content-response_1882772635/frozen.json @@ -0,0 +1 @@ +"2025-09-11T21:01:36.419Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-arbitrary-cost-rule-returns-No-Content-response_1882772635/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-arbitrary-cost-rule-returns-No-Content-response_1882772635/recording.har new file mode 100644 index 000000000000..ee1de77d2176 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-arbitrary-cost-rule-returns-No-Content-response_1882772635/recording.har @@ -0,0 +1,51 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/Delete arbitrary cost rule returns \"No Content\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "fe56610784550285b6372c39e2b6b8f5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 515, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/cost/arbitrary_rule/123456" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 611, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-11T21:01:36.424Z", + "time": 189 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-ruleset-returns-No-Content-response_3805986894/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-ruleset-returns-No-Content-response_3805986894/frozen.json new file mode 100644 index 000000000000..f74e12d4fabd --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-ruleset-returns-No-Content-response_3805986894/frozen.json @@ -0,0 +1 @@ +"2025-09-11T20:43:38.898Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-ruleset-returns-No-Content-response_3805986894/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-ruleset-returns-No-Content-response_3805986894/recording.har new file mode 100644 index 000000000000..7c3291e25a0e --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Delete-ruleset-returns-No-Content-response_3805986894/recording.har @@ -0,0 +1,51 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/Delete ruleset returns \"No Content\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "761b458d79fec4fab29956d33c5a4353", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 536, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/tags/enrichment/1c5dae14-237d-4b9a-a515-aa55b3939142" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 614, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-11T20:43:38.902Z", + "time": 180 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Get-Google-Cloud-Usage-Cost-config-returns-OK-response_4001881611/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-Google-Cloud-Usage-Cost-config-returns-OK-response_4001881611/frozen.json new file mode 100644 index 000000000000..ff095caa3c73 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-Google-Cloud-Usage-Cost-config-returns-OK-response_4001881611/frozen.json @@ -0,0 +1 @@ +"2025-09-11T20:19:23.847Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Get-Google-Cloud-Usage-Cost-config-returns-OK-response_4001881611/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-Google-Cloud-Usage-Cost-config-returns-OK-response_4001881611/recording.har new file mode 100644 index 000000000000..b12729cfee4c --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-Google-Cloud-Usage-Cost-config-returns-OK-response_4001881611/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/Get Google Cloud Usage Cost config returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "fab34dd8e867d50d2d065c346b29d250", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 529, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/cost/gcp_uc_config/123456" + }, + "response": { + "bodySize": 570, + "content": { + "mimeType": "application/vnd.api+json", + "size": 570, + "text": "{\"data\":{\"id\":\"123456\",\"type\":\"gcp_uc_config\",\"attributes\":{\"account_id\":\"123456_ABCDEF_123ABC\",\"bucket_name\":\"test-bucket-name\",\"created_at\":\"2024-04-29T13:10:37.516579\",\"dataset\":\"test-dataset\",\"error_messages\":null,\"export_prefix\":\"datadog_cloud_cost_detailed_usage_export\",\"export_project_name\":\"test-export-project-name\",\"months\":15,\"project_id\":\"\",\"service_account\":\"dd-ccm-gcp-test-integration@some-test-project.iam.gserviceaccount.com\",\"status\":\"active\",\"status_updated_at\":\"2025-08-02T14:23:19.542138\",\"updated_at\":\"2024-04-29T13:10:37.516579\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 663, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-11T20:19:23.851Z", + "time": 170 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Get-arbitrary-cost-rule-returns-OK-response_159591606/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-arbitrary-cost-rule-returns-OK-response_159591606/frozen.json new file mode 100644 index 000000000000..803d4cdaed8b --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-arbitrary-cost-rule-returns-OK-response_159591606/frozen.json @@ -0,0 +1 @@ +"2025-09-11T18:25:21.818Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Get-arbitrary-cost-rule-returns-OK-response_159591606/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-arbitrary-cost-rule-returns-OK-response_159591606/recording.har new file mode 100644 index 000000000000..35d60b06b69c --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-arbitrary-cost-rule-returns-OK-response_159591606/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/Get arbitrary cost rule returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "067887c50a54547fc713e41ccebe186b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/cost/arbitrary_rule/123456" + }, + "response": { + "bodySize": 778, + "content": { + "mimeType": "application/vnd.api+json", + "size": 778, + "text": "{\"data\":{\"id\":\"123456\",\"type\":\"arbitrary_rule\",\"attributes\":{\"costs_to_allocate\":[{\"tag\":\"account_id\",\"condition\":\"is\",\"value\":\"123456789\",\"values\":null},{\"tag\":\"environment\",\"condition\":\"in\",\"value\":\"\",\"values\":[\"production\",\"staging\"]}],\"created\":\"2025-09-11T18:23:20.518112Z\",\"enabled\":true,\"last_modified_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"order_id\":1,\"provider\":[\"aws\",\"gcp\"],\"rule_name\":\"example-arbitrary-cost-rule\",\"strategy\":{\"method\":\"proportional\",\"granularity\":\"daily\",\"based_on_costs\":[{\"tag\":\"service\",\"condition\":\"is\",\"value\":\"web-api\",\"values\":null},{\"tag\":\"team\",\"condition\":\"not in\",\"value\":\"\",\"values\":[\"legacy\",\"deprecated\"]}],\"allocated_by_tag_keys\":[\"team\",\"environment\"]},\"type\":\"shared\",\"updated\":\"2025-09-11T18:23:20.518112Z\",\"version\":1}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 669, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-11T18:25:21.822Z", + "time": 186 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Get-cost-AWS-CUR-config-returns-OK-response_3254091853/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-cost-AWS-CUR-config-returns-OK-response_3254091853/frozen.json new file mode 100644 index 000000000000..4e576f565995 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-cost-AWS-CUR-config-returns-OK-response_3254091853/frozen.json @@ -0,0 +1 @@ +"2025-09-11T19:58:54.699Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Get-cost-AWS-CUR-config-returns-OK-response_3254091853/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-cost-AWS-CUR-config-returns-OK-response_3254091853/recording.har new file mode 100644 index 000000000000..1f48b96401b3 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-cost-AWS-CUR-config-returns-OK-response_3254091853/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/Get cost AWS CUR config returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "62a6b8f128cad83e64fb7044f8bd5f64", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/cost/aws_cur_config/123456" + }, + "response": { + "bodySize": 452, + "content": { + "mimeType": "application/vnd.api+json", + "size": 452, + "text": "{\"data\":{\"id\":\"123456\",\"type\":\"aws_cur_config\",\"attributes\":{\"account_filters\":{\"include_new_accounts\":null},\"account_id\":\"123456123456\",\"bucket_name\":\"dd-bucket-name\",\"bucket_region\":\"us-east-1\",\"created_at\":\"2023-05-01T20:05:41.849823\",\"error_messages\":null,\"months\":15,\"report_name\":\"report-name-test\",\"report_prefix\":\"report-prefix-test\",\"status\":\"active\",\"status_updated_at\":\"2025-01-15T14:57:27.799558\",\"updated_at\":\"2023-05-01T20:05:41.849823\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 663, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-11T19:58:54.704Z", + "time": 169 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Get-cost-Azure-UC-config-returns-OK-response_1412729231/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-cost-Azure-UC-config-returns-OK-response_1412729231/frozen.json new file mode 100644 index 000000000000..6fa4a19fb038 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-cost-Azure-UC-config-returns-OK-response_1412729231/frozen.json @@ -0,0 +1 @@ +"2025-09-11T20:06:45.013Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Get-cost-Azure-UC-config-returns-OK-response_1412729231/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-cost-Azure-UC-config-returns-OK-response_1412729231/recording.har new file mode 100644 index 000000000000..0cc6bcd9da61 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-cost-Azure-UC-config-returns-OK-response_1412729231/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/Get cost Azure UC config returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "a852a80490bbf38b16f405fe628619dc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 526, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/cost/azure_uc_config/123456" + }, + "response": { + "bodySize": 1160, + "content": { + "mimeType": "application/vnd.api+json", + "size": 1160, + "text": "{\"data\":{\"id\":\"123456\",\"type\":\"azure_uc_configs\",\"attributes\":{\"configs\":[{\"account_id\":\"1234abcd-1234-abcd-1234-abcd1234abcd\",\"client_id\":\"12345678-1234-5678-1234-567812345678\",\"status\":\"active\",\"status_updated_at\":\"2024-09-06T11:49:10.544706\",\"error_messages\":null,\"id\":\"123\",\"dataset_type\":\"amortized\",\"storage_account\":\"teststorageaccount\",\"storage_container\":\"teststoragecontainer\",\"export_name\":\"test-export-name\",\"export_path\":\"/test-export-path-amortized\",\"scope\":\"/subscriptions/abcdefgh-abcd-efgh-abcd-efghabcdefgh\",\"months\":15,\"created_at\":\"2023-06-14T20:42:08.792050\",\"updated_at\":\"2023-06-14T20:42:08.792050\"},{\"account_id\":\"87654321-8765-4321-8765-432187654321\",\"client_id\":\"aaaabbbb-cccc-dddd-eeee-ffffgggghhhh\",\"status\":\"active\",\"status_updated_at\":\"2024-09-06T11:49:10.544706\",\"error_messages\":null,\"id\":\"456\",\"dataset_type\":\"actual\",\"storage_account\":\"teststorageaccount\",\"storage_container\":\"teststoragecontainer\",\"export_name\":\"test-export-name\",\"export_path\":\"/test-export-path-actual\",\"scope\":\"/subscriptions/abcdefgh-abcd-efgh-abcd-efghabcdefgh\",\"months\":15,\"created_at\":\"2023-06-14T20:42:08.792050\",\"updated_at\":\"2023-06-14T20:42:08.792050\"}]}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 666, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-11T20:06:45.018Z", + "time": 179 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Get-ruleset-returns-OK-response_419108271/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-ruleset-returns-OK-response_419108271/frozen.json new file mode 100644 index 000000000000..1bacece8dc42 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-ruleset-returns-OK-response_419108271/frozen.json @@ -0,0 +1 @@ +"2025-09-11T18:54:36.821Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Get-ruleset-returns-OK-response_419108271/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-ruleset-returns-OK-response_419108271/recording.har new file mode 100644 index 000000000000..23c1fda0bfa2 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Get-ruleset-returns-OK-response_419108271/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/Get ruleset returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "0231df81f41f2201958d0ae49fd6ffab", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 543, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/tags/enrichment/da0e30e2-615d-4dae-9a22-38cf86a87dde" + }, + "response": { + "bodySize": 601, + "content": { + "mimeType": "application/vnd.api+json", + "size": 601, + "text": "{\"data\":{\"id\":\"da0e30e2-615d-4dae-9a22-38cf86a87dde\",\"type\":\"ruleset\",\"attributes\":{\"created\":{\"seconds\":1757616255,\"nanos\":64603000},\"enabled\":true,\"last_modified_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"modified\":{\"seconds\":1757616255,\"nanos\":64603000},\"name\":\"New Ruleset\",\"position\":1,\"rules\":[{\"name\":\"Add Cost Center Tag\",\"enabled\":true,\"query\":{\"query\":\"account_id:\\\"123456789\\\" AND service:\\\"web-api\\\"\",\"addition\":{\"key\":\"cost_center\",\"value\":\"engineering\"},\"if_not_exists\":true,\"case_insensitivity\":false},\"mapping\":null,\"reference_table\":null,\"metadata\":null}],\"version\":3601897}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 672, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-11T18:54:36.826Z", + "time": 162 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/List-Cloud-Cost-Management-GCP-Usage-Cost-configs-returns-OK-response_436501127/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/List-Google-Cloud-Usage-Cost-configs-returns-OK-response_2200465750/frozen.json similarity index 100% rename from cassettes/v2/Cloud-Cost-Management_4135329986/List-Cloud-Cost-Management-GCP-Usage-Cost-configs-returns-OK-response_436501127/frozen.json rename to cassettes/v2/Cloud-Cost-Management_4135329986/List-Google-Cloud-Usage-Cost-configs-returns-OK-response_2200465750/frozen.json diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/List-Cloud-Cost-Management-GCP-Usage-Cost-configs-returns-OK-response_436501127/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/List-Google-Cloud-Usage-Cost-configs-returns-OK-response_2200465750/recording.har similarity index 91% rename from cassettes/v2/Cloud-Cost-Management_4135329986/List-Cloud-Cost-Management-GCP-Usage-Cost-configs-returns-OK-response_436501127/recording.har rename to cassettes/v2/Cloud-Cost-Management_4135329986/List-Google-Cloud-Usage-Cost-configs-returns-OK-response_2200465750/recording.har index 7484c81b74fd..e7d0d8a18e90 100644 --- a/cassettes/v2/Cloud-Cost-Management_4135329986/List-Cloud-Cost-Management-GCP-Usage-Cost-configs-returns-OK-response_436501127/recording.har +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/List-Google-Cloud-Usage-Cost-configs-returns-OK-response_2200465750/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "Cloud Cost Management/List Cloud Cost Management GCP Usage Cost configs returns \"OK\" response", + "_recordingName": "Cloud Cost Management/List Google Cloud Usage Cost configs returns \"OK\" response", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/List-arbitrary-cost-rules-returns-OK-response_8373229/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/List-arbitrary-cost-rules-returns-OK-response_8373229/frozen.json new file mode 100644 index 000000000000..4adc07b55d71 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/List-arbitrary-cost-rules-returns-OK-response_8373229/frozen.json @@ -0,0 +1 @@ +"2025-09-11T18:24:00.228Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/List-arbitrary-cost-rules-returns-OK-response_8373229/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/List-arbitrary-cost-rules-returns-OK-response_8373229/recording.har new file mode 100644 index 000000000000..61eef2592517 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/List-arbitrary-cost-rules-returns-OK-response_8373229/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/List arbitrary cost rules returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "0d76ade95e6fd157c7dababa79388791", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 522, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/cost/arbitrary_rule" + }, + "response": { + "bodySize": 805, + "content": { + "mimeType": "application/vnd.api+json", + "size": 805, + "text": "{\"data\":[{\"id\":\"123456\",\"type\":\"arbitrary_rule\",\"attributes\":{\"costs_to_allocate\":[{\"tag\":\"account_id\",\"condition\":\"is\",\"value\":\"123456789\",\"values\":null},{\"tag\":\"environment\",\"condition\":\"in\",\"value\":\"\",\"values\":[\"production\",\"staging\"]}],\"created\":\"2025-09-11T18:23:20.518112Z\",\"enabled\":true,\"last_modified_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"order_id\":1,\"provider\":[\"aws\",\"gcp\"],\"rule_name\":\"example-arbitrary-cost-rule\",\"strategy\":{\"method\":\"proportional\",\"granularity\":\"daily\",\"based_on_costs\":[{\"tag\":\"service\",\"condition\":\"is\",\"value\":\"web-api\",\"values\":null},{\"tag\":\"team\",\"condition\":\"not in\",\"value\":\"\",\"values\":[\"legacy\",\"deprecated\"]}],\"allocated_by_tag_keys\":[\"team\",\"environment\"]},\"type\":\"shared\",\"updated\":\"2025-09-11T18:23:20.518112Z\",\"version\":1}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 671, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-11T18:24:00.233Z", + "time": 169 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/List-rulesets-returns-OK-response_3803755038/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/List-rulesets-returns-OK-response_3803755038/frozen.json new file mode 100644 index 000000000000..b629358ac55b --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/List-rulesets-returns-OK-response_3803755038/frozen.json @@ -0,0 +1 @@ +"2025-09-11T20:35:14.784Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/List-rulesets-returns-OK-response_3803755038/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/List-rulesets-returns-OK-response_3803755038/recording.har new file mode 100644 index 000000000000..2901674b235a --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/List-rulesets-returns-OK-response_3803755038/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/List rulesets returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "3006d123616ecf715de671c1753690c2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 508, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/tags/enrichment" + }, + "response": { + "bodySize": 605, + "content": { + "mimeType": "application/vnd.api+json", + "size": 605, + "text": "{\"data\":[{\"id\":\"1c5dae14-237d-4b9a-a515-aa55b3939142\",\"type\":\"ruleset\",\"attributes\":{\"created\":{\"seconds\":1757622359,\"nanos\":552132000},\"enabled\":true,\"last_modified_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"modified\":{\"seconds\":1757622359,\"nanos\":552132000},\"name\":\"New Ruleset\",\"position\":1,\"rules\":[{\"name\":\"Add Cost Center Tag\",\"enabled\":true,\"query\":{\"query\":\"account_id:\\\"123456789\\\" AND service:\\\"web-api\\\"\",\"addition\":{\"key\":\"cost_center\",\"value\":\"engineering\"},\"if_not_exists\":true,\"case_insensitivity\":false},\"mapping\":null,\"reference_table\":null,\"metadata\":null}],\"version\":3601919}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 674, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-11T20:35:14.788Z", + "time": 172 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-AWS-CUR-config-returns-Not-Found-response_2580161063/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-AWS-CUR-config-returns-Not-Found-response_2580161063/recording.har index 7229d6fb6538..6578aea58a6a 100644 --- a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-AWS-CUR-config-returns-Not-Found-response_2580161063/recording.har +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-AWS-CUR-config-returns-Not-Found-response_2580161063/recording.har @@ -8,7 +8,7 @@ }, "entries": [ { - "_id": "8c65e0d7a670e21d106e88f4d15c774b", + "_id": "4486dad68272ae865f989ed368f5d916", "_order": 0, "cache": {}, "request": { @@ -35,14 +35,14 @@ "text": "{\"data\":{\"attributes\":{\"is_enabled\":true},\"type\":\"aws_cur_config_patch_request\"}}" }, "queryString": [], - "url": "https://api.datadoghq.com/api/v2/cost/aws_cur_config/12345678" + "url": "https://api.datadoghq.com/api/v2/cost/aws_cur_config/123456" }, "response": { "bodySize": 119, "content": { "mimeType": "application/vnd.api+json", "size": 119, - "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Cloud account not found\",\"detail\":\"Cloud account with ID 12345678 was not found\"}]}" + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Cloud account not found\",\"detail\":\"Cloud account with ID 123456 was not found\"}]}" }, "cookies": [], "headers": [ diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-Azure-config-returns-Not-Found-response_860272263/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-Azure-config-returns-Not-Found-response_860272263/recording.har index bb63ea002000..62f57094273f 100644 --- a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-Azure-config-returns-Not-Found-response_860272263/recording.har +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-Azure-config-returns-Not-Found-response_860272263/recording.har @@ -8,7 +8,7 @@ }, "entries": [ { - "_id": "123c815bd1ef26bdca56223c458cd322", + "_id": "51fca20613708253de3877c78ca34f2f", "_order": 0, "cache": {}, "request": { @@ -35,14 +35,14 @@ "text": "{\"data\":{\"attributes\":{\"is_enabled\":true},\"type\":\"azure_uc_config_patch_request\"}}" }, "queryString": [], - "url": "https://api.datadoghq.com/api/v2/cost/azure_uc_config/12345678" + "url": "https://api.datadoghq.com/api/v2/cost/azure_uc_config/123456" }, "response": { "bodySize": 119, "content": { "mimeType": "application/vnd.api+json", "size": 119, - "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Cloud account not found\",\"detail\":\"Cloud account with ID 12345678 was not found\"}]}" + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Cloud account not found\",\"detail\":\"Cloud account with ID 123456 was not found\"}]}" }, "cookies": [], "headers": [ diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Not-Found-response_2127364288/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Google-Cloud-Usage-Cost-config-returns-Not-Found-response_2534313255/frozen.json similarity index 100% rename from cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Not-Found-response_2127364288/frozen.json rename to cassettes/v2/Cloud-Cost-Management_4135329986/Update-Google-Cloud-Usage-Cost-config-returns-Not-Found-response_2534313255/frozen.json diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Not-Found-response_2127364288/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Google-Cloud-Usage-Cost-config-returns-Not-Found-response_2534313255/recording.har similarity index 90% rename from cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Not-Found-response_2127364288/recording.har rename to cassettes/v2/Cloud-Cost-Management_4135329986/Update-Google-Cloud-Usage-Cost-config-returns-Not-Found-response_2534313255/recording.har index 179d584e68c4..494ee99517cf 100644 --- a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-Not-Found-response_2127364288/recording.har +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Google-Cloud-Usage-Cost-config-returns-Not-Found-response_2534313255/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "Cloud Cost Management/Update Cloud Cost Management GCP Usage Cost config returns \"Not Found\" response", + "_recordingName": "Cloud Cost Management/Update Google Cloud Usage Cost config returns \"Not Found\" response", "creator": { "comment": "persister:fs", "name": "Polly.JS", @@ -8,7 +8,7 @@ }, "entries": [ { - "_id": "cc4c02b9729a6fdb16b191ab02851fb7", + "_id": "a30cbb00f61554995b0d588c3aca794d", "_order": 0, "cache": {}, "request": { @@ -35,7 +35,7 @@ "text": "{\"data\":{\"attributes\":{\"is_enabled\":true},\"type\":\"gcp_uc_config_patch_request\"}}" }, "queryString": [], - "url": "https://api.datadoghq.com/api/v2/cost/gcp_uc_config/12345678" + "url": "https://api.datadoghq.com/api/v2/cost/gcp_uc_config/123456" }, "response": { "bodySize": 113, diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-OK-response_4016210051/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Google-Cloud-Usage-Cost-config-returns-OK-response_2078538846/frozen.json similarity index 100% rename from cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-OK-response_4016210051/frozen.json rename to cassettes/v2/Cloud-Cost-Management_4135329986/Update-Google-Cloud-Usage-Cost-config-returns-OK-response_2078538846/frozen.json diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-OK-response_4016210051/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Google-Cloud-Usage-Cost-config-returns-OK-response_2078538846/recording.har similarity index 94% rename from cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-OK-response_4016210051/recording.har rename to cassettes/v2/Cloud-Cost-Management_4135329986/Update-Google-Cloud-Usage-Cost-config-returns-OK-response_2078538846/recording.har index 7de540730b37..911e2e856a1a 100644 --- a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Cloud-Cost-Management-GCP-Usage-Cost-config-returns-OK-response_4016210051/recording.har +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-Google-Cloud-Usage-Cost-config-returns-OK-response_2078538846/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "Cloud Cost Management/Update Cloud Cost Management GCP Usage Cost config returns \"OK\" response", + "_recordingName": "Cloud Cost Management/Update Google Cloud Usage Cost config returns \"OK\" response", "creator": { "comment": "persister:fs", "name": "Polly.JS", diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-arbitrary-cost-rule-returns-OK-response_686798697/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-arbitrary-cost-rule-returns-OK-response_686798697/frozen.json new file mode 100644 index 000000000000..d17dc8391df1 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-arbitrary-cost-rule-returns-OK-response_686798697/frozen.json @@ -0,0 +1 @@ +"2025-09-11T21:00:21.176Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-arbitrary-cost-rule-returns-OK-response_686798697/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-arbitrary-cost-rule-returns-OK-response_686798697/recording.har new file mode 100644 index 000000000000..6bf41a39da98 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-arbitrary-cost-rule-returns-OK-response_686798697/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/Update arbitrary cost rule returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "a8cb74f5a06190da82019079a314b320", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 613, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 580, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"costs_to_allocate\":[{\"condition\":\"is\",\"tag\":\"account_id\",\"value\":\"123456789\",\"values\":[]},{\"condition\":\"in\",\"tag\":\"environment\",\"value\":\"\",\"values\":[\"production\",\"staging\"]}],\"enabled\":true,\"order_id\":1,\"provider\":[\"aws\",\"gcp\"],\"rule_name\":\"example-arbitrary-cost-rule\",\"strategy\":{\"allocated_by_tag_keys\":[\"team\",\"environment\"],\"based_on_costs\":[{\"condition\":\"is\",\"tag\":\"service\",\"value\":\"web-api\",\"values\":[]},{\"condition\":\"not in\",\"tag\":\"team\",\"value\":\"\",\"values\":[\"legacy\",\"deprecated\"]}],\"granularity\":\"daily\",\"method\":\"proportional\"},\"type\":\"shared\"},\"type\":\"upsert_arbitrary_rule\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/cost/arbitrary_rule/123456" + }, + "response": { + "bodySize": 778, + "content": { + "mimeType": "application/vnd.api+json", + "size": 778, + "text": "{\"data\":{\"id\":\"123456\",\"type\":\"arbitrary_rule\",\"attributes\":{\"costs_to_allocate\":[{\"tag\":\"account_id\",\"condition\":\"is\",\"value\":\"123456789\",\"values\":null},{\"tag\":\"environment\",\"condition\":\"in\",\"value\":\"\",\"values\":[\"production\",\"staging\"]}],\"created\":\"2025-09-11T20:59:19.952563Z\",\"enabled\":true,\"last_modified_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"order_id\":1,\"provider\":[\"aws\",\"gcp\"],\"rule_name\":\"example-arbitrary-cost-rule\",\"strategy\":{\"method\":\"proportional\",\"granularity\":\"daily\",\"based_on_costs\":[{\"tag\":\"service\",\"condition\":\"is\",\"value\":\"web-api\",\"values\":null},{\"tag\":\"team\",\"condition\":\"not in\",\"value\":\"\",\"values\":[\"legacy\",\"deprecated\"]}],\"allocated_by_tag_keys\":[\"team\",\"environment\"]},\"type\":\"shared\",\"updated\":\"2025-09-11T21:00:21.353162Z\",\"version\":1}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 672, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-11T21:00:21.181Z", + "time": 197 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-ruleset-returns-OK-response_2279946508/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-ruleset-returns-OK-response_2279946508/frozen.json new file mode 100644 index 000000000000..8b45bb5d7c94 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-ruleset-returns-OK-response_2279946508/frozen.json @@ -0,0 +1 @@ +"2025-09-11T20:42:36.765Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Update-ruleset-returns-OK-response_2279946508/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-ruleset-returns-OK-response_2279946508/recording.har new file mode 100644 index 000000000000..965ca90447c7 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Update-ruleset-returns-OK-response_2279946508/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/Update ruleset returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "25bc72036375074a5dfe6e27a86f9f1d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 325, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 601, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"enabled\":true,\"last_version\":3601919,\"rules\":[{\"enabled\":true,\"mapping\":{\"destination_key\":\"team_owner\",\"if_not_exists\":true,\"source_keys\":[\"account_name\",\"account_id\"]},\"name\":\"Account Name Mapping\",\"query\":null,\"reference_table\":null}]},\"type\":\"update_ruleset\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/tags/enrichment/1c5dae14-237d-4b9a-a515-aa55b3939142" + }, + "response": { + "bodySize": 538, + "content": { + "mimeType": "application/vnd.api+json", + "size": 538, + "text": "{\"data\":{\"id\":\"1c5dae14-237d-4b9a-a515-aa55b3939142\",\"type\":\"ruleset\",\"attributes\":{\"created\":{\"seconds\":1757623356,\"nanos\":940863000},\"enabled\":true,\"last_modified_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"modified\":{\"seconds\":1757623356,\"nanos\":940863000},\"name\":\"New Ruleset\",\"position\":1,\"rules\":[{\"name\":\"Account Name Mapping\",\"enabled\":true,\"query\":null,\"mapping\":{\"source_keys\":[\"account_name\",\"account_id\"],\"destination_key\":\"team_owner\",\"if_not_exists\":true},\"reference_table\":null,\"metadata\":null}],\"version\":3601923}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 675, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-11T20:42:36.769Z", + "time": 229 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Validate-query-returns-OK-response_2152244817/frozen.json b/cassettes/v2/Cloud-Cost-Management_4135329986/Validate-query-returns-OK-response_2152244817/frozen.json new file mode 100644 index 000000000000..97d470d5cdb1 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Validate-query-returns-OK-response_2152244817/frozen.json @@ -0,0 +1 @@ +"2025-09-11T19:06:38.613Z" diff --git a/cassettes/v2/Cloud-Cost-Management_4135329986/Validate-query-returns-OK-response_2152244817/recording.har b/cassettes/v2/Cloud-Cost-Management_4135329986/Validate-query-returns-OK-response_2152244817/recording.har new file mode 100644 index 000000000000..29ba03a79bb6 --- /dev/null +++ b/cassettes/v2/Cloud-Cost-Management_4135329986/Validate-query-returns-OK-response_2152244817/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Cloud Cost Management/Validate query returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "311a4e4f8d213b908e67fa7d2b0e2d7c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 87, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 577, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"Query\":\"example:query AND test:true\"},\"type\":\"validate_query\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/tags/enrichment/validate-query" + }, + "response": { + "bodySize": 138, + "content": { + "mimeType": "application/vnd.api+json", + "size": 138, + "text": "{\"data\":{\"id\":\"6a2cddcf-8498-469f-8da1-7b8fb597868d\",\"type\":\"validate_response\",\"attributes\":{\"Canonical\":\"example:query AND test:true\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 675, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-11T19:06:38.618Z", + "time": 167 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/examples/v2/cloud-cost-management/CreateArbitraryCostRule.ts b/examples/v2/cloud-cost-management/CreateArbitraryCostRule.ts new file mode 100644 index 000000000000..9ec390b1c444 --- /dev/null +++ b/examples/v2/cloud-cost-management/CreateArbitraryCostRule.ts @@ -0,0 +1,65 @@ +/** + * Create arbitrary cost rule returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiCreateArbitraryCostRuleRequest = { + body: { + data: { + attributes: { + costsToAllocate: [ + { + condition: "is", + tag: "account_id", + value: "123456789", + values: [], + }, + { + condition: "in", + tag: "environment", + value: "", + values: ["production", "staging"], + }, + ], + enabled: true, + orderId: 1, + provider: ["aws", "gcp"], + ruleName: "example-arbitrary-cost-rule", + strategy: { + allocatedByTagKeys: ["team", "environment"], + basedOnCosts: [ + { + condition: "is", + tag: "service", + value: "web-api", + values: [], + }, + { + condition: "not in", + tag: "team", + value: "", + values: ["legacy", "deprecated"], + }, + ], + granularity: "daily", + method: "proportional", + }, + type: "shared", + }, + type: "upsert_arbitrary_rule", + }, + }, +}; + +apiInstance + .createArbitraryCostRule(params) + .then((data: v2.ArbitraryRuleResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/CreateCostAWSCURConfig.ts b/examples/v2/cloud-cost-management/CreateCostAWSCURConfig.ts index 5947e67fb811..7cb94ed0ca05 100644 --- a/examples/v2/cloud-cost-management/CreateCostAWSCURConfig.ts +++ b/examples/v2/cloud-cost-management/CreateCostAWSCURConfig.ts @@ -24,7 +24,7 @@ const params: v2.CloudCostManagementApiCreateCostAWSCURConfigRequest = { apiInstance .createCostAWSCURConfig(params) - .then((data: v2.AwsCURConfigResponse) => { + .then((data: v2.AwsCurConfigResponse) => { console.log( "API called successfully. Returned data: " + JSON.stringify(data) ); diff --git a/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.ts b/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.ts index ec8a763cf660..84915d736fcf 100644 --- a/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.ts +++ b/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.ts @@ -25,7 +25,6 @@ const params: v2.CloudCostManagementApiCreateCostAzureUCConfigsRequest = { storageContainer: "dd-storage-container", }, clientId: "1234abcd-1234-abcd-1234-1234abcd1234", - isEnabled: true, scope: "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", }, type: "azure_uc_config_post_request", diff --git a/examples/v2/cloud-cost-management/CreateCostGCPUsageCostConfig.ts b/examples/v2/cloud-cost-management/CreateCostGCPUsageCostConfig.ts index d18f3547af38..d9ec3f015ecb 100644 --- a/examples/v2/cloud-cost-management/CreateCostGCPUsageCostConfig.ts +++ b/examples/v2/cloud-cost-management/CreateCostGCPUsageCostConfig.ts @@ -1,5 +1,5 @@ /** - * Create Cloud Cost Management GCP Usage Cost config returns "OK" response + * Create Google Cloud Usage Cost config returns "OK" response */ import { client, v2 } from "@datadog/datadog-api-client"; diff --git a/examples/v2/cloud-cost-management/CreateRuleset.ts b/examples/v2/cloud-cost-management/CreateRuleset.ts new file mode 100644 index 000000000000..5082fe71c487 --- /dev/null +++ b/examples/v2/cloud-cost-management/CreateRuleset.ts @@ -0,0 +1,46 @@ +/** + * Create ruleset returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiCreateRulesetRequest = { + body: { + data: { + attributes: { + enabled: true, + rules: [ + { + enabled: true, + mapping: undefined, + name: "Add Cost Center Tag", + query: { + addition: { + key: "cost_center", + value: "engineering", + }, + caseInsensitivity: false, + ifNotExists: true, + query: `account_id:"123456789" AND service:"web-api"`, + }, + referenceTable: undefined, + }, + ], + }, + id: "New Ruleset", + type: "create_ruleset", + }, + }, +}; + +apiInstance + .createRuleset(params) + .then((data: v2.RulesetResp) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/DeleteArbitraryCostRule.ts b/examples/v2/cloud-cost-management/DeleteArbitraryCostRule.ts new file mode 100644 index 000000000000..dbf062cc4f50 --- /dev/null +++ b/examples/v2/cloud-cost-management/DeleteArbitraryCostRule.ts @@ -0,0 +1,21 @@ +/** + * Delete arbitrary cost rule returns "No Content" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiDeleteArbitraryCostRuleRequest = { + ruleId: 123456, +}; + +apiInstance + .deleteArbitraryCostRule(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.ts b/examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.ts index 3b307162887a..dbe3f0ab72d3 100644 --- a/examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.ts +++ b/examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.ts @@ -1,5 +1,5 @@ /** - * Delete Cloud Cost Management GCP Usage Cost config returns "No Content" response + * Delete Google Cloud Usage Cost config returns "No Content" response */ import { client, v2 } from "@datadog/datadog-api-client"; diff --git a/examples/v2/cloud-cost-management/DeleteRuleset.ts b/examples/v2/cloud-cost-management/DeleteRuleset.ts new file mode 100644 index 000000000000..c049945b82f3 --- /dev/null +++ b/examples/v2/cloud-cost-management/DeleteRuleset.ts @@ -0,0 +1,21 @@ +/** + * Delete ruleset returns "No Content" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiDeleteRulesetRequest = { + rulesetId: "1c5dae14-237d-4b9a-a515-aa55b3939142", +}; + +apiInstance + .deleteRuleset(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/GetArbitraryCostRule.ts b/examples/v2/cloud-cost-management/GetArbitraryCostRule.ts new file mode 100644 index 000000000000..cf2467713463 --- /dev/null +++ b/examples/v2/cloud-cost-management/GetArbitraryCostRule.ts @@ -0,0 +1,21 @@ +/** + * Get arbitrary cost rule returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiGetArbitraryCostRuleRequest = { + ruleId: 123456, +}; + +apiInstance + .getArbitraryCostRule(params) + .then((data: v2.ArbitraryRuleResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/GetCostAWSCURConfig.ts b/examples/v2/cloud-cost-management/GetCostAWSCURConfig.ts new file mode 100644 index 000000000000..ffb75c9a517d --- /dev/null +++ b/examples/v2/cloud-cost-management/GetCostAWSCURConfig.ts @@ -0,0 +1,21 @@ +/** + * Get cost AWS CUR config returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiGetCostAWSCURConfigRequest = { + cloudAccountId: 123456, +}; + +apiInstance + .getCostAWSCURConfig(params) + .then((data: v2.AwsCurConfigResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/GetCostAzureUCConfig.ts b/examples/v2/cloud-cost-management/GetCostAzureUCConfig.ts new file mode 100644 index 000000000000..83a63d859dc8 --- /dev/null +++ b/examples/v2/cloud-cost-management/GetCostAzureUCConfig.ts @@ -0,0 +1,21 @@ +/** + * Get cost Azure UC config returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiGetCostAzureUCConfigRequest = { + cloudAccountId: 123456, +}; + +apiInstance + .getCostAzureUCConfig(params) + .then((data: v2.UCConfigPair) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/GetCostGCPUsageCostConfig.ts b/examples/v2/cloud-cost-management/GetCostGCPUsageCostConfig.ts new file mode 100644 index 000000000000..63f5f682ea2a --- /dev/null +++ b/examples/v2/cloud-cost-management/GetCostGCPUsageCostConfig.ts @@ -0,0 +1,21 @@ +/** + * Get Google Cloud Usage Cost config returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiGetCostGCPUsageCostConfigRequest = { + cloudAccountId: 123456, +}; + +apiInstance + .getCostGCPUsageCostConfig(params) + .then((data: v2.GcpUcConfigResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/GetRuleset.ts b/examples/v2/cloud-cost-management/GetRuleset.ts new file mode 100644 index 000000000000..80df8aed6114 --- /dev/null +++ b/examples/v2/cloud-cost-management/GetRuleset.ts @@ -0,0 +1,21 @@ +/** + * Get ruleset returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiGetRulesetRequest = { + rulesetId: "da0e30e2-615d-4dae-9a22-38cf86a87dde", +}; + +apiInstance + .getRuleset(params) + .then((data: v2.RulesetResp) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/ListArbitraryCostRules.ts b/examples/v2/cloud-cost-management/ListArbitraryCostRules.ts new file mode 100644 index 000000000000..86f555604b38 --- /dev/null +++ b/examples/v2/cloud-cost-management/ListArbitraryCostRules.ts @@ -0,0 +1,17 @@ +/** + * List arbitrary cost rules returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +apiInstance + .listArbitraryCostRules() + .then((data: v2.ArbitraryRuleResponseArray) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/ListCostGCPUsageCostConfigs.ts b/examples/v2/cloud-cost-management/ListCostGCPUsageCostConfigs.ts index 1764ee914c93..5bccfa09183f 100644 --- a/examples/v2/cloud-cost-management/ListCostGCPUsageCostConfigs.ts +++ b/examples/v2/cloud-cost-management/ListCostGCPUsageCostConfigs.ts @@ -1,5 +1,5 @@ /** - * List Cloud Cost Management GCP Usage Cost configs returns "OK" response + * List Google Cloud Usage Cost configs returns "OK" response */ import { client, v2 } from "@datadog/datadog-api-client"; diff --git a/examples/v2/cloud-cost-management/ListRulesets.ts b/examples/v2/cloud-cost-management/ListRulesets.ts new file mode 100644 index 000000000000..2fe3fc5a4cfe --- /dev/null +++ b/examples/v2/cloud-cost-management/ListRulesets.ts @@ -0,0 +1,17 @@ +/** + * List rulesets returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +apiInstance + .listRulesets() + .then((data: v2.RulesetRespArray) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/ReorderArbitraryCostRules.ts b/examples/v2/cloud-cost-management/ReorderArbitraryCostRules.ts new file mode 100644 index 000000000000..32d0796a1422 --- /dev/null +++ b/examples/v2/cloud-cost-management/ReorderArbitraryCostRules.ts @@ -0,0 +1,36 @@ +/** + * Reorder arbitrary cost rules returns "Successfully reordered rules" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiReorderArbitraryCostRulesRequest = { + body: { + data: [ + { + id: "456", + type: "arbitrary_rule", + }, + { + id: "123", + type: "arbitrary_rule", + }, + { + id: "789", + type: "arbitrary_rule", + }, + ], + }, +}; + +apiInstance + .reorderArbitraryCostRules(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/ReorderRulesets.ts b/examples/v2/cloud-cost-management/ReorderRulesets.ts new file mode 100644 index 000000000000..9d46e5eb507e --- /dev/null +++ b/examples/v2/cloud-cost-management/ReorderRulesets.ts @@ -0,0 +1,27 @@ +/** + * Reorder rulesets returns "Successfully reordered rulesets" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiReorderRulesetsRequest = { + body: { + data: [ + { + type: "ruleset", + }, + ], + }, +}; + +apiInstance + .reorderRulesets(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/UpdateArbitraryCostRule.ts b/examples/v2/cloud-cost-management/UpdateArbitraryCostRule.ts new file mode 100644 index 000000000000..e0c74c0b547b --- /dev/null +++ b/examples/v2/cloud-cost-management/UpdateArbitraryCostRule.ts @@ -0,0 +1,66 @@ +/** + * Update arbitrary cost rule returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiUpdateArbitraryCostRuleRequest = { + body: { + data: { + attributes: { + costsToAllocate: [ + { + condition: "is", + tag: "account_id", + value: "123456789", + values: [], + }, + { + condition: "in", + tag: "environment", + value: "", + values: ["production", "staging"], + }, + ], + enabled: true, + orderId: 1, + provider: ["aws", "gcp"], + ruleName: "example-arbitrary-cost-rule", + strategy: { + allocatedByTagKeys: ["team", "environment"], + basedOnCosts: [ + { + condition: "is", + tag: "service", + value: "web-api", + values: [], + }, + { + condition: "not in", + tag: "team", + value: "", + values: ["legacy", "deprecated"], + }, + ], + granularity: "daily", + method: "proportional", + }, + type: "shared", + }, + type: "upsert_arbitrary_rule", + }, + }, + ruleId: 123456, +}; + +apiInstance + .updateArbitraryCostRule(params) + .then((data: v2.ArbitraryRuleResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/UpdateCostGCPUsageCostConfig.ts b/examples/v2/cloud-cost-management/UpdateCostGCPUsageCostConfig.ts index d32e88656834..d5a40f9458ef 100644 --- a/examples/v2/cloud-cost-management/UpdateCostGCPUsageCostConfig.ts +++ b/examples/v2/cloud-cost-management/UpdateCostGCPUsageCostConfig.ts @@ -1,5 +1,5 @@ /** - * Update Cloud Cost Management GCP Usage Cost config returns "OK" response + * Update Google Cloud Usage Cost config returns "OK" response */ import { client, v2 } from "@datadog/datadog-api-client"; diff --git a/examples/v2/cloud-cost-management/UpdateRuleset.ts b/examples/v2/cloud-cost-management/UpdateRuleset.ts new file mode 100644 index 000000000000..0472341d3617 --- /dev/null +++ b/examples/v2/cloud-cost-management/UpdateRuleset.ts @@ -0,0 +1,43 @@ +/** + * Update ruleset returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiUpdateRulesetRequest = { + body: { + data: { + attributes: { + enabled: true, + lastVersion: 3601919, + rules: [ + { + enabled: true, + mapping: { + destinationKey: "team_owner", + ifNotExists: true, + sourceKeys: ["account_name", "account_id"], + }, + name: "Account Name Mapping", + query: undefined, + referenceTable: undefined, + }, + ], + }, + type: "update_ruleset", + }, + }, + rulesetId: "1c5dae14-237d-4b9a-a515-aa55b3939142", +}; + +apiInstance + .updateRuleset(params) + .then((data: v2.RulesetResp) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/cloud-cost-management/ValidateQuery.ts b/examples/v2/cloud-cost-management/ValidateQuery.ts new file mode 100644 index 000000000000..857420dbfbfc --- /dev/null +++ b/examples/v2/cloud-cost-management/ValidateQuery.ts @@ -0,0 +1,28 @@ +/** + * Validate query returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CloudCostManagementApi(configuration); + +const params: v2.CloudCostManagementApiValidateQueryRequest = { + body: { + data: { + attributes: { + query: "example:query AND test:true", + }, + type: "validate_query", + }, + }, +}; + +apiInstance + .validateQuery(params) + .then((data: v2.RulesValidateQueryResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/features/support/scenarios_model_mapping.ts b/features/support/scenarios_model_mapping.ts index 4e10a658ac72..8d1da14f9516 100644 --- a/features/support/scenarios_model_mapping.ts +++ b/features/support/scenarios_model_mapping.ts @@ -4365,6 +4365,48 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { }, "operationResponseType": "ContainersResponse", }, + "v2.ListArbitraryCostRules": { + "operationResponseType": "ArbitraryRuleResponseArray", + }, + "v2.CreateArbitraryCostRule": { + "body": { + "type": "ArbitraryCostUpsertRequest", + "format": "", + }, + "operationResponseType": "ArbitraryRuleResponse", + }, + "v2.ReorderArbitraryCostRules": { + "body": { + "type": "ReorderRuleResourceArray", + "format": "", + }, + "operationResponseType": "{}", + }, + "v2.GetArbitraryCostRule": { + "ruleId": { + "type": "number", + "format": "int64", + }, + "operationResponseType": "ArbitraryRuleResponse", + }, + "v2.DeleteArbitraryCostRule": { + "ruleId": { + "type": "number", + "format": "int64", + }, + "operationResponseType": "{}", + }, + "v2.UpdateArbitraryCostRule": { + "ruleId": { + "type": "number", + "format": "int64", + }, + "body": { + "type": "ArbitraryCostUpsertRequest", + "format": "", + }, + "operationResponseType": "ArbitraryRuleResponse", + }, "v2.ListCostAWSCURConfigs": { "operationResponseType": "AwsCURConfigsResponse", }, @@ -4373,7 +4415,14 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { "type": "AwsCURConfigPostRequest", "format": "", }, - "operationResponseType": "AwsCURConfigResponse", + "operationResponseType": "AwsCurConfigResponse", + }, + "v2.GetCostAWSCURConfig": { + "cloudAccountId": { + "type": "number", + "format": "int64", + }, + "operationResponseType": "AwsCurConfigResponse", }, "v2.DeleteCostAWSCURConfig": { "cloudAccountId": { @@ -4403,6 +4452,13 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { }, "operationResponseType": "AzureUCConfigPairsResponse", }, + "v2.GetCostAzureUCConfig": { + "cloudAccountId": { + "type": "number", + "format": "int64", + }, + "operationResponseType": "UCConfigPair", + }, "v2.DeleteCostAzureUCConfig": { "cloudAccountId": { "type": "number", @@ -4495,6 +4551,13 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { }, "operationResponseType": "GCPUsageCostConfigResponse", }, + "v2.GetCostGCPUsageCostConfig": { + "cloudAccountId": { + "type": "number", + "format": "int64", + }, + "operationResponseType": "GcpUcConfigResponse", + }, "v2.DeleteCostGCPUsageCostConfig": { "cloudAccountId": { "type": "number", @@ -4513,6 +4576,55 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { }, "operationResponseType": "GCPUsageCostConfigResponse", }, + "v2.ListRulesets": { + "operationResponseType": "RulesetRespArray", + }, + "v2.CreateRuleset": { + "body": { + "type": "CreateRulesetRequest", + "format": "", + }, + "operationResponseType": "RulesetResp", + }, + "v2.ReorderRulesets": { + "body": { + "type": "ReorderRulesetResourceArray", + "format": "", + }, + "operationResponseType": "{}", + }, + "v2.ValidateQuery": { + "body": { + "type": "RulesValidateQueryRequest", + "format": "", + }, + "operationResponseType": "RulesValidateQueryResponse", + }, + "v2.GetRuleset": { + "rulesetId": { + "type": "string", + "format": "", + }, + "operationResponseType": "RulesetResp", + }, + "v2.DeleteRuleset": { + "rulesetId": { + "type": "string", + "format": "", + }, + "operationResponseType": "{}", + }, + "v2.UpdateRuleset": { + "rulesetId": { + "type": "string", + "format": "", + }, + "body": { + "type": "UpdateRulesetRequest", + "format": "", + }, + "operationResponseType": "RulesetResp", + }, "v2.GetActiveBillingDimensions": { "operationResponseType": "ActiveBillingDimensionsResponse", }, diff --git a/features/v2/cloud_cost_management.feature b/features/v2/cloud_cost_management.feature index eed19e63a9be..78309ae90bc4 100644 --- a/features/v2/cloud_cost_management.feature +++ b/features/v2/cloud_cost_management.feature @@ -1,8 +1,8 @@ @endpoint(cloud-cost-management) @endpoint(cloud-cost-management-v2) Feature: Cloud Cost Management The Cloud Cost Management API allows you to set up, edit, and delete Cloud - Cost Management accounts for AWS, Azure, and GCP. You can query your cost - data by using the [Metrics + Cost Management accounts for AWS, Azure, and Google Cloud. You can query + your cost data by using the [Metrics endpoint](https://docs.datadoghq.com/api/latest/metrics/#query-timeseries- data-across-multiple-products) and the `cloud_cost` data source. For more information, see the [Cloud Cost Management @@ -38,26 +38,35 @@ Feature: Cloud Cost Management @replay-only @team:Datadog/cloud-cost-management Scenario: Create Cloud Cost Management Azure configs returns "OK" response Given new "CreateCostAzureUCConfigs" request - And body with value {"data": {"attributes": {"account_id": "1234abcd-1234-abcd-1234-1234abcd1234", "actual_bill_config": {"export_name": "dd-actual-export", "export_path": "dd-export-path", "storage_account": "dd-storage-account", "storage_container": "dd-storage-container"}, "amortized_bill_config": {"export_name": "dd-actual-export", "export_path": "dd-export-path", "storage_account": "dd-storage-account", "storage_container": "dd-storage-container"}, "client_id": "1234abcd-1234-abcd-1234-1234abcd1234", "is_enabled": true, "scope": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234"}, "type": "azure_uc_config_post_request"}} + And body with value {"data": {"attributes": {"account_id": "1234abcd-1234-abcd-1234-1234abcd1234", "actual_bill_config": {"export_name": "dd-actual-export", "export_path": "dd-export-path", "storage_account": "dd-storage-account", "storage_container": "dd-storage-container"}, "amortized_bill_config": {"export_name": "dd-actual-export", "export_path": "dd-export-path", "storage_account": "dd-storage-account", "storage_container": "dd-storage-container"}, "client_id": "1234abcd-1234-abcd-1234-1234abcd1234", "scope": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234"}, "type": "azure_uc_config_post_request"}} When the request is sent Then the response status is 200 OK And the response "data.attributes.configs[0].account_id" is equal to "1234abcd-1234-abcd-1234-1234abcd1234" @team:Datadog/cloud-cost-management - Scenario: Create Cloud Cost Management GCP Usage Cost config returns "Bad Request" response + Scenario: Create Google Cloud Usage Cost config returns "Bad Request" response Given new "CreateCostGCPUsageCostConfig" request And body with value {"data": {"attributes": {"billing_account_id": "123456_A123BC_12AB34", "bucket_name": "dd-cost-bucket", "export_dataset_name": "billing", "export_prefix": "datadog_cloud_cost_usage_export", "export_project_name": "dd-cloud-cost-report", "service_account": "InvalidServiceAccount"}, "type": "gcp_uc_config_post_request"}} When the request is sent Then the response status is 400 Bad Request @replay-only @team:Datadog/cloud-cost-management - Scenario: Create Cloud Cost Management GCP Usage Cost config returns "OK" response + Scenario: Create Google Cloud Usage Cost config returns "OK" response Given new "CreateCostGCPUsageCostConfig" request And body with value {"data": {"attributes": {"billing_account_id": "123456_A123BC_12AB34", "bucket_name": "dd-cost-bucket", "export_dataset_name": "billing", "export_prefix": "datadog_cloud_cost_usage_export", "export_project_name": "dd-cloud-cost-report", "service_account": "dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com"}, "type": "gcp_uc_config_post_request"}} When the request is sent Then the response status is 200 OK And the response "data.attributes.account_id" is equal to "123456_A123BC_12AB34" + @replay-only @team:Datadog/cloud-cost-management + Scenario: Create arbitrary cost rule returns "OK" response + Given new "CreateArbitraryCostRule" request + And body with value {"data": {"attributes": {"costs_to_allocate": [{"condition": "is", "tag": "account_id", "value": "123456789", "values":[]}, {"condition": "in", "tag": "environment", "value": "", "values": ["production", "staging"]}], "enabled": true, "order_id": 1, "provider": ["aws", "gcp"], "rule_name": "example-arbitrary-cost-rule", "strategy": {"allocated_by_tag_keys": ["team", "environment"], "based_on_costs": [{"condition": "is", "tag": "service", "value": "web-api", "values":[]}, {"condition": "not in", "tag": "team", "value": "", "values": ["legacy", "deprecated"]}], "granularity": "daily", "method": "proportional"}, "type": "shared"}, "type": "upsert_arbitrary_rule"}} + When the request is sent + Then the response status is 200 OK + And the response "data.type" is equal to "arbitrary_rule" + And the response "data.attributes.rule_name" is equal to "example-arbitrary-cost-rule" + @generated @skip @team:Datadog/cloud-cost-management Scenario: Create or update a budget returns "Bad Request" response Given new "UpsertBudget" request @@ -79,6 +88,15 @@ Feature: Cloud Cost Management When the request is sent Then the response status is 200 OK + @replay-only @team:Datadog/cloud-cost-management + Scenario: Create ruleset returns "OK" response + Given new "CreateRuleset" request + And body with value {"data": {"attributes": {"enabled": true, "rules": [{"enabled": true, "mapping": null, "name": "Add Cost Center Tag", "query": {"addition": {"key": "cost_center", "value": "engineering"}, "case_insensitivity": false, "if_not_exists": true, "query": "account_id:\"123456789\" AND service:\"web-api\""}, "reference_table": null}]}, "id": "New Ruleset", "type": "create_ruleset"}} + When the request is sent + Then the response status is 200 OK + And the response "data.type" is equal to "ruleset" + And the response "data.attributes.name" is equal to "New Ruleset" + @generated @skip @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management AWS CUR config returns "Bad Request" response Given new "DeleteCostAWSCURConfig" request @@ -121,27 +139,6 @@ Feature: Cloud Cost Management When the request is sent Then the response status is 404 Not Found - @generated @skip @team:Datadog/cloud-cost-management - Scenario: Delete Cloud Cost Management GCP Usage Cost config returns "Bad Request" response - Given new "DeleteCostGCPUsageCostConfig" request - And request contains "cloud_account_id" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 400 Bad Request - - @replay-only @team:Datadog/cloud-cost-management - Scenario: Delete Cloud Cost Management GCP Usage Cost config returns "No Content" response - Given new "DeleteCostGCPUsageCostConfig" request - And request contains "cloud_account_id" parameter with value 100 - When the request is sent - Then the response status is 204 No Content - - @team:Datadog/cloud-cost-management - Scenario: Delete Cloud Cost Management GCP Usage Cost config returns "Not Found" response - Given new "DeleteCostGCPUsageCostConfig" request - And request contains "cloud_account_id" parameter with value 123456 - When the request is sent - Then the response status is 404 Not Found - @replay-only @team:Datadog/cloud-cost-management Scenario: Delete Custom Costs File returns "No Content" response Given new "DeleteCustomCostsFile" request @@ -163,6 +160,27 @@ Feature: Cloud Cost Management When the request is sent Then the response status is 404 Not Found + @generated @skip @team:Datadog/cloud-cost-management + Scenario: Delete Google Cloud Usage Cost config returns "Bad Request" response + Given new "DeleteCostGCPUsageCostConfig" request + And request contains "cloud_account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @replay-only @team:Datadog/cloud-cost-management + Scenario: Delete Google Cloud Usage Cost config returns "No Content" response + Given new "DeleteCostGCPUsageCostConfig" request + And request contains "cloud_account_id" parameter with value 100 + When the request is sent + Then the response status is 204 No Content + + @team:Datadog/cloud-cost-management + Scenario: Delete Google Cloud Usage Cost config returns "Not Found" response + Given new "DeleteCostGCPUsageCostConfig" request + And request contains "cloud_account_id" parameter with value 123456 + When the request is sent + Then the response status is 404 Not Found + @team:Datadog/cloud-cost-management Scenario: Delete a budget returns "Bad Request" response Given new "DeleteBudget" request @@ -177,6 +195,20 @@ Feature: Cloud Cost Management When the request is sent Then the response status is 204 No Content + @replay-only @team:Datadog/cloud-cost-management + Scenario: Delete arbitrary cost rule returns "No Content" response + Given new "DeleteArbitraryCostRule" request + And request contains "rule_id" parameter with value 123456 + When the request is sent + Then the response status is 204 No Content + + @replay-only @team:Datadog/cloud-cost-management + Scenario: Delete ruleset returns "No Content" response + Given new "DeleteRuleset" request + And request contains "ruleset_id" parameter with value "1c5dae14-237d-4b9a-a515-aa55b3939142" + When the request is sent + Then the response status is 204 No Content + @replay-only @team:Datadog/cloud-cost-management Scenario: Get Custom Costs File returns "OK" response Given new "GetCustomCostsFile" request @@ -200,6 +232,15 @@ Feature: Cloud Cost Management When the request is sent Then the response status is 200 OK + @replay-only @team:Datadog/cloud-cost-management + Scenario: Get Google Cloud Usage Cost config returns "OK" response + Given new "GetCostGCPUsageCostConfig" request + And request contains "cloud_account_id" parameter with value 123456 + When the request is sent + Then the response status is 200 OK + And the response "data.type" is equal to "gcp_uc_config" + And the response "data.attributes.account_id" is equal to "123456_ABCDEF_123ABC" + @generated @skip @team:Datadog/cloud-cost-management Scenario: Get a budget returns "Bad Request" response Given new "GetBudget" request @@ -221,6 +262,41 @@ Feature: Cloud Cost Management When the request is sent Then the response status is 200 OK + @replay-only @team:Datadog/cloud-cost-management + Scenario: Get arbitrary cost rule returns "OK" response + Given new "GetArbitraryCostRule" request + And request contains "rule_id" parameter with value 123456 + When the request is sent + Then the response status is 200 OK + + @replay-only @team:Datadog/cloud-cost-management + Scenario: Get cost AWS CUR config returns "OK" response + Given new "GetCostAWSCURConfig" request + And request contains "cloud_account_id" parameter with value 123456 + When the request is sent + Then the response status is 200 OK + And the response "data.type" is equal to "aws_cur_config" + And the response "data.attributes.account_id" is equal to "123456123456" + + @replay-only @team:Datadog/cloud-cost-management + Scenario: Get cost Azure UC config returns "OK" response + Given new "GetCostAzureUCConfig" request + And request contains "cloud_account_id" parameter with value 123456 + When the request is sent + Then the response status is 200 OK + And the response "data.type" is equal to "azure_uc_configs" + And the response "data.attributes.configs[0].dataset_type" is equal to "amortized" + And the response "data.attributes.configs[1].dataset_type" is equal to "actual" + + @replay-only @team:Datadog/cloud-cost-management + Scenario: Get ruleset returns "OK" response + Given new "GetRuleset" request + And request contains "ruleset_id" parameter with value "da0e30e2-615d-4dae-9a22-38cf86a87dde" + When the request is sent + Then the response status is 200 OK + And the response "data.type" is equal to "ruleset" + And the response "data.attributes.name" is equal to "New Ruleset" + @replay-only @team:Datadog/cloud-cost-management Scenario: List Cloud Cost Management AWS CUR configs returns "OK" response Given new "ListCostAWSCURConfigs" request @@ -235,12 +311,6 @@ Feature: Cloud Cost Management Then the response status is 200 OK And the response "data[0].attributes.configs[0].export_name" is equal to "test_export_name" - @team:Datadog/cloud-cost-management - Scenario: List Cloud Cost Management GCP Usage Cost configs returns "OK" response - Given new "ListCostGCPUsageCostConfigs" request - When the request is sent - Then the response status is 200 OK - @replay-only @team:Datadog/cloud-cost-management Scenario: List Custom Costs Files returns "OK" response Given new "ListCustomCostsFiles" request @@ -261,16 +331,50 @@ Feature: Cloud Cost Management When the request is sent Then the response status is 200 OK + @team:Datadog/cloud-cost-management + Scenario: List Google Cloud Usage Cost configs returns "OK" response + Given new "ListCostGCPUsageCostConfigs" request + When the request is sent + Then the response status is 200 OK + + @replay-only @team:Datadog/cloud-cost-management + Scenario: List arbitrary cost rules returns "OK" response + Given new "ListArbitraryCostRules" request + When the request is sent + Then the response status is 200 OK + And the response "data[0].attributes.rule_name" is equal to "example-arbitrary-cost-rule" + @team:Datadog/cloud-cost-management Scenario: List budgets returns "OK" response Given new "ListBudgets" request When the request is sent Then the response status is 200 OK + @replay-only @team:Datadog/cloud-cost-management + Scenario: List rulesets returns "OK" response + Given new "ListRulesets" request + When the request is sent + Then the response status is 200 OK + And the response "data[0].attributes.name" is equal to "New Ruleset" + + @generated @skip @team:Datadog/cloud-cost-management + Scenario: Reorder arbitrary cost rules returns "Successfully reordered rules" response + Given new "ReorderArbitraryCostRules" request + And body with value {"data": [{"id": "456", "type": "arbitrary_rule"}, {"id": "123", "type": "arbitrary_rule"}, {"id": "789", "type": "arbitrary_rule"}]} + When the request is sent + Then the response status is 204 Successfully reordered rules + + @generated @skip @team:Datadog/cloud-cost-management + Scenario: Reorder rulesets returns "Successfully reordered rulesets" response + Given new "ReorderRulesets" request + And body with value {"data": [{"type": "ruleset"}]} + When the request is sent + Then the response status is 204 Successfully reordered rulesets + @team:Datadog/cloud-cost-management Scenario: Update Cloud Cost Management AWS CUR config returns "Not Found" response Given new "UpdateCostAWSCURConfig" request - And request contains "cloud_account_id" parameter with value 12345678 + And request contains "cloud_account_id" parameter with value 123456 And body with value {"data": {"attributes": {"is_enabled": true}, "type": "aws_cur_config_patch_request"}} When the request is sent Then the response status is 404 Not Found @@ -295,7 +399,7 @@ Feature: Cloud Cost Management @team:Datadog/cloud-cost-management Scenario: Update Cloud Cost Management Azure config returns "Not Found" response Given new "UpdateCostAzureUCConfigs" request - And request contains "cloud_account_id" parameter with value 12345678 + And request contains "cloud_account_id" parameter with value 123456 And body with value {"data": {"attributes": {"is_enabled": true}, "type": "azure_uc_config_patch_request"}} When the request is sent Then the response status is 404 Not Found @@ -310,7 +414,7 @@ Feature: Cloud Cost Management And the response "data.type" is equal to "azure_uc_configs" @generated @skip @team:Datadog/cloud-cost-management - Scenario: Update Cloud Cost Management GCP Usage Cost config returns "Bad Request" response + Scenario: Update Google Cloud Usage Cost config returns "Bad Request" response Given new "UpdateCostGCPUsageCostConfig" request And request contains "cloud_account_id" parameter from "REPLACE.ME" And body with value {"data": {"attributes": {"is_enabled": true}, "type": "gcp_uc_config_patch_request"}} @@ -318,15 +422,15 @@ Feature: Cloud Cost Management Then the response status is 400 Bad Request @team:Datadog/cloud-cost-management - Scenario: Update Cloud Cost Management GCP Usage Cost config returns "Not Found" response + Scenario: Update Google Cloud Usage Cost config returns "Not Found" response Given new "UpdateCostGCPUsageCostConfig" request - And request contains "cloud_account_id" parameter with value 12345678 + And request contains "cloud_account_id" parameter with value 123456 And body with value {"data": {"attributes": {"is_enabled": true}, "type": "gcp_uc_config_patch_request"}} When the request is sent Then the response status is 404 Not Found @replay-only @team:Datadog/cloud-cost-management - Scenario: Update Cloud Cost Management GCP Usage Cost config returns "OK" response + Scenario: Update Google Cloud Usage Cost config returns "OK" response Given new "UpdateCostGCPUsageCostConfig" request And request contains "cloud_account_id" parameter with value 100 And body with value {"data": {"attributes": {"is_enabled": true}, "type": "gcp_uc_config_patch_request"}} @@ -334,6 +438,22 @@ Feature: Cloud Cost Management Then the response status is 200 OK And the response "data.attributes.account_id" is equal to "123456_A123BC_12AB34" + @replay-only @team:Datadog/cloud-cost-management + Scenario: Update arbitrary cost rule returns "OK" response + Given new "UpdateArbitraryCostRule" request + And request contains "rule_id" parameter with value 123456 + And body with value {"data": {"attributes": {"costs_to_allocate": [{"condition": "is", "tag": "account_id", "value": "123456789", "values":[]}, {"condition": "in", "tag": "environment", "value": "", "values": ["production", "staging"]}], "enabled": true, "order_id": 1, "provider": ["aws", "gcp"], "rule_name": "example-arbitrary-cost-rule", "strategy": {"allocated_by_tag_keys": ["team", "environment"], "based_on_costs": [{"condition": "is", "tag": "service", "value": "web-api", "values":[]}, {"condition": "not in", "tag": "team", "value": "", "values": ["legacy", "deprecated"]}], "granularity": "daily", "method": "proportional"}, "type": "shared"}, "type": "upsert_arbitrary_rule"}} + When the request is sent + Then the response status is 200 OK + + @replay-only @team:Datadog/cloud-cost-management + Scenario: Update ruleset returns "OK" response + Given new "UpdateRuleset" request + And request contains "ruleset_id" parameter with value "1c5dae14-237d-4b9a-a515-aa55b3939142" + And body with value {"data": {"attributes": {"enabled": true, "last_version": 3601919, "rules": [{"enabled": true, "mapping": {"destination_key": "team_owner", "if_not_exists": true, "source_keys": ["account_name", "account_id"]}, "name": "Account Name Mapping", "query": null, "reference_table": null}]}, "type": "update_ruleset"}} + When the request is sent + Then the response status is 200 OK + @replay-only @team:Datadog/cloud-cost-management Scenario: Upload Custom Costs File returns "Accepted" response Given new "UploadCustomCostsFile" request @@ -355,3 +475,10 @@ Feature: Cloud Cost Management And body with value [{"BilledCost": 100.5, "BillingCurrency": "USD", "ChargeDescription": "Monthly usage charge for my service", "ChargePeriodEnd": "2023-02-28", "ChargePeriodStart": "2023-02-01"}] When the request is sent Then the response status is 400 Bad Request + + @replay-only @team:Datadog/cloud-cost-management + Scenario: Validate query returns "OK" response + Given new "ValidateQuery" request + And body with value {"data": {"attributes": {"Query": "example:query AND test:true"}, "type": "validate_query"}} + When the request is sent + Then the response status is 200 OK diff --git a/features/v2/undo.json b/features/v2/undo.json index b2fe236d0042..7f8336d494c4 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -700,6 +700,42 @@ "type": "safe" } }, + "ListArbitraryCostRules": { + "tag": "Cloud Cost Management", + "undo": { + "type": "safe" + } + }, + "CreateArbitraryCostRule": { + "tag": "Cloud Cost Management", + "undo": { + "type": "idempotent" + } + }, + "ReorderArbitraryCostRules": { + "tag": "Cloud Cost Management", + "undo": { + "type": "idempotent" + } + }, + "DeleteArbitraryCostRule": { + "tag": "Cloud Cost Management", + "undo": { + "type": "idempotent" + } + }, + "GetArbitraryCostRule": { + "tag": "Cloud Cost Management", + "undo": { + "type": "safe" + } + }, + "UpdateArbitraryCostRule": { + "tag": "Cloud Cost Management", + "undo": { + "type": "idempotent" + } + }, "ListCostAWSCURConfigs": { "tag": "Cloud Cost Management", "undo": { @@ -718,6 +754,12 @@ "type": "idempotent" } }, + "GetCostAWSCURConfig": { + "tag": "Cloud Cost Management", + "undo": { + "type": "safe" + } + }, "UpdateCostAWSCURConfig": { "tag": "Cloud Cost Management", "undo": { @@ -742,6 +784,12 @@ "type": "idempotent" } }, + "GetCostAzureUCConfig": { + "tag": "Cloud Cost Management", + "undo": { + "type": "safe" + } + }, "UpdateCostAzureUCConfigs": { "tag": "Cloud Cost Management", "undo": { @@ -821,6 +869,12 @@ "type": "idempotent" } }, + "GetCostGCPUsageCostConfig": { + "tag": "Cloud Cost Management", + "undo": { + "type": "safe" + } + }, "UpdateCostGCPUsageCostConfig": { "tag": "Cloud Cost Management", "undo": { @@ -3671,6 +3725,48 @@ "type": "safe" } }, + "ListRulesets": { + "tag": "Cloud Cost Management", + "undo": { + "type": "safe" + } + }, + "CreateRuleset": { + "tag": "Cloud Cost Management", + "undo": { + "type": "idempotent" + } + }, + "ReorderRulesets": { + "tag": "Cloud Cost Management", + "undo": { + "type": "idempotent" + } + }, + "ValidateQuery": { + "tag": "Cloud Cost Management", + "undo": { + "type": "safe" + } + }, + "DeleteRuleset": { + "tag": "Cloud Cost Management", + "undo": { + "type": "idempotent" + } + }, + "GetRuleset": { + "tag": "Cloud Cost Management", + "undo": { + "type": "safe" + } + }, + "UpdateRuleset": { + "tag": "Cloud Cost Management", + "undo": { + "type": "idempotent" + } + }, "ListTeams": { "tag": "Teams", "undo": { diff --git a/packages/datadog-api-client-v2/apis/CloudCostManagementApi.ts b/packages/datadog-api-client-v2/apis/CloudCostManagementApi.ts index 7706729cc164..54d36bec5cb5 100644 --- a/packages/datadog-api-client-v2/apis/CloudCostManagementApi.ts +++ b/packages/datadog-api-client-v2/apis/CloudCostManagementApi.ts @@ -17,9 +17,12 @@ import { ObjectSerializer } from "../models/ObjectSerializer"; import { ApiException } from "../../datadog-api-client-common/exception"; import { APIErrorResponse } from "../models/APIErrorResponse"; +import { ArbitraryCostUpsertRequest } from "../models/ArbitraryCostUpsertRequest"; +import { ArbitraryRuleResponse } from "../models/ArbitraryRuleResponse"; +import { ArbitraryRuleResponseArray } from "../models/ArbitraryRuleResponseArray"; import { AwsCURConfigPatchRequest } from "../models/AwsCURConfigPatchRequest"; import { AwsCURConfigPostRequest } from "../models/AwsCURConfigPostRequest"; -import { AwsCURConfigResponse } from "../models/AwsCURConfigResponse"; +import { AwsCurConfigResponse } from "../models/AwsCurConfigResponse"; import { AwsCURConfigsResponse } from "../models/AwsCURConfigsResponse"; import { AzureUCConfigPairsResponse } from "../models/AzureUCConfigPairsResponse"; import { AzureUCConfigPatchRequest } from "../models/AzureUCConfigPatchRequest"; @@ -27,16 +30,68 @@ import { AzureUCConfigPostRequest } from "../models/AzureUCConfigPostRequest"; import { AzureUCConfigsResponse } from "../models/AzureUCConfigsResponse"; import { BudgetArray } from "../models/BudgetArray"; import { BudgetWithEntries } from "../models/BudgetWithEntries"; +import { CreateRulesetRequest } from "../models/CreateRulesetRequest"; import { CustomCostsFileGetResponse } from "../models/CustomCostsFileGetResponse"; import { CustomCostsFileLineItem } from "../models/CustomCostsFileLineItem"; import { CustomCostsFileListResponse } from "../models/CustomCostsFileListResponse"; import { CustomCostsFileUploadResponse } from "../models/CustomCostsFileUploadResponse"; +import { GcpUcConfigResponse } from "../models/GcpUcConfigResponse"; import { GCPUsageCostConfigPatchRequest } from "../models/GCPUsageCostConfigPatchRequest"; import { GCPUsageCostConfigPostRequest } from "../models/GCPUsageCostConfigPostRequest"; import { GCPUsageCostConfigResponse } from "../models/GCPUsageCostConfigResponse"; import { GCPUsageCostConfigsResponse } from "../models/GCPUsageCostConfigsResponse"; +import { ReorderRuleResourceArray } from "../models/ReorderRuleResourceArray"; +import { ReorderRulesetResourceArray } from "../models/ReorderRulesetResourceArray"; +import { RulesetResp } from "../models/RulesetResp"; +import { RulesetRespArray } from "../models/RulesetRespArray"; +import { RulesValidateQueryRequest } from "../models/RulesValidateQueryRequest"; +import { RulesValidateQueryResponse } from "../models/RulesValidateQueryResponse"; +import { UCConfigPair } from "../models/UCConfigPair"; +import { UpdateRulesetRequest } from "../models/UpdateRulesetRequest"; export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory { + public async createArbitraryCostRule( + body: ArbitraryCostUpsertRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "createArbitraryCostRule"); + } + + // Path Params + const localVarPath = "/api/v2/cost/arbitrary_rule"; + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.createArbitraryCostRule") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "ArbitraryCostUpsertRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + public async createCostAWSCURConfig( body: AwsCURConfigPostRequest, _options?: Configuration @@ -163,6 +218,82 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } + public async createRuleset( + body: CreateRulesetRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "createRuleset"); + } + + // Path Params + const localVarPath = "/api/v2/tags/enrichment"; + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.createRuleset") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "CreateRulesetRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async deleteArbitraryCostRule( + ruleId: number, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'ruleId' is not null or undefined + if (ruleId === null || ruleId === undefined) { + throw new RequiredError("ruleId", "deleteArbitraryCostRule"); + } + + // Path Params + const localVarPath = "/api/v2/cost/arbitrary_rule/{rule_id}".replace( + "{rule_id}", + encodeURIComponent(String(ruleId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.deleteArbitraryCostRule") + .makeRequestContext(localVarPath, HttpMethod.DELETE); + requestContext.setHeaderParam("Accept", "*/*"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + public async deleteBudget( budgetId: string, _options?: Configuration @@ -336,28 +467,28 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } - public async getBudget( - budgetId: string, + public async deleteRuleset( + rulesetId: string, _options?: Configuration ): Promise { const _config = _options || this.configuration; - // verify required parameter 'budgetId' is not null or undefined - if (budgetId === null || budgetId === undefined) { - throw new RequiredError("budgetId", "getBudget"); + // verify required parameter 'rulesetId' is not null or undefined + if (rulesetId === null || rulesetId === undefined) { + throw new RequiredError("rulesetId", "deleteRuleset"); } // Path Params - const localVarPath = "/api/v2/cost/budget/{budget_id}".replace( - "{budget_id}", - encodeURIComponent(String(budgetId)) + const localVarPath = "/api/v2/tags/enrichment/{ruleset_id}".replace( + "{ruleset_id}", + encodeURIComponent(String(rulesetId)) ); // Make Request Context const requestContext = _config - .getServer("v2.CloudCostManagementApi.getBudget") - .makeRequestContext(localVarPath, HttpMethod.GET); - requestContext.setHeaderParam("Accept", "application/json"); + .getServer("v2.CloudCostManagementApi.deleteRuleset") + .makeRequestContext(localVarPath, HttpMethod.DELETE); + requestContext.setHeaderParam("Accept", "*/*"); requestContext.setHttpConfig(_config.httpConfig); // Apply auth methods @@ -370,26 +501,26 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } - public async getCustomCostsFile( - fileId: string, + public async getArbitraryCostRule( + ruleId: number, _options?: Configuration ): Promise { const _config = _options || this.configuration; - // verify required parameter 'fileId' is not null or undefined - if (fileId === null || fileId === undefined) { - throw new RequiredError("fileId", "getCustomCostsFile"); + // verify required parameter 'ruleId' is not null or undefined + if (ruleId === null || ruleId === undefined) { + throw new RequiredError("ruleId", "getArbitraryCostRule"); } // Path Params - const localVarPath = "/api/v2/cost/custom_costs/{file_id}".replace( - "{file_id}", - encodeURIComponent(String(fileId)) + const localVarPath = "/api/v2/cost/arbitrary_rule/{rule_id}".replace( + "{rule_id}", + encodeURIComponent(String(ruleId)) ); // Make Request Context const requestContext = _config - .getServer("v2.CloudCostManagementApi.getCustomCostsFile") + .getServer("v2.CloudCostManagementApi.getArbitraryCostRule") .makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); @@ -404,15 +535,26 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } - public async listBudgets(_options?: Configuration): Promise { + public async getBudget( + budgetId: string, + _options?: Configuration + ): Promise { const _config = _options || this.configuration; + // verify required parameter 'budgetId' is not null or undefined + if (budgetId === null || budgetId === undefined) { + throw new RequiredError("budgetId", "getBudget"); + } + // Path Params - const localVarPath = "/api/v2/cost/budgets"; + const localVarPath = "/api/v2/cost/budget/{budget_id}".replace( + "{budget_id}", + encodeURIComponent(String(budgetId)) + ); // Make Request Context const requestContext = _config - .getServer("v2.CloudCostManagementApi.listBudgets") + .getServer("v2.CloudCostManagementApi.getBudget") .makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); @@ -427,17 +569,27 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } - public async listCostAWSCURConfigs( + public async getCostAWSCURConfig( + cloudAccountId: number, _options?: Configuration ): Promise { const _config = _options || this.configuration; + // verify required parameter 'cloudAccountId' is not null or undefined + if (cloudAccountId === null || cloudAccountId === undefined) { + throw new RequiredError("cloudAccountId", "getCostAWSCURConfig"); + } + // Path Params - const localVarPath = "/api/v2/cost/aws_cur_config"; + const localVarPath = + "/api/v2/cost/aws_cur_config/{cloud_account_id}".replace( + "{cloud_account_id}", + encodeURIComponent(String(cloudAccountId)) + ); // Make Request Context const requestContext = _config - .getServer("v2.CloudCostManagementApi.listCostAWSCURConfigs") + .getServer("v2.CloudCostManagementApi.getCostAWSCURConfig") .makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); @@ -452,17 +604,27 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } - public async listCostAzureUCConfigs( + public async getCostAzureUCConfig( + cloudAccountId: number, _options?: Configuration ): Promise { const _config = _options || this.configuration; + // verify required parameter 'cloudAccountId' is not null or undefined + if (cloudAccountId === null || cloudAccountId === undefined) { + throw new RequiredError("cloudAccountId", "getCostAzureUCConfig"); + } + // Path Params - const localVarPath = "/api/v2/cost/azure_uc_config"; + const localVarPath = + "/api/v2/cost/azure_uc_config/{cloud_account_id}".replace( + "{cloud_account_id}", + encodeURIComponent(String(cloudAccountId)) + ); // Make Request Context const requestContext = _config - .getServer("v2.CloudCostManagementApi.listCostAzureUCConfigs") + .getServer("v2.CloudCostManagementApi.getCostAzureUCConfig") .makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); @@ -477,17 +639,27 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } - public async listCostGCPUsageCostConfigs( + public async getCostGCPUsageCostConfig( + cloudAccountId: number, _options?: Configuration ): Promise { const _config = _options || this.configuration; + // verify required parameter 'cloudAccountId' is not null or undefined + if (cloudAccountId === null || cloudAccountId === undefined) { + throw new RequiredError("cloudAccountId", "getCostGCPUsageCostConfig"); + } + // Path Params - const localVarPath = "/api/v2/cost/gcp_uc_config"; + const localVarPath = + "/api/v2/cost/gcp_uc_config/{cloud_account_id}".replace( + "{cloud_account_id}", + encodeURIComponent(String(cloudAccountId)) + ); // Make Request Context const requestContext = _config - .getServer("v2.CloudCostManagementApi.listCostGCPUsageCostConfigs") + .getServer("v2.CloudCostManagementApi.getCostGCPUsageCostConfig") .makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); @@ -502,55 +674,30 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } - public async listCustomCostsFiles( - pageNumber?: number, - pageSize?: number, - filterStatus?: string, - sort?: string, + public async getCustomCostsFile( + fileId: string, _options?: Configuration ): Promise { const _config = _options || this.configuration; + // verify required parameter 'fileId' is not null or undefined + if (fileId === null || fileId === undefined) { + throw new RequiredError("fileId", "getCustomCostsFile"); + } + // Path Params - const localVarPath = "/api/v2/cost/custom_costs"; + const localVarPath = "/api/v2/cost/custom_costs/{file_id}".replace( + "{file_id}", + encodeURIComponent(String(fileId)) + ); // Make Request Context const requestContext = _config - .getServer("v2.CloudCostManagementApi.listCustomCostsFiles") + .getServer("v2.CloudCostManagementApi.getCustomCostsFile") .makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); - // Query Params - if (pageNumber !== undefined) { - requestContext.setQueryParam( - "page[number]", - ObjectSerializer.serialize(pageNumber, "number", "int64"), - "" - ); - } - if (pageSize !== undefined) { - requestContext.setQueryParam( - "page[size]", - ObjectSerializer.serialize(pageSize, "number", "int64"), - "" - ); - } - if (filterStatus !== undefined) { - requestContext.setQueryParam( - "filter[status]", - ObjectSerializer.serialize(filterStatus, "string", ""), - "" - ); - } - if (sort !== undefined) { - requestContext.setQueryParam( - "sort", - ObjectSerializer.serialize(sort, "string", ""), - "" - ); - } - // Apply auth methods applySecurityAuthentication(_config, requestContext, [ "apiKeyAuth", @@ -561,48 +708,30 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } - public async updateCostAWSCURConfig( - cloudAccountId: number, - body: AwsCURConfigPatchRequest, + public async getRuleset( + rulesetId: string, _options?: Configuration ): Promise { const _config = _options || this.configuration; - // verify required parameter 'cloudAccountId' is not null or undefined - if (cloudAccountId === null || cloudAccountId === undefined) { - throw new RequiredError("cloudAccountId", "updateCostAWSCURConfig"); - } - - // verify required parameter 'body' is not null or undefined - if (body === null || body === undefined) { - throw new RequiredError("body", "updateCostAWSCURConfig"); + // verify required parameter 'rulesetId' is not null or undefined + if (rulesetId === null || rulesetId === undefined) { + throw new RequiredError("rulesetId", "getRuleset"); } // Path Params - const localVarPath = - "/api/v2/cost/aws_cur_config/{cloud_account_id}".replace( - "{cloud_account_id}", - encodeURIComponent(String(cloudAccountId)) - ); + const localVarPath = "/api/v2/tags/enrichment/{ruleset_id}".replace( + "{ruleset_id}", + encodeURIComponent(String(rulesetId)) + ); // Make Request Context const requestContext = _config - .getServer("v2.CloudCostManagementApi.updateCostAWSCURConfig") - .makeRequestContext(localVarPath, HttpMethod.PATCH); + .getServer("v2.CloudCostManagementApi.getRuleset") + .makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); - // Body Params - const contentType = ObjectSerializer.getPreferredMediaType([ - "application/json", - ]); - requestContext.setHeaderParam("Content-Type", contentType); - const serializedBody = ObjectSerializer.stringify( - ObjectSerializer.serialize(body, "AwsCURConfigPatchRequest", ""), - contentType - ); - requestContext.setBody(serializedBody); - // Apply auth methods applySecurityAuthentication(_config, requestContext, [ "apiKeyAuth", @@ -613,47 +742,68 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } - public async updateCostAzureUCConfigs( - cloudAccountId: number, - body: AzureUCConfigPatchRequest, + public async listArbitraryCostRules( _options?: Configuration ): Promise { const _config = _options || this.configuration; - // verify required parameter 'cloudAccountId' is not null or undefined - if (cloudAccountId === null || cloudAccountId === undefined) { - throw new RequiredError("cloudAccountId", "updateCostAzureUCConfigs"); - } + // Path Params + const localVarPath = "/api/v2/cost/arbitrary_rule"; - // verify required parameter 'body' is not null or undefined - if (body === null || body === undefined) { - throw new RequiredError("body", "updateCostAzureUCConfigs"); - } + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.listArbitraryCostRules") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async listBudgets(_options?: Configuration): Promise { + const _config = _options || this.configuration; // Path Params - const localVarPath = - "/api/v2/cost/azure_uc_config/{cloud_account_id}".replace( - "{cloud_account_id}", - encodeURIComponent(String(cloudAccountId)) - ); + const localVarPath = "/api/v2/cost/budgets"; // Make Request Context const requestContext = _config - .getServer("v2.CloudCostManagementApi.updateCostAzureUCConfigs") - .makeRequestContext(localVarPath, HttpMethod.PATCH); + .getServer("v2.CloudCostManagementApi.listBudgets") + .makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); - // Body Params - const contentType = ObjectSerializer.getPreferredMediaType([ - "application/json", + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", ]); - requestContext.setHeaderParam("Content-Type", contentType); - const serializedBody = ObjectSerializer.stringify( - ObjectSerializer.serialize(body, "AzureUCConfigPatchRequest", ""), - contentType - ); - requestContext.setBody(serializedBody); + + return requestContext; + } + + public async listCostAWSCURConfigs( + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // Path Params + const localVarPath = "/api/v2/cost/aws_cur_config"; + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.listCostAWSCURConfigs") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); // Apply auth methods applySecurityAuthentication(_config, requestContext, [ @@ -665,35 +815,157 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } - public async updateCostGCPUsageCostConfig( - cloudAccountId: number, - body: GCPUsageCostConfigPatchRequest, + public async listCostAzureUCConfigs( _options?: Configuration ): Promise { const _config = _options || this.configuration; - // verify required parameter 'cloudAccountId' is not null or undefined - if (cloudAccountId === null || cloudAccountId === undefined) { - throw new RequiredError("cloudAccountId", "updateCostGCPUsageCostConfig"); + // Path Params + const localVarPath = "/api/v2/cost/azure_uc_config"; + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.listCostAzureUCConfigs") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async listCostGCPUsageCostConfigs( + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // Path Params + const localVarPath = "/api/v2/cost/gcp_uc_config"; + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.listCostGCPUsageCostConfigs") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async listCustomCostsFiles( + pageNumber?: number, + pageSize?: number, + filterStatus?: string, + sort?: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // Path Params + const localVarPath = "/api/v2/cost/custom_costs"; + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.listCustomCostsFiles") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (pageNumber !== undefined) { + requestContext.setQueryParam( + "page[number]", + ObjectSerializer.serialize(pageNumber, "number", "int64"), + "" + ); + } + if (pageSize !== undefined) { + requestContext.setQueryParam( + "page[size]", + ObjectSerializer.serialize(pageSize, "number", "int64"), + "" + ); + } + if (filterStatus !== undefined) { + requestContext.setQueryParam( + "filter[status]", + ObjectSerializer.serialize(filterStatus, "string", ""), + "" + ); + } + if (sort !== undefined) { + requestContext.setQueryParam( + "sort", + ObjectSerializer.serialize(sort, "string", ""), + "" + ); } + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async listRulesets(_options?: Configuration): Promise { + const _config = _options || this.configuration; + + // Path Params + const localVarPath = "/api/v2/tags/enrichment"; + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.listRulesets") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async reorderArbitraryCostRules( + body: ReorderRuleResourceArray, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { - throw new RequiredError("body", "updateCostGCPUsageCostConfig"); + throw new RequiredError("body", "reorderArbitraryCostRules"); } // Path Params - const localVarPath = - "/api/v2/cost/gcp_uc_config/{cloud_account_id}".replace( - "{cloud_account_id}", - encodeURIComponent(String(cloudAccountId)) - ); + const localVarPath = "/api/v2/cost/arbitrary_rule/reorder"; // Make Request Context const requestContext = _config - .getServer("v2.CloudCostManagementApi.updateCostGCPUsageCostConfig") - .makeRequestContext(localVarPath, HttpMethod.PATCH); - requestContext.setHeaderParam("Accept", "application/json"); + .getServer("v2.CloudCostManagementApi.reorderArbitraryCostRules") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "*/*"); requestContext.setHttpConfig(_config.httpConfig); // Body Params @@ -702,7 +974,7 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory ]); requestContext.setHeaderParam("Content-Type", contentType); const serializedBody = ObjectSerializer.stringify( - ObjectSerializer.serialize(body, "GCPUsageCostConfigPatchRequest", ""), + ObjectSerializer.serialize(body, "ReorderRuleResourceArray", ""), contentType ); requestContext.setBody(serializedBody); @@ -717,25 +989,25 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } - public async uploadCustomCostsFile( - body: Array, + public async reorderRulesets( + body: ReorderRulesetResourceArray, _options?: Configuration ): Promise { const _config = _options || this.configuration; // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { - throw new RequiredError("body", "uploadCustomCostsFile"); + throw new RequiredError("body", "reorderRulesets"); } // Path Params - const localVarPath = "/api/v2/cost/custom_costs"; + const localVarPath = "/api/v2/tags/enrichment/reorder"; // Make Request Context const requestContext = _config - .getServer("v2.CloudCostManagementApi.uploadCustomCostsFile") - .makeRequestContext(localVarPath, HttpMethod.PUT); - requestContext.setHeaderParam("Accept", "application/json"); + .getServer("v2.CloudCostManagementApi.reorderRulesets") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "*/*"); requestContext.setHttpConfig(_config.httpConfig); // Body Params @@ -744,7 +1016,7 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory ]); requestContext.setHeaderParam("Content-Type", contentType); const serializedBody = ObjectSerializer.stringify( - ObjectSerializer.serialize(body, "Array", ""), + ObjectSerializer.serialize(body, "ReorderRulesetResourceArray", ""), contentType ); requestContext.setBody(serializedBody); @@ -759,24 +1031,33 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } - public async upsertBudget( - body: BudgetWithEntries, + public async updateArbitraryCostRule( + ruleId: number, + body: ArbitraryCostUpsertRequest, _options?: Configuration ): Promise { const _config = _options || this.configuration; + // verify required parameter 'ruleId' is not null or undefined + if (ruleId === null || ruleId === undefined) { + throw new RequiredError("ruleId", "updateArbitraryCostRule"); + } + // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { - throw new RequiredError("body", "upsertBudget"); + throw new RequiredError("body", "updateArbitraryCostRule"); } // Path Params - const localVarPath = "/api/v2/cost/budget"; + const localVarPath = "/api/v2/cost/arbitrary_rule/{rule_id}".replace( + "{rule_id}", + encodeURIComponent(String(ruleId)) + ); // Make Request Context const requestContext = _config - .getServer("v2.CloudCostManagementApi.upsertBudget") - .makeRequestContext(localVarPath, HttpMethod.PUT); + .getServer("v2.CloudCostManagementApi.updateArbitraryCostRule") + .makeRequestContext(localVarPath, HttpMethod.PATCH); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); @@ -786,7 +1067,7 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory ]); requestContext.setHeaderParam("Content-Type", contentType); const serializedBody = ObjectSerializer.stringify( - ObjectSerializer.serialize(body, "BudgetWithEntries", ""), + ObjectSerializer.serialize(body, "ArbitraryCostUpsertRequest", ""), contentType ); requestContext.setBody(serializedBody); @@ -800,32 +1081,1076 @@ export class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory return requestContext; } -} -export class CloudCostManagementApiResponseProcessor { + public async updateCostAWSCURConfig( + cloudAccountId: number, + body: AwsCURConfigPatchRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'cloudAccountId' is not null or undefined + if (cloudAccountId === null || cloudAccountId === undefined) { + throw new RequiredError("cloudAccountId", "updateCostAWSCURConfig"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateCostAWSCURConfig"); + } + + // Path Params + const localVarPath = + "/api/v2/cost/aws_cur_config/{cloud_account_id}".replace( + "{cloud_account_id}", + encodeURIComponent(String(cloudAccountId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.updateCostAWSCURConfig") + .makeRequestContext(localVarPath, HttpMethod.PATCH); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "AwsCURConfigPatchRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async updateCostAzureUCConfigs( + cloudAccountId: number, + body: AzureUCConfigPatchRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'cloudAccountId' is not null or undefined + if (cloudAccountId === null || cloudAccountId === undefined) { + throw new RequiredError("cloudAccountId", "updateCostAzureUCConfigs"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateCostAzureUCConfigs"); + } + + // Path Params + const localVarPath = + "/api/v2/cost/azure_uc_config/{cloud_account_id}".replace( + "{cloud_account_id}", + encodeURIComponent(String(cloudAccountId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.updateCostAzureUCConfigs") + .makeRequestContext(localVarPath, HttpMethod.PATCH); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "AzureUCConfigPatchRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async updateCostGCPUsageCostConfig( + cloudAccountId: number, + body: GCPUsageCostConfigPatchRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'cloudAccountId' is not null or undefined + if (cloudAccountId === null || cloudAccountId === undefined) { + throw new RequiredError("cloudAccountId", "updateCostGCPUsageCostConfig"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateCostGCPUsageCostConfig"); + } + + // Path Params + const localVarPath = + "/api/v2/cost/gcp_uc_config/{cloud_account_id}".replace( + "{cloud_account_id}", + encodeURIComponent(String(cloudAccountId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.updateCostGCPUsageCostConfig") + .makeRequestContext(localVarPath, HttpMethod.PATCH); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "GCPUsageCostConfigPatchRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async updateRuleset( + rulesetId: string, + body: UpdateRulesetRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'rulesetId' is not null or undefined + if (rulesetId === null || rulesetId === undefined) { + throw new RequiredError("rulesetId", "updateRuleset"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateRuleset"); + } + + // Path Params + const localVarPath = "/api/v2/tags/enrichment/{ruleset_id}".replace( + "{ruleset_id}", + encodeURIComponent(String(rulesetId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.updateRuleset") + .makeRequestContext(localVarPath, HttpMethod.PATCH); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "UpdateRulesetRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async uploadCustomCostsFile( + body: Array, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "uploadCustomCostsFile"); + } + + // Path Params + const localVarPath = "/api/v2/cost/custom_costs"; + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.uploadCustomCostsFile") + .makeRequestContext(localVarPath, HttpMethod.PUT); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "Array", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async upsertBudget( + body: BudgetWithEntries, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "upsertBudget"); + } + + // Path Params + const localVarPath = "/api/v2/cost/budget"; + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.upsertBudget") + .makeRequestContext(localVarPath, HttpMethod.PUT); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "BudgetWithEntries", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async validateQuery( + body: RulesValidateQueryRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "validateQuery"); + } + + // Path Params + const localVarPath = "/api/v2/tags/enrichment/validate-query"; + + // Make Request Context + const requestContext = _config + .getServer("v2.CloudCostManagementApi.validateQuery") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "RulesValidateQueryRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } +} + +export class CloudCostManagementApiResponseProcessor { + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to createArbitraryCostRule + * @throws ApiException if the response code was not in [200, 299] + */ + public async createArbitraryCostRule( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: ArbitraryRuleResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ArbitraryRuleResponse" + ) as ArbitraryRuleResponse; + return body; + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: ArbitraryRuleResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ArbitraryRuleResponse", + "" + ) as ArbitraryRuleResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to createCostAWSCURConfig + * @throws ApiException if the response code was not in [200, 299] + */ + public async createCostAWSCURConfig( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: AwsCurConfigResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AwsCurConfigResponse" + ) as AwsCurConfigResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: AwsCurConfigResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AwsCurConfigResponse", + "" + ) as AwsCurConfigResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to createCostAzureUCConfigs + * @throws ApiException if the response code was not in [200, 299] + */ + public async createCostAzureUCConfigs( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: AzureUCConfigPairsResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AzureUCConfigPairsResponse" + ) as AzureUCConfigPairsResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: AzureUCConfigPairsResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AzureUCConfigPairsResponse", + "" + ) as AzureUCConfigPairsResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to createCostGCPUsageCostConfig + * @throws ApiException if the response code was not in [200, 299] + */ + public async createCostGCPUsageCostConfig( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: GCPUsageCostConfigResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "GCPUsageCostConfigResponse" + ) as GCPUsageCostConfigResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: GCPUsageCostConfigResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "GCPUsageCostConfigResponse", + "" + ) as GCPUsageCostConfigResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to createRuleset + * @throws ApiException if the response code was not in [200, 299] + */ + public async createRuleset(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: RulesetResp = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "RulesetResp" + ) as RulesetResp; + return body; + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: RulesetResp = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "RulesetResp", + "" + ) as RulesetResp; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteArbitraryCostRule + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteArbitraryCostRule( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteBudget + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteBudget(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if (response.httpStatusCode === 400 || response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteCostAWSCURConfig + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteCostAWSCURConfig( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteCostAzureUCConfig + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteCostAzureUCConfig( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteCostGCPUsageCostConfig + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteCostGCPUsageCostConfig( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteCustomCostsFile + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteCustomCostsFile(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if ( + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteRuleset + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteRuleset(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getArbitraryCostRule + * @throws ApiException if the response code was not in [200, 299] + */ + public async getArbitraryCostRule( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: ArbitraryRuleResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ArbitraryRuleResponse" + ) as ArbitraryRuleResponse; + return body; + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: ArbitraryRuleResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ArbitraryRuleResponse", + "" + ) as ArbitraryRuleResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to createCostAWSCURConfig + * @params response Response returned by the server for a request to getBudget * @throws ApiException if the response code was not in [200, 299] */ - public async createCostAWSCURConfig( + public async getBudget( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: AwsCURConfigResponse = ObjectSerializer.deserialize( + const body: BudgetWithEntries = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "AwsCURConfigResponse" - ) as AwsCURConfigResponse; + "BudgetWithEntries" + ) as BudgetWithEntries; return body; } if ( response.httpStatusCode === 400 || - response.httpStatusCode === 403 || + response.httpStatusCode === 404 || response.httpStatusCode === 429 ) { const bodyText = ObjectSerializer.parse( @@ -850,11 +2175,11 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: AwsCURConfigResponse = ObjectSerializer.deserialize( + const body: BudgetWithEntries = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "AwsCURConfigResponse", + "BudgetWithEntries", "" - ) as AwsCURConfigResponse; + ) as BudgetWithEntries; return body; } @@ -869,27 +2194,23 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to createCostAzureUCConfigs + * @params response Response returned by the server for a request to getCostAWSCURConfig * @throws ApiException if the response code was not in [200, 299] */ - public async createCostAzureUCConfigs( + public async getCostAWSCURConfig( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: AzureUCConfigPairsResponse = ObjectSerializer.deserialize( + const body: AwsCurConfigResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "AzureUCConfigPairsResponse" - ) as AzureUCConfigPairsResponse; + "AwsCurConfigResponse" + ) as AwsCurConfigResponse; return body; } - if ( - response.httpStatusCode === 400 || - response.httpStatusCode === 403 || - response.httpStatusCode === 429 - ) { + if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( await response.body.text(), contentType @@ -912,11 +2233,11 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: AzureUCConfigPairsResponse = ObjectSerializer.deserialize( + const body: AwsCurConfigResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "AzureUCConfigPairsResponse", + "AwsCurConfigResponse", "" - ) as AzureUCConfigPairsResponse; + ) as AwsCurConfigResponse; return body; } @@ -931,27 +2252,23 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to createCostGCPUsageCostConfig + * @params response Response returned by the server for a request to getCostAzureUCConfig * @throws ApiException if the response code was not in [200, 299] */ - public async createCostGCPUsageCostConfig( + public async getCostAzureUCConfig( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: GCPUsageCostConfigResponse = ObjectSerializer.deserialize( + const body: UCConfigPair = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "GCPUsageCostConfigResponse" - ) as GCPUsageCostConfigResponse; + "UCConfigPair" + ) as UCConfigPair; return body; } - if ( - response.httpStatusCode === 400 || - response.httpStatusCode === 403 || - response.httpStatusCode === 429 - ) { + if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( await response.body.text(), contentType @@ -974,11 +2291,11 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: GCPUsageCostConfigResponse = ObjectSerializer.deserialize( + const body: UCConfigPair = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "GCPUsageCostConfigResponse", + "UCConfigPair", "" - ) as GCPUsageCostConfigResponse; + ) as UCConfigPair; return body; } @@ -993,17 +2310,23 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to deleteBudget + * @params response Response returned by the server for a request to getCostGCPUsageCostConfig * @throws ApiException if the response code was not in [200, 299] */ - public async deleteBudget(response: ResponseContext): Promise { + public async getCostGCPUsageCostConfig( + response: ResponseContext + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); - if (response.httpStatusCode === 204) { - return; + if (response.httpStatusCode === 200) { + const body: GcpUcConfigResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "GcpUcConfigResponse" + ) as GcpUcConfigResponse; + return body; } - if (response.httpStatusCode === 400 || response.httpStatusCode === 429) { + if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( await response.body.text(), contentType @@ -1026,7 +2349,12 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - return; + const body: GcpUcConfigResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "GcpUcConfigResponse", + "" + ) as GcpUcConfigResponse; + return body; } const body = (await response.body.text()) || ""; @@ -1040,20 +2368,24 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to deleteCostAWSCURConfig + * @params response Response returned by the server for a request to getCustomCostsFile * @throws ApiException if the response code was not in [200, 299] */ - public async deleteCostAWSCURConfig( + public async getCustomCostsFile( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); - if (response.httpStatusCode === 204) { - return; + if (response.httpStatusCode === 200) { + const body: CustomCostsFileGetResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "CustomCostsFileGetResponse" + ) as CustomCostsFileGetResponse; + return body; } if ( - response.httpStatusCode === 400 || + response.httpStatusCode === 403 || response.httpStatusCode === 404 || response.httpStatusCode === 429 ) { @@ -1079,7 +2411,12 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - return; + const body: CustomCostsFileGetResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "CustomCostsFileGetResponse", + "" + ) as CustomCostsFileGetResponse; + return body; } const body = (await response.body.text()) || ""; @@ -1093,23 +2430,21 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to deleteCostAzureUCConfig + * @params response Response returned by the server for a request to getRuleset * @throws ApiException if the response code was not in [200, 299] */ - public async deleteCostAzureUCConfig( - response: ResponseContext - ): Promise { + public async getRuleset(response: ResponseContext): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); - if (response.httpStatusCode === 204) { - return; + if (response.httpStatusCode === 200) { + const body: RulesetResp = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "RulesetResp" + ) as RulesetResp; + return body; } - if ( - response.httpStatusCode === 400 || - response.httpStatusCode === 404 || - response.httpStatusCode === 429 - ) { + if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( await response.body.text(), contentType @@ -1132,7 +2467,12 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - return; + const body: RulesetResp = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "RulesetResp", + "" + ) as RulesetResp; + return body; } const body = (await response.body.text()) || ""; @@ -1146,23 +2486,23 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to deleteCostGCPUsageCostConfig + * @params response Response returned by the server for a request to listArbitraryCostRules * @throws ApiException if the response code was not in [200, 299] */ - public async deleteCostGCPUsageCostConfig( + public async listArbitraryCostRules( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); - if (response.httpStatusCode === 204) { - return; + if (response.httpStatusCode === 200) { + const body: ArbitraryRuleResponseArray = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ArbitraryRuleResponseArray" + ) as ArbitraryRuleResponseArray; + return body; } - if ( - response.httpStatusCode === 400 || - response.httpStatusCode === 404 || - response.httpStatusCode === 429 - ) { + if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( await response.body.text(), contentType @@ -1185,7 +2525,12 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - return; + const body: ArbitraryRuleResponseArray = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ArbitraryRuleResponseArray", + "" + ) as ArbitraryRuleResponseArray; + return body; } const body = (await response.body.text()) || ""; @@ -1199,21 +2544,21 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to deleteCustomCostsFile + * @params response Response returned by the server for a request to listBudgets * @throws ApiException if the response code was not in [200, 299] */ - public async deleteCustomCostsFile(response: ResponseContext): Promise { + public async listBudgets(response: ResponseContext): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); - if (response.httpStatusCode === 204) { - return; + if (response.httpStatusCode === 200) { + const body: BudgetArray = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BudgetArray" + ) as BudgetArray; + return body; } - if ( - response.httpStatusCode === 403 || - response.httpStatusCode === 404 || - response.httpStatusCode === 429 - ) { + if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( await response.body.text(), contentType @@ -1236,7 +2581,12 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - return; + const body: BudgetArray = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BudgetArray", + "" + ) as BudgetArray; + return body; } const body = (await response.body.text()) || ""; @@ -1250,27 +2600,23 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getBudget + * @params response Response returned by the server for a request to listCostAWSCURConfigs * @throws ApiException if the response code was not in [200, 299] */ - public async getBudget( + public async listCostAWSCURConfigs( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: BudgetWithEntries = ObjectSerializer.deserialize( + const body: AwsCURConfigsResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BudgetWithEntries" - ) as BudgetWithEntries; + "AwsCURConfigsResponse" + ) as AwsCURConfigsResponse; return body; } - if ( - response.httpStatusCode === 400 || - response.httpStatusCode === 404 || - response.httpStatusCode === 429 - ) { + if (response.httpStatusCode === 403 || response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( await response.body.text(), contentType @@ -1293,11 +2639,11 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BudgetWithEntries = ObjectSerializer.deserialize( + const body: AwsCURConfigsResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BudgetWithEntries", + "AwsCURConfigsResponse", "" - ) as BudgetWithEntries; + ) as AwsCURConfigsResponse; return body; } @@ -1312,27 +2658,23 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getCustomCostsFile + * @params response Response returned by the server for a request to listCostAzureUCConfigs * @throws ApiException if the response code was not in [200, 299] */ - public async getCustomCostsFile( + public async listCostAzureUCConfigs( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: CustomCostsFileGetResponse = ObjectSerializer.deserialize( + const body: AzureUCConfigsResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "CustomCostsFileGetResponse" - ) as CustomCostsFileGetResponse; + "AzureUCConfigsResponse" + ) as AzureUCConfigsResponse; return body; } - if ( - response.httpStatusCode === 403 || - response.httpStatusCode === 404 || - response.httpStatusCode === 429 - ) { + if (response.httpStatusCode === 403 || response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( await response.body.text(), contentType @@ -1355,11 +2697,11 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: CustomCostsFileGetResponse = ObjectSerializer.deserialize( + const body: AzureUCConfigsResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "CustomCostsFileGetResponse", + "AzureUCConfigsResponse", "" - ) as CustomCostsFileGetResponse; + ) as AzureUCConfigsResponse; return body; } @@ -1374,21 +2716,85 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to listBudgets + * @params response Response returned by the server for a request to listCostGCPUsageCostConfigs * @throws ApiException if the response code was not in [200, 299] */ - public async listBudgets(response: ResponseContext): Promise { + public async listCostGCPUsageCostConfigs( + response: ResponseContext + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: BudgetArray = ObjectSerializer.deserialize( + const body: GCPUsageCostConfigsResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "GCPUsageCostConfigsResponse" + ) as GCPUsageCostConfigsResponse; + return body; + } + if (response.httpStatusCode === 403 || response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: GCPUsageCostConfigsResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "GCPUsageCostConfigsResponse", + "" + ) as GCPUsageCostConfigsResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to listCustomCostsFiles + * @throws ApiException if the response code was not in [200, 299] + */ + public async listCustomCostsFiles( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: CustomCostsFileListResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BudgetArray" - ) as BudgetArray; + "CustomCostsFileListResponse" + ) as CustomCostsFileListResponse; return body; } - if (response.httpStatusCode === 429) { + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 429 + ) { const bodyText = ObjectSerializer.parse( await response.body.text(), contentType @@ -1411,11 +2817,11 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BudgetArray = ObjectSerializer.deserialize( + const body: CustomCostsFileListResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BudgetArray", + "CustomCostsFileListResponse", "" - ) as BudgetArray; + ) as CustomCostsFileListResponse; return body; } @@ -1430,23 +2836,23 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to listCostAWSCURConfigs + * @params response Response returned by the server for a request to listRulesets * @throws ApiException if the response code was not in [200, 299] */ - public async listCostAWSCURConfigs( + public async listRulesets( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: AwsCURConfigsResponse = ObjectSerializer.deserialize( + const body: RulesetRespArray = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "AwsCURConfigsResponse" - ) as AwsCURConfigsResponse; + "RulesetRespArray" + ) as RulesetRespArray; return body; } - if (response.httpStatusCode === 403 || response.httpStatusCode === 429) { + if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( await response.body.text(), contentType @@ -1469,11 +2875,11 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: AwsCURConfigsResponse = ObjectSerializer.deserialize( + const body: RulesetRespArray = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "AwsCURConfigsResponse", + "RulesetRespArray", "" - ) as AwsCURConfigsResponse; + ) as RulesetRespArray; return body; } @@ -1488,23 +2894,19 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to listCostAzureUCConfigs + * @params response Response returned by the server for a request to reorderArbitraryCostRules * @throws ApiException if the response code was not in [200, 299] */ - public async listCostAzureUCConfigs( + public async reorderArbitraryCostRules( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); - if (response.httpStatusCode === 200) { - const body: AzureUCConfigsResponse = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "AzureUCConfigsResponse" - ) as AzureUCConfigsResponse; - return body; + if (response.httpStatusCode === 204) { + return; } - if (response.httpStatusCode === 403 || response.httpStatusCode === 429) { + if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( await response.body.text(), contentType @@ -1527,12 +2929,7 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: AzureUCConfigsResponse = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "AzureUCConfigsResponse", - "" - ) as AzureUCConfigsResponse; - return body; + return; } const body = (await response.body.text()) || ""; @@ -1546,23 +2943,17 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to listCostGCPUsageCostConfigs + * @params response Response returned by the server for a request to reorderRulesets * @throws ApiException if the response code was not in [200, 299] */ - public async listCostGCPUsageCostConfigs( - response: ResponseContext - ): Promise { + public async reorderRulesets(response: ResponseContext): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); - if (response.httpStatusCode === 200) { - const body: GCPUsageCostConfigsResponse = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "GCPUsageCostConfigsResponse" - ) as GCPUsageCostConfigsResponse; - return body; + if (response.httpStatusCode === 204) { + return; } - if (response.httpStatusCode === 403 || response.httpStatusCode === 429) { + if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( await response.body.text(), contentType @@ -1585,12 +2976,7 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: GCPUsageCostConfigsResponse = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "GCPUsageCostConfigsResponse", - "" - ) as GCPUsageCostConfigsResponse; - return body; + return; } const body = (await response.body.text()) || ""; @@ -1604,27 +2990,23 @@ export class CloudCostManagementApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to listCustomCostsFiles + * @params response Response returned by the server for a request to updateArbitraryCostRule * @throws ApiException if the response code was not in [200, 299] */ - public async listCustomCostsFiles( + public async updateArbitraryCostRule( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: CustomCostsFileListResponse = ObjectSerializer.deserialize( + const body: ArbitraryRuleResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "CustomCostsFileListResponse" - ) as CustomCostsFileListResponse; + "ArbitraryRuleResponse" + ) as ArbitraryRuleResponse; return body; } - if ( - response.httpStatusCode === 400 || - response.httpStatusCode === 403 || - response.httpStatusCode === 429 - ) { + if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( await response.body.text(), contentType @@ -1647,11 +3029,11 @@ export class CloudCostManagementApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: CustomCostsFileListResponse = ObjectSerializer.deserialize( + const body: ArbitraryRuleResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "CustomCostsFileListResponse", + "ArbitraryRuleResponse", "" - ) as CustomCostsFileListResponse; + ) as ArbitraryRuleResponse; return body; } @@ -1850,6 +3232,62 @@ export class CloudCostManagementApiResponseProcessor { ); } + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to updateRuleset + * @throws ApiException if the response code was not in [200, 299] + */ + public async updateRuleset(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: RulesetResp = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "RulesetResp" + ) as RulesetResp; + return body; + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: RulesetResp = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "RulesetResp", + "" + ) as RulesetResp; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects @@ -1973,6 +3411,71 @@ export class CloudCostManagementApiResponseProcessor { 'Unknown API Status Code!\nBody: "' + body + '"' ); } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to validateQuery + * @throws ApiException if the response code was not in [200, 299] + */ + public async validateQuery( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: RulesValidateQueryResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "RulesValidateQueryResponse" + ) as RulesValidateQueryResponse; + return body; + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: RulesValidateQueryResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "RulesValidateQueryResponse", + "" + ) as RulesValidateQueryResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } +} + +export interface CloudCostManagementApiCreateArbitraryCostRuleRequest { + /** + * @type ArbitraryCostUpsertRequest + */ + body: ArbitraryCostUpsertRequest; } export interface CloudCostManagementApiCreateCostAWSCURConfigRequest { @@ -1996,6 +3499,21 @@ export interface CloudCostManagementApiCreateCostGCPUsageCostConfigRequest { body: GCPUsageCostConfigPostRequest; } +export interface CloudCostManagementApiCreateRulesetRequest { + /** + * @type CreateRulesetRequest + */ + body: CreateRulesetRequest; +} + +export interface CloudCostManagementApiDeleteArbitraryCostRuleRequest { + /** + * The unique identifier of the arbitrary cost rule + * @type number + */ + ruleId: number; +} + export interface CloudCostManagementApiDeleteBudgetRequest { /** * Budget id. @@ -2036,6 +3554,22 @@ export interface CloudCostManagementApiDeleteCustomCostsFileRequest { fileId: string; } +export interface CloudCostManagementApiDeleteRulesetRequest { + /** + * The unique identifier of the ruleset + * @type string + */ + rulesetId: string; +} + +export interface CloudCostManagementApiGetArbitraryCostRuleRequest { + /** + * The unique identifier of the arbitrary cost rule + * @type number + */ + ruleId: number; +} + export interface CloudCostManagementApiGetBudgetRequest { /** * Budget id. @@ -2044,6 +3578,30 @@ export interface CloudCostManagementApiGetBudgetRequest { budgetId: string; } +export interface CloudCostManagementApiGetCostAWSCURConfigRequest { + /** + * The unique identifier of the cloud account + * @type number + */ + cloudAccountId: number; +} + +export interface CloudCostManagementApiGetCostAzureUCConfigRequest { + /** + * The unique identifier of the cloud account + * @type number + */ + cloudAccountId: number; +} + +export interface CloudCostManagementApiGetCostGCPUsageCostConfigRequest { + /** + * The unique identifier of the cloud account + * @type number + */ + cloudAccountId: number; +} + export interface CloudCostManagementApiGetCustomCostsFileRequest { /** * File ID. @@ -2052,6 +3610,14 @@ export interface CloudCostManagementApiGetCustomCostsFileRequest { fileId: string; } +export interface CloudCostManagementApiGetRulesetRequest { + /** + * The unique identifier of the ruleset + * @type string + */ + rulesetId: string; +} + export interface CloudCostManagementApiListCustomCostsFilesRequest { /** * Page number for pagination @@ -2075,6 +3641,32 @@ export interface CloudCostManagementApiListCustomCostsFilesRequest { sort?: string; } +export interface CloudCostManagementApiReorderArbitraryCostRulesRequest { + /** + * @type ReorderRuleResourceArray + */ + body: ReorderRuleResourceArray; +} + +export interface CloudCostManagementApiReorderRulesetsRequest { + /** + * @type ReorderRulesetResourceArray + */ + body: ReorderRulesetResourceArray; +} + +export interface CloudCostManagementApiUpdateArbitraryCostRuleRequest { + /** + * The unique identifier of the arbitrary cost rule + * @type number + */ + ruleId: number; + /** + * @type ArbitraryCostUpsertRequest + */ + body: ArbitraryCostUpsertRequest; +} + export interface CloudCostManagementApiUpdateCostAWSCURConfigRequest { /** * Cloud Account id. @@ -2111,6 +3703,18 @@ export interface CloudCostManagementApiUpdateCostGCPUsageCostConfigRequest { body: GCPUsageCostConfigPatchRequest; } +export interface CloudCostManagementApiUpdateRulesetRequest { + /** + * The unique identifier of the ruleset + * @type string + */ + rulesetId: string; + /** + * @type UpdateRulesetRequest + */ + body: UpdateRulesetRequest; +} + export interface CloudCostManagementApiUploadCustomCostsFileRequest { /** * @type Array @@ -2118,11 +3722,18 @@ export interface CloudCostManagementApiUploadCustomCostsFileRequest { body: Array; } -export interface CloudCostManagementApiUpsertBudgetRequest { +export interface CloudCostManagementApiUpsertBudgetRequest { + /** + * @type BudgetWithEntries + */ + body: BudgetWithEntries; +} + +export interface CloudCostManagementApiValidateQueryRequest { /** - * @type BudgetWithEntries + * @type RulesValidateQueryRequest */ - body: BudgetWithEntries; + body: RulesValidateQueryRequest; } export class CloudCostManagementApi { @@ -2142,6 +3753,41 @@ export class CloudCostManagementApi { responseProcessor || new CloudCostManagementApiResponseProcessor(); } + /** + * Create a new arbitrary cost rule with the specified filters and allocation strategy. + * + * **Strategy Methods:** + * - **PROPORTIONAL/EVEN**: Allocates costs proportionally/evenly based on existing costs. Requires: granularity, allocated_by_tag_keys. Optional: based_on_costs, allocated_by_filters, evaluate_grouped_by_tag_keys, evaluate_grouped_by_filters. + * - **PROPORTIONAL_TIMESERIES/EVEN_TIMESERIES**: Allocates based on timeseries data. Requires: granularity, based_on_timeseries. Optional: evaluate_grouped_by_tag_keys. + * - **PERCENT**: Allocates fixed percentages to specific tags. Requires: allocated_by (array of percentage allocations). + * + * **Filter Conditions:** + * - Use **value** for single-value conditions: "is", "is not", "contains", "does not contain", "=", "!=", "like", "not like", "is all values", "is untagged" + * - Use **values** for multi-value conditions: "in", "not in" + * - Cannot use both value and values simultaneously. + * + * **Supported operators**: is, is not, is all values, is untagged, contains, does not contain, in, not in, =, !=, like, not like + * @param param The request object + */ + public createArbitraryCostRule( + param: CloudCostManagementApiCreateArbitraryCostRuleRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.createArbitraryCostRule( + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.createArbitraryCostRule( + responseContext + ); + }); + }); + } + /** * Create a Cloud Cost Management account for an AWS CUR config. * @param param The request object @@ -2149,7 +3795,7 @@ export class CloudCostManagementApi { public createCostAWSCURConfig( param: CloudCostManagementApiCreateCostAWSCURConfigRequest, options?: Configuration - ): Promise { + ): Promise { const requestContextPromise = this.requestFactory.createCostAWSCURConfig( param.body, options @@ -2187,7 +3833,7 @@ export class CloudCostManagementApi { } /** - * Create a Cloud Cost Management account for an GCP Usage Cost config. + * Create a Cloud Cost Management account for an Google Cloud Usage Cost config. * @param param The request object */ public createCostGCPUsageCostConfig( @@ -2207,6 +3853,50 @@ export class CloudCostManagementApi { }); } + /** + * Create a new tag pipeline ruleset with the specified rules and configuration + * @param param The request object + */ + public createRuleset( + param: CloudCostManagementApiCreateRulesetRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.createRuleset( + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.createRuleset(responseContext); + }); + }); + } + + /** + * Delete an arbitrary cost rule - Delete an existing arbitrary cost rule by its ID + * @param param The request object + */ + public deleteArbitraryCostRule( + param: CloudCostManagementApiDeleteArbitraryCostRuleRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.deleteArbitraryCostRule( + param.ruleId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.deleteArbitraryCostRule( + responseContext + ); + }); + }); + } + /** * Delete a budget. * @param param The request object @@ -2317,6 +4007,48 @@ export class CloudCostManagementApi { }); } + /** + * Delete a tag pipeline ruleset - Delete an existing tag pipeline ruleset by its ID + * @param param The request object + */ + public deleteRuleset( + param: CloudCostManagementApiDeleteRulesetRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.deleteRuleset( + param.rulesetId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.deleteRuleset(responseContext); + }); + }); + } + + /** + * Get a specific arbitrary cost rule - Retrieve a specific arbitrary cost rule by its ID + * @param param The request object + */ + public getArbitraryCostRule( + param: CloudCostManagementApiGetArbitraryCostRuleRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.getArbitraryCostRule( + param.ruleId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getArbitraryCostRule(responseContext); + }); + }); + } + /** * Get a budget. * @param param The request object @@ -2338,6 +4070,71 @@ export class CloudCostManagementApi { }); } + /** + * Get a specific AWS CUR config. + * @param param The request object + */ + public getCostAWSCURConfig( + param: CloudCostManagementApiGetCostAWSCURConfigRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.getCostAWSCURConfig( + param.cloudAccountId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getCostAWSCURConfig(responseContext); + }); + }); + } + + /** + * Get a specific Azure config. + * @param param The request object + */ + public getCostAzureUCConfig( + param: CloudCostManagementApiGetCostAzureUCConfigRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.getCostAzureUCConfig( + param.cloudAccountId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getCostAzureUCConfig(responseContext); + }); + }); + } + + /** + * Get a specific Google Cloud Usage Cost config. + * @param param The request object + */ + public getCostGCPUsageCostConfig( + param: CloudCostManagementApiGetCostGCPUsageCostConfigRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.getCostGCPUsageCostConfig( + param.cloudAccountId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getCostGCPUsageCostConfig( + responseContext + ); + }); + }); + } + /** * Fetch the specified Custom Costs file. * @param param The request object @@ -2359,6 +4156,45 @@ export class CloudCostManagementApi { }); } + /** + * Get a specific tag pipeline ruleset - Retrieve a specific tag pipeline ruleset by its ID + * @param param The request object + */ + public getRuleset( + param: CloudCostManagementApiGetRulesetRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.getRuleset( + param.rulesetId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getRuleset(responseContext); + }); + }); + } + + /** + * List all arbitrary cost rules - Retrieve a list of all arbitrary cost rules for the organization + * @param param The request object + */ + public listArbitraryCostRules( + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.listArbitraryCostRules(options); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.listArbitraryCostRules(responseContext); + }); + }); + } + /** * List budgets. * @param param The request object @@ -2411,7 +4247,7 @@ export class CloudCostManagementApi { } /** - * List the GCP Usage Cost configs. + * List the Google Cloud Usage Cost configs. * @param param The request object */ public listCostGCPUsageCostConfigs( @@ -2454,6 +4290,108 @@ export class CloudCostManagementApi { }); } + /** + * List all tag pipeline rulesets - Retrieve a list of all tag pipeline rulesets for the organization + * @param param The request object + */ + public listRulesets(options?: Configuration): Promise { + const requestContextPromise = this.requestFactory.listRulesets(options); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.listRulesets(responseContext); + }); + }); + } + + /** + * Reorder arbitrary cost rules - Change the execution order of arbitrary cost rules. + * + * **Important**: You must provide the **complete list** of all rule IDs in the desired execution order. The API will reorder ALL rules according to the provided sequence. + * + * Rules are executed in the order specified, with lower indices (earlier in the array) having higher priority. + * + * **Example**: If you have rules with IDs [123, 456, 789] and want to change order from 123→456→789 to 456→123→789, send: [{"id": "456"}, {"id": "123"}, {"id": "789"}] + * @param param The request object + */ + public reorderArbitraryCostRules( + param: CloudCostManagementApiReorderArbitraryCostRulesRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.reorderArbitraryCostRules( + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.reorderArbitraryCostRules( + responseContext + ); + }); + }); + } + + /** + * Reorder tag pipeline rulesets - Change the execution order of tag pipeline rulesets + * @param param The request object + */ + public reorderRulesets( + param: CloudCostManagementApiReorderRulesetsRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.reorderRulesets( + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.reorderRulesets(responseContext); + }); + }); + } + + /** + * Update an existing arbitrary cost rule with new filters and allocation strategy. + * + * **Strategy Methods:** + * - **PROPORTIONAL/EVEN**: Allocates costs proportionally/evenly based on existing costs. Requires: granularity, allocated_by_tag_keys. Optional: based_on_costs, allocated_by_filters, evaluate_grouped_by_tag_keys, evaluate_grouped_by_filters. + * - **PROPORTIONAL_TIMESERIES/EVEN_TIMESERIES**: Allocates based on timeseries data. Requires: granularity, based_on_timeseries. Optional: evaluate_grouped_by_tag_keys. + * - **PERCENT**: Allocates fixed percentages to specific tags. Requires: allocated_by (array of percentage allocations). + * - **USAGE_METRIC**: Allocates based on usage metrics (implementation varies). + * + * **Filter Conditions:** + * - Use **value** for single-value conditions: "is", "is not", "contains", "does not contain", "=", "!=", "like", "not like", "is all values", "is untagged" + * - Use **values** for multi-value conditions: "in", "not in" + * - Cannot use both value and values simultaneously. + * + * **Supported operators**: is, is not, is all values, is untagged, contains, does not contain, in, not in, =, !=, like, not like + * @param param The request object + */ + public updateArbitraryCostRule( + param: CloudCostManagementApiUpdateArbitraryCostRuleRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.updateArbitraryCostRule( + param.ruleId, + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.updateArbitraryCostRule( + responseContext + ); + }); + }); + } + /** * Update the status (active/archived) and/or account filtering configuration of an AWS CUR config. * @param param The request object @@ -2501,7 +4439,7 @@ export class CloudCostManagementApi { } /** - * Update the status of an GCP Usage Cost config (active/archived). + * Update the status of an Google Cloud Usage Cost config (active/archived). * @param param The request object */ public updateCostGCPUsageCostConfig( @@ -2525,6 +4463,28 @@ export class CloudCostManagementApi { }); } + /** + * Update a tag pipeline ruleset - Update an existing tag pipeline ruleset with new rules and configuration + * @param param The request object + */ + public updateRuleset( + param: CloudCostManagementApiUpdateRulesetRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.updateRuleset( + param.rulesetId, + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.updateRuleset(responseContext); + }); + }); + } + /** * Upload a Custom Costs file. * @param param The request object @@ -2566,4 +4526,25 @@ export class CloudCostManagementApi { }); }); } + + /** + * Validate a tag pipeline query - Validate the syntax and structure of a tag pipeline query + * @param param The request object + */ + public validateQuery( + param: CloudCostManagementApiValidateQueryRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.validateQuery( + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.validateQuery(responseContext); + }); + }); + } } diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index 1eb4bc157e5d..f9e2ce36b98e 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -158,22 +158,36 @@ export { } from "./apis/CaseManagementApi"; export { + CloudCostManagementApiCreateArbitraryCostRuleRequest, CloudCostManagementApiCreateCostAWSCURConfigRequest, CloudCostManagementApiCreateCostAzureUCConfigsRequest, CloudCostManagementApiCreateCostGCPUsageCostConfigRequest, + CloudCostManagementApiCreateRulesetRequest, + CloudCostManagementApiDeleteArbitraryCostRuleRequest, CloudCostManagementApiDeleteBudgetRequest, CloudCostManagementApiDeleteCostAWSCURConfigRequest, CloudCostManagementApiDeleteCostAzureUCConfigRequest, CloudCostManagementApiDeleteCostGCPUsageCostConfigRequest, CloudCostManagementApiDeleteCustomCostsFileRequest, + CloudCostManagementApiDeleteRulesetRequest, + CloudCostManagementApiGetArbitraryCostRuleRequest, CloudCostManagementApiGetBudgetRequest, + CloudCostManagementApiGetCostAWSCURConfigRequest, + CloudCostManagementApiGetCostAzureUCConfigRequest, + CloudCostManagementApiGetCostGCPUsageCostConfigRequest, CloudCostManagementApiGetCustomCostsFileRequest, + CloudCostManagementApiGetRulesetRequest, CloudCostManagementApiListCustomCostsFilesRequest, + CloudCostManagementApiReorderArbitraryCostRulesRequest, + CloudCostManagementApiReorderRulesetsRequest, + CloudCostManagementApiUpdateArbitraryCostRuleRequest, CloudCostManagementApiUpdateCostAWSCURConfigRequest, CloudCostManagementApiUpdateCostAzureUCConfigsRequest, CloudCostManagementApiUpdateCostGCPUsageCostConfigRequest, + CloudCostManagementApiUpdateRulesetRequest, CloudCostManagementApiUploadCustomCostsFileRequest, CloudCostManagementApiUpsertBudgetRequest, + CloudCostManagementApiValidateQueryRequest, CloudCostManagementApi, } from "./apis/CloudCostManagementApi"; @@ -952,6 +966,29 @@ export { AppMeta } from "./models/AppMeta"; export { AppRelationship } from "./models/AppRelationship"; export { AppsSortField } from "./models/AppsSortField"; export { AppTriggerWrapper } from "./models/AppTriggerWrapper"; +export { ArbitraryCostUpsertRequest } from "./models/ArbitraryCostUpsertRequest"; +export { ArbitraryCostUpsertRequestData } from "./models/ArbitraryCostUpsertRequestData"; +export { ArbitraryCostUpsertRequestDataAttributes } from "./models/ArbitraryCostUpsertRequestDataAttributes"; +export { ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems } from "./models/ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems"; +export { ArbitraryCostUpsertRequestDataAttributesStrategy } from "./models/ArbitraryCostUpsertRequestDataAttributesStrategy"; +export { ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems } from "./models/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems"; +export { ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems } from "./models/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems"; +export { ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems } from "./models/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems"; +export { ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems } from "./models/ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems"; +export { ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems } from "./models/ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems"; +export { ArbitraryCostUpsertRequestDataType } from "./models/ArbitraryCostUpsertRequestDataType"; +export { ArbitraryRuleResponse } from "./models/ArbitraryRuleResponse"; +export { ArbitraryRuleResponseArray } from "./models/ArbitraryRuleResponseArray"; +export { ArbitraryRuleResponseData } from "./models/ArbitraryRuleResponseData"; +export { ArbitraryRuleResponseDataAttributes } from "./models/ArbitraryRuleResponseDataAttributes"; +export { ArbitraryRuleResponseDataAttributesCostsToAllocateItems } from "./models/ArbitraryRuleResponseDataAttributesCostsToAllocateItems"; +export { ArbitraryRuleResponseDataAttributesStrategy } from "./models/ArbitraryRuleResponseDataAttributesStrategy"; +export { ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems } from "./models/ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems"; +export { ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems } from "./models/ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems"; +export { ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems } from "./models/ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems"; +export { ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems } from "./models/ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems"; +export { ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems } from "./models/ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems"; +export { ArbitraryRuleResponseDataType } from "./models/ArbitraryRuleResponseDataType"; export { AsanaAccessToken } from "./models/AsanaAccessToken"; export { AsanaAccessTokenType } from "./models/AsanaAccessTokenType"; export { AsanaAccessTokenUpdate } from "./models/AsanaAccessTokenUpdate"; @@ -1032,7 +1069,11 @@ export { AwsCURConfigPostData } from "./models/AwsCURConfigPostData"; export { AwsCURConfigPostRequest } from "./models/AwsCURConfigPostRequest"; export { AwsCURConfigPostRequestAttributes } from "./models/AwsCURConfigPostRequestAttributes"; export { AwsCURConfigPostRequestType } from "./models/AwsCURConfigPostRequestType"; -export { AwsCURConfigResponse } from "./models/AwsCURConfigResponse"; +export { AwsCurConfigResponse } from "./models/AwsCurConfigResponse"; +export { AwsCurConfigResponseData } from "./models/AwsCurConfigResponseData"; +export { AwsCurConfigResponseDataAttributes } from "./models/AwsCurConfigResponseDataAttributes"; +export { AwsCurConfigResponseDataAttributesAccountFilters } from "./models/AwsCurConfigResponseDataAttributesAccountFilters"; +export { AwsCurConfigResponseDataType } from "./models/AwsCurConfigResponseDataType"; export { AwsCURConfigsResponse } from "./models/AwsCURConfigsResponse"; export { AwsCURConfigType } from "./models/AwsCURConfigType"; export { AWSIntegration } from "./models/AWSIntegration"; @@ -1460,6 +1501,16 @@ export { CreateRuleRequest } from "./models/CreateRuleRequest"; export { CreateRuleRequestData } from "./models/CreateRuleRequestData"; export { CreateRuleResponse } from "./models/CreateRuleResponse"; export { CreateRuleResponseData } from "./models/CreateRuleResponseData"; +export { CreateRulesetRequest } from "./models/CreateRulesetRequest"; +export { CreateRulesetRequestData } from "./models/CreateRulesetRequestData"; +export { CreateRulesetRequestDataAttributes } from "./models/CreateRulesetRequestDataAttributes"; +export { CreateRulesetRequestDataAttributesRulesItems } from "./models/CreateRulesetRequestDataAttributesRulesItems"; +export { CreateRulesetRequestDataAttributesRulesItemsMapping } from "./models/CreateRulesetRequestDataAttributesRulesItemsMapping"; +export { CreateRulesetRequestDataAttributesRulesItemsQuery } from "./models/CreateRulesetRequestDataAttributesRulesItemsQuery"; +export { CreateRulesetRequestDataAttributesRulesItemsQueryAddition } from "./models/CreateRulesetRequestDataAttributesRulesItemsQueryAddition"; +export { CreateRulesetRequestDataAttributesRulesItemsReferenceTable } from "./models/CreateRulesetRequestDataAttributesRulesItemsReferenceTable"; +export { CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems } from "./models/CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems"; +export { CreateRulesetRequestDataType } from "./models/CreateRulesetRequestDataType"; export { CreateWorkflowRequest } from "./models/CreateWorkflowRequest"; export { CreateWorkflowResponse } from "./models/CreateWorkflowResponse"; export { Creator } from "./models/Creator"; @@ -1912,6 +1963,10 @@ export { GCPSTSServiceAccountResponse } from "./models/GCPSTSServiceAccountRespo export { GCPSTSServiceAccountsResponse } from "./models/GCPSTSServiceAccountsResponse"; export { GCPSTSServiceAccountUpdateRequest } from "./models/GCPSTSServiceAccountUpdateRequest"; export { GCPSTSServiceAccountUpdateRequestData } from "./models/GCPSTSServiceAccountUpdateRequestData"; +export { GcpUcConfigResponse } from "./models/GcpUcConfigResponse"; +export { GcpUcConfigResponseData } from "./models/GcpUcConfigResponseData"; +export { GcpUcConfigResponseDataAttributes } from "./models/GcpUcConfigResponseDataAttributes"; +export { GcpUcConfigResponseDataType } from "./models/GcpUcConfigResponseDataType"; export { GCPUsageCostConfig } from "./models/GCPUsageCostConfig"; export { GCPUsageCostConfigAttributes } from "./models/GCPUsageCostConfigAttributes"; export { GCPUsageCostConfigPatchData } from "./models/GCPUsageCostConfigPatchData"; @@ -3054,6 +3109,12 @@ export { RelationToEntity } from "./models/RelationToEntity"; export { RelationType } from "./models/RelationType"; export { Remediation } from "./models/Remediation"; export { ReorderRetentionFiltersRequest } from "./models/ReorderRetentionFiltersRequest"; +export { ReorderRuleResourceArray } from "./models/ReorderRuleResourceArray"; +export { ReorderRuleResourceData } from "./models/ReorderRuleResourceData"; +export { ReorderRuleResourceDataType } from "./models/ReorderRuleResourceDataType"; +export { ReorderRulesetResourceArray } from "./models/ReorderRulesetResourceArray"; +export { ReorderRulesetResourceData } from "./models/ReorderRulesetResourceData"; +export { ReorderRulesetResourceDataType } from "./models/ReorderRulesetResourceDataType"; export { ResourceFilterAttributes } from "./models/ResourceFilterAttributes"; export { ResourceFilterRequestType } from "./models/ResourceFilterRequestType"; export { ResponseMetaAttributes } from "./models/ResponseMetaAttributes"; @@ -3113,7 +3174,28 @@ export { RoutingRuleRelationshipsPolicyDataType } from "./models/RoutingRuleRela export { RoutingRuleType } from "./models/RoutingRuleType"; export { RuleAttributes } from "./models/RuleAttributes"; export { RuleOutcomeRelationships } from "./models/RuleOutcomeRelationships"; +export { RulesetResp } from "./models/RulesetResp"; +export { RulesetRespArray } from "./models/RulesetRespArray"; +export { RulesetRespData } from "./models/RulesetRespData"; +export { RulesetRespDataAttributes } from "./models/RulesetRespDataAttributes"; +export { RulesetRespDataAttributesCreated } from "./models/RulesetRespDataAttributesCreated"; +export { RulesetRespDataAttributesModified } from "./models/RulesetRespDataAttributesModified"; +export { RulesetRespDataAttributesRulesItems } from "./models/RulesetRespDataAttributesRulesItems"; +export { RulesetRespDataAttributesRulesItemsMapping } from "./models/RulesetRespDataAttributesRulesItemsMapping"; +export { RulesetRespDataAttributesRulesItemsQuery } from "./models/RulesetRespDataAttributesRulesItemsQuery"; +export { RulesetRespDataAttributesRulesItemsQueryAddition } from "./models/RulesetRespDataAttributesRulesItemsQueryAddition"; +export { RulesetRespDataAttributesRulesItemsReferenceTable } from "./models/RulesetRespDataAttributesRulesItemsReferenceTable"; +export { RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems } from "./models/RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems"; +export { RulesetRespDataType } from "./models/RulesetRespDataType"; export { RuleSeverity } from "./models/RuleSeverity"; +export { RulesValidateQueryRequest } from "./models/RulesValidateQueryRequest"; +export { RulesValidateQueryRequestData } from "./models/RulesValidateQueryRequestData"; +export { RulesValidateQueryRequestDataAttributes } from "./models/RulesValidateQueryRequestDataAttributes"; +export { RulesValidateQueryRequestDataType } from "./models/RulesValidateQueryRequestDataType"; +export { RulesValidateQueryResponse } from "./models/RulesValidateQueryResponse"; +export { RulesValidateQueryResponseData } from "./models/RulesValidateQueryResponseData"; +export { RulesValidateQueryResponseDataAttributes } from "./models/RulesValidateQueryResponseDataAttributes"; +export { RulesValidateQueryResponseDataType } from "./models/RulesValidateQueryResponseDataType"; export { RuleType } from "./models/RuleType"; export { RuleTypesItems } from "./models/RuleTypesItems"; export { RuleUser } from "./models/RuleUser"; @@ -3735,6 +3817,11 @@ export { TokenType } from "./models/TokenType"; export { Trigger } from "./models/Trigger"; export { TriggerRateLimit } from "./models/TriggerRateLimit"; export { TriggerSource } from "./models/TriggerSource"; +export { UCConfigPair } from "./models/UCConfigPair"; +export { UCConfigPairData } from "./models/UCConfigPairData"; +export { UCConfigPairDataAttributes } from "./models/UCConfigPairDataAttributes"; +export { UCConfigPairDataAttributesConfigsItems } from "./models/UCConfigPairDataAttributesConfigsItems"; +export { UCConfigPairDataType } from "./models/UCConfigPairDataType"; export { Unit } from "./models/Unit"; export { UnpublishAppResponse } from "./models/UnpublishAppResponse"; export { UpdateActionConnectionRequest } from "./models/UpdateActionConnectionRequest"; @@ -3771,6 +3858,16 @@ export { UpdateRuleRequest } from "./models/UpdateRuleRequest"; export { UpdateRuleRequestData } from "./models/UpdateRuleRequestData"; export { UpdateRuleResponse } from "./models/UpdateRuleResponse"; export { UpdateRuleResponseData } from "./models/UpdateRuleResponseData"; +export { UpdateRulesetRequest } from "./models/UpdateRulesetRequest"; +export { UpdateRulesetRequestData } from "./models/UpdateRulesetRequestData"; +export { UpdateRulesetRequestDataAttributes } from "./models/UpdateRulesetRequestDataAttributes"; +export { UpdateRulesetRequestDataAttributesRulesItems } from "./models/UpdateRulesetRequestDataAttributesRulesItems"; +export { UpdateRulesetRequestDataAttributesRulesItemsMapping } from "./models/UpdateRulesetRequestDataAttributesRulesItemsMapping"; +export { UpdateRulesetRequestDataAttributesRulesItemsQuery } from "./models/UpdateRulesetRequestDataAttributesRulesItemsQuery"; +export { UpdateRulesetRequestDataAttributesRulesItemsQueryAddition } from "./models/UpdateRulesetRequestDataAttributesRulesItemsQueryAddition"; +export { UpdateRulesetRequestDataAttributesRulesItemsReferenceTable } from "./models/UpdateRulesetRequestDataAttributesRulesItemsReferenceTable"; +export { UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems } from "./models/UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems"; +export { UpdateRulesetRequestDataType } from "./models/UpdateRulesetRequestDataType"; export { UpdateWorkflowRequest } from "./models/UpdateWorkflowRequest"; export { UpdateWorkflowResponse } from "./models/UpdateWorkflowResponse"; export { UpsertCatalogEntityRequest } from "./models/UpsertCatalogEntityRequest"; diff --git a/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequest.ts b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequest.ts new file mode 100644 index 000000000000..cb552c949255 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequest.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ArbitraryCostUpsertRequestData } from "./ArbitraryCostUpsertRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryCostUpsertRequest` object. + */ +export class ArbitraryCostUpsertRequest { + /** + * The definition of `ArbitraryCostUpsertRequestData` object. + */ + "data"?: ArbitraryCostUpsertRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "ArbitraryCostUpsertRequestData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryCostUpsertRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestData.ts b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestData.ts new file mode 100644 index 000000000000..c1bdb906df21 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ArbitraryCostUpsertRequestDataAttributes } from "./ArbitraryCostUpsertRequestDataAttributes"; +import { ArbitraryCostUpsertRequestDataType } from "./ArbitraryCostUpsertRequestDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryCostUpsertRequestData` object. + */ +export class ArbitraryCostUpsertRequestData { + /** + * The definition of `ArbitraryCostUpsertRequestDataAttributes` object. + */ + "attributes"?: ArbitraryCostUpsertRequestDataAttributes; + /** + * The `ArbitraryCostUpsertRequestData` `id`. + */ + "id"?: string; + /** + * Upsert arbitrary rule resource type. + */ + "type": ArbitraryCostUpsertRequestDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "ArbitraryCostUpsertRequestDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "ArbitraryCostUpsertRequestDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryCostUpsertRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributes.ts b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributes.ts new file mode 100644 index 000000000000..37574856f81e --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributes.ts @@ -0,0 +1,116 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems } from "./ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems"; +import { ArbitraryCostUpsertRequestDataAttributesStrategy } from "./ArbitraryCostUpsertRequestDataAttributesStrategy"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryCostUpsertRequestDataAttributes` object. + */ +export class ArbitraryCostUpsertRequestDataAttributes { + /** + * The `attributes` `costs_to_allocate`. + */ + "costsToAllocate": Array; + /** + * The `attributes` `enabled`. + */ + "enabled"?: boolean; + /** + * The `attributes` `order_id`. + */ + "orderId"?: number; + /** + * The `attributes` `provider`. + */ + "provider": Array; + /** + * The `attributes` `rejected`. + */ + "rejected"?: boolean; + /** + * The `attributes` `rule_name`. + */ + "ruleName": string; + /** + * The definition of `ArbitraryCostUpsertRequestDataAttributesStrategy` object. + */ + "strategy": ArbitraryCostUpsertRequestDataAttributesStrategy; + /** + * The `attributes` `type`. + */ + "type": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + costsToAllocate: { + baseName: "costs_to_allocate", + type: "Array", + required: true, + }, + enabled: { + baseName: "enabled", + type: "boolean", + }, + orderId: { + baseName: "order_id", + type: "number", + format: "int64", + }, + provider: { + baseName: "provider", + type: "Array", + required: true, + }, + rejected: { + baseName: "rejected", + type: "boolean", + }, + ruleName: { + baseName: "rule_name", + type: "string", + required: true, + }, + strategy: { + baseName: "strategy", + type: "ArbitraryCostUpsertRequestDataAttributesStrategy", + required: true, + }, + type: { + baseName: "type", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryCostUpsertRequestDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems.ts b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems.ts new file mode 100644 index 000000000000..5ec7f0ff8e0c --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems.ts @@ -0,0 +1,78 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems` object. + */ +export class ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems { + /** + * The `items` `condition`. + */ + "condition": string; + /** + * The `items` `tag`. + */ + "tag": string; + /** + * The `items` `value`. + */ + "value"?: string; + /** + * The `items` `values`. + */ + "values"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + condition: { + baseName: "condition", + type: "string", + required: true, + }, + tag: { + baseName: "tag", + type: "string", + required: true, + }, + value: { + baseName: "value", + type: "string", + }, + values: { + baseName: "values", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategy.ts b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategy.ts new file mode 100644 index 000000000000..2ee747bbe2f7 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategy.ts @@ -0,0 +1,121 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems } from "./ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems"; +import { ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems } from "./ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems"; +import { ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems } from "./ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems"; +import { ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems } from "./ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryCostUpsertRequestDataAttributesStrategy` object. + */ +export class ArbitraryCostUpsertRequestDataAttributesStrategy { + /** + * The `strategy` `allocated_by`. + */ + "allocatedBy"?: Array; + /** + * The `strategy` `allocated_by_filters`. + */ + "allocatedByFilters"?: Array; + /** + * The `strategy` `allocated_by_tag_keys`. + */ + "allocatedByTagKeys"?: Array; + /** + * The `strategy` `based_on_costs`. + */ + "basedOnCosts"?: Array; + /** + * The `strategy` `based_on_timeseries`. + */ + "basedOnTimeseries"?: { [key: string]: any }; + /** + * The `strategy` `evaluate_grouped_by_filters`. + */ + "evaluateGroupedByFilters"?: Array; + /** + * The `strategy` `evaluate_grouped_by_tag_keys`. + */ + "evaluateGroupedByTagKeys"?: Array; + /** + * The `strategy` `granularity`. + */ + "granularity"?: string; + /** + * The `strategy` `method`. + */ + "method": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + allocatedBy: { + baseName: "allocated_by", + type: "Array", + }, + allocatedByFilters: { + baseName: "allocated_by_filters", + type: "Array", + }, + allocatedByTagKeys: { + baseName: "allocated_by_tag_keys", + type: "Array", + }, + basedOnCosts: { + baseName: "based_on_costs", + type: "Array", + }, + basedOnTimeseries: { + baseName: "based_on_timeseries", + type: "{ [key: string]: any; }", + }, + evaluateGroupedByFilters: { + baseName: "evaluate_grouped_by_filters", + type: "Array", + }, + evaluateGroupedByTagKeys: { + baseName: "evaluate_grouped_by_tag_keys", + type: "Array", + }, + granularity: { + baseName: "granularity", + type: "string", + }, + method: { + baseName: "method", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryCostUpsertRequestDataAttributesStrategy.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems.ts b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems.ts new file mode 100644 index 000000000000..e7de9230523d --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems.ts @@ -0,0 +1,78 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems` object. + */ +export class ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems { + /** + * The `items` `condition`. + */ + "condition": string; + /** + * The `items` `tag`. + */ + "tag": string; + /** + * The `items` `value`. + */ + "value"?: string; + /** + * The `items` `values`. + */ + "values"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + condition: { + baseName: "condition", + type: "string", + required: true, + }, + tag: { + baseName: "tag", + type: "string", + required: true, + }, + value: { + baseName: "value", + type: "string", + }, + values: { + baseName: "values", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems.ts b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems.ts new file mode 100644 index 000000000000..fd20fe984fb1 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems.ts @@ -0,0 +1,64 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems } from "./ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems` object. + */ +export class ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems { + /** + * The `items` `allocated_tags`. + */ + "allocatedTags": Array; + /** + * The `items` `percentage`. The numeric value format should be a 32bit float value. + */ + "percentage": number; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + allocatedTags: { + baseName: "allocated_tags", + type: "Array", + required: true, + }, + percentage: { + baseName: "percentage", + type: "number", + required: true, + format: "double", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems.ts b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems.ts new file mode 100644 index 000000000000..169b82e280f1 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems` object. + */ +export class ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems { + /** + * The `items` `key`. + */ + "key": string; + /** + * The `items` `value`. + */ + "value": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + key: { + baseName: "key", + type: "string", + required: true, + }, + value: { + baseName: "value", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems.ts b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems.ts new file mode 100644 index 000000000000..017a68e427aa --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems.ts @@ -0,0 +1,78 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems` object. + */ +export class ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems { + /** + * The `items` `condition`. + */ + "condition": string; + /** + * The `items` `tag`. + */ + "tag": string; + /** + * The `items` `value`. + */ + "value"?: string; + /** + * The `items` `values`. + */ + "values"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + condition: { + baseName: "condition", + type: "string", + required: true, + }, + tag: { + baseName: "tag", + type: "string", + required: true, + }, + value: { + baseName: "value", + type: "string", + }, + values: { + baseName: "values", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems.ts b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems.ts new file mode 100644 index 000000000000..9fcf4f1dbf3b --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems.ts @@ -0,0 +1,78 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems` object. + */ +export class ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems { + /** + * The `items` `condition`. + */ + "condition": string; + /** + * The `items` `tag`. + */ + "tag": string; + /** + * The `items` `value`. + */ + "value"?: string; + /** + * The `items` `values`. + */ + "values"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + condition: { + baseName: "condition", + type: "string", + required: true, + }, + tag: { + baseName: "tag", + type: "string", + required: true, + }, + value: { + baseName: "value", + type: "string", + }, + values: { + baseName: "values", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataType.ts b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataType.ts new file mode 100644 index 000000000000..2c9e2670f7d8 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryCostUpsertRequestDataType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Upsert arbitrary rule resource type. + */ + +export type ArbitraryCostUpsertRequestDataType = + | typeof UPSERT_ARBITRARY_RULE + | UnparsedObject; +export const UPSERT_ARBITRARY_RULE = "upsert_arbitrary_rule"; diff --git a/packages/datadog-api-client-v2/models/ArbitraryRuleResponse.ts b/packages/datadog-api-client-v2/models/ArbitraryRuleResponse.ts new file mode 100644 index 000000000000..93cd611098b6 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryRuleResponse.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ArbitraryRuleResponseData } from "./ArbitraryRuleResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryRuleResponse` object. + */ +export class ArbitraryRuleResponse { + /** + * The definition of `ArbitraryRuleResponseData` object. + */ + "data"?: ArbitraryRuleResponseData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "ArbitraryRuleResponseData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryRuleResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryRuleResponseArray.ts b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseArray.ts new file mode 100644 index 000000000000..1f110b427386 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseArray.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ArbitraryRuleResponseData } from "./ArbitraryRuleResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryRuleResponseArray` object. + */ +export class ArbitraryRuleResponseArray { + /** + * The `ArbitraryRuleResponseArray` `data`. + */ + "data": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryRuleResponseArray.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryRuleResponseData.ts b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseData.ts new file mode 100644 index 000000000000..95c0b613c4ae --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ArbitraryRuleResponseDataAttributes } from "./ArbitraryRuleResponseDataAttributes"; +import { ArbitraryRuleResponseDataType } from "./ArbitraryRuleResponseDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryRuleResponseData` object. + */ +export class ArbitraryRuleResponseData { + /** + * The definition of `ArbitraryRuleResponseDataAttributes` object. + */ + "attributes"?: ArbitraryRuleResponseDataAttributes; + /** + * The `ArbitraryRuleResponseData` `id`. + */ + "id"?: string; + /** + * Arbitrary rule resource type. + */ + "type": ArbitraryRuleResponseDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "ArbitraryRuleResponseDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "ArbitraryRuleResponseDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryRuleResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributes.ts b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributes.ts new file mode 100644 index 000000000000..86acfe37a598 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributes.ts @@ -0,0 +1,157 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ArbitraryRuleResponseDataAttributesCostsToAllocateItems } from "./ArbitraryRuleResponseDataAttributesCostsToAllocateItems"; +import { ArbitraryRuleResponseDataAttributesStrategy } from "./ArbitraryRuleResponseDataAttributesStrategy"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryRuleResponseDataAttributes` object. + */ +export class ArbitraryRuleResponseDataAttributes { + /** + * The `attributes` `costs_to_allocate`. + */ + "costsToAllocate": Array; + /** + * The `attributes` `created`. + */ + "created": Date; + /** + * The `attributes` `enabled`. + */ + "enabled": boolean; + /** + * The `attributes` `last_modified_user_uuid`. + */ + "lastModifiedUserUuid": string; + /** + * The `attributes` `order_id`. + */ + "orderId": number; + /** + * The `attributes` `provider`. + */ + "provider": Array; + /** + * The `attributes` `rejected`. + */ + "rejected"?: boolean; + /** + * The `attributes` `rule_name`. + */ + "ruleName": string; + /** + * The definition of `ArbitraryRuleResponseDataAttributesStrategy` object. + */ + "strategy": ArbitraryRuleResponseDataAttributesStrategy; + /** + * The `attributes` `type`. + */ + "type": string; + /** + * The `attributes` `updated`. + */ + "updated": Date; + /** + * The `attributes` `version`. + */ + "version": number; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + costsToAllocate: { + baseName: "costs_to_allocate", + type: "Array", + required: true, + }, + created: { + baseName: "created", + type: "Date", + required: true, + format: "date-time", + }, + enabled: { + baseName: "enabled", + type: "boolean", + required: true, + }, + lastModifiedUserUuid: { + baseName: "last_modified_user_uuid", + type: "string", + required: true, + }, + orderId: { + baseName: "order_id", + type: "number", + required: true, + format: "int64", + }, + provider: { + baseName: "provider", + type: "Array", + required: true, + }, + rejected: { + baseName: "rejected", + type: "boolean", + }, + ruleName: { + baseName: "rule_name", + type: "string", + required: true, + }, + strategy: { + baseName: "strategy", + type: "ArbitraryRuleResponseDataAttributesStrategy", + required: true, + }, + type: { + baseName: "type", + type: "string", + required: true, + }, + updated: { + baseName: "updated", + type: "Date", + required: true, + format: "date-time", + }, + version: { + baseName: "version", + type: "number", + required: true, + format: "int32", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryRuleResponseDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesCostsToAllocateItems.ts b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesCostsToAllocateItems.ts new file mode 100644 index 000000000000..5dd3493d5bca --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesCostsToAllocateItems.ts @@ -0,0 +1,78 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryRuleResponseDataAttributesCostsToAllocateItems` object. + */ +export class ArbitraryRuleResponseDataAttributesCostsToAllocateItems { + /** + * The `items` `condition`. + */ + "condition": string; + /** + * The `items` `tag`. + */ + "tag": string; + /** + * The `items` `value`. + */ + "value"?: string; + /** + * The `items` `values`. + */ + "values"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + condition: { + baseName: "condition", + type: "string", + required: true, + }, + tag: { + baseName: "tag", + type: "string", + required: true, + }, + value: { + baseName: "value", + type: "string", + }, + values: { + baseName: "values", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryRuleResponseDataAttributesCostsToAllocateItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategy.ts b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategy.ts new file mode 100644 index 000000000000..38c6ccce3572 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategy.ts @@ -0,0 +1,121 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems } from "./ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems"; +import { ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems } from "./ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems"; +import { ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems } from "./ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems"; +import { ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems } from "./ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryRuleResponseDataAttributesStrategy` object. + */ +export class ArbitraryRuleResponseDataAttributesStrategy { + /** + * The `strategy` `allocated_by`. + */ + "allocatedBy"?: Array; + /** + * The `strategy` `allocated_by_filters`. + */ + "allocatedByFilters"?: Array; + /** + * The `strategy` `allocated_by_tag_keys`. + */ + "allocatedByTagKeys"?: Array; + /** + * The `strategy` `based_on_costs`. + */ + "basedOnCosts"?: Array; + /** + * The rule `strategy` `based_on_timeseries`. + */ + "basedOnTimeseries"?: { [key: string]: any }; + /** + * The `strategy` `evaluate_grouped_by_filters`. + */ + "evaluateGroupedByFilters"?: Array; + /** + * The `strategy` `evaluate_grouped_by_tag_keys`. + */ + "evaluateGroupedByTagKeys"?: Array; + /** + * The `strategy` `granularity`. + */ + "granularity"?: string; + /** + * The `strategy` `method`. + */ + "method": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + allocatedBy: { + baseName: "allocated_by", + type: "Array", + }, + allocatedByFilters: { + baseName: "allocated_by_filters", + type: "Array", + }, + allocatedByTagKeys: { + baseName: "allocated_by_tag_keys", + type: "Array", + }, + basedOnCosts: { + baseName: "based_on_costs", + type: "Array", + }, + basedOnTimeseries: { + baseName: "based_on_timeseries", + type: "{ [key: string]: any; }", + }, + evaluateGroupedByFilters: { + baseName: "evaluate_grouped_by_filters", + type: "Array", + }, + evaluateGroupedByTagKeys: { + baseName: "evaluate_grouped_by_tag_keys", + type: "Array", + }, + granularity: { + baseName: "granularity", + type: "string", + }, + method: { + baseName: "method", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryRuleResponseDataAttributesStrategy.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems.ts b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems.ts new file mode 100644 index 000000000000..e8956fa37978 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems.ts @@ -0,0 +1,78 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems` object. + */ +export class ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems { + /** + * The `items` `condition`. + */ + "condition": string; + /** + * The `items` `tag`. + */ + "tag": string; + /** + * The `items` `value`. + */ + "value"?: string; + /** + * The `items` `values`. + */ + "values"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + condition: { + baseName: "condition", + type: "string", + required: true, + }, + tag: { + baseName: "tag", + type: "string", + required: true, + }, + value: { + baseName: "value", + type: "string", + }, + values: { + baseName: "values", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems.ts b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems.ts new file mode 100644 index 000000000000..a6596aa69fcf --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems.ts @@ -0,0 +1,64 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems } from "./ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems` object. + */ +export class ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems { + /** + * The `items` `allocated_tags`. + */ + "allocatedTags": Array; + /** + * The `items` `percentage`. The numeric value format should be a 32bit float value. + */ + "percentage": number; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + allocatedTags: { + baseName: "allocated_tags", + type: "Array", + required: true, + }, + percentage: { + baseName: "percentage", + type: "number", + required: true, + format: "double", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems.ts b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems.ts new file mode 100644 index 000000000000..97770769b9c7 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems` object. + */ +export class ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems { + /** + * The `items` `key`. + */ + "key": string; + /** + * The `items` `value`. + */ + "value": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + key: { + baseName: "key", + type: "string", + required: true, + }, + value: { + baseName: "value", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems.ts b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems.ts new file mode 100644 index 000000000000..7ec74c2e126f --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems.ts @@ -0,0 +1,78 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems` object. + */ +export class ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems { + /** + * The `items` `condition`. + */ + "condition": string; + /** + * The `items` `tag`. + */ + "tag": string; + /** + * The `items` `value`. + */ + "value"?: string; + /** + * The `items` `values`. + */ + "values"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + condition: { + baseName: "condition", + type: "string", + required: true, + }, + tag: { + baseName: "tag", + type: "string", + required: true, + }, + value: { + baseName: "value", + type: "string", + }, + values: { + baseName: "values", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems.ts b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems.ts new file mode 100644 index 000000000000..1929198dde24 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems.ts @@ -0,0 +1,78 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems` object. + */ +export class ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems { + /** + * The `items` `condition`. + */ + "condition": string; + /** + * The `items` `tag`. + */ + "tag": string; + /** + * The `items` `value`. + */ + "value"?: string; + /** + * The `items` `values`. + */ + "values"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + condition: { + baseName: "condition", + type: "string", + required: true, + }, + tag: { + baseName: "tag", + type: "string", + required: true, + }, + value: { + baseName: "value", + type: "string", + }, + values: { + baseName: "values", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataType.ts b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataType.ts new file mode 100644 index 000000000000..378b8c080b38 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ArbitraryRuleResponseDataType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Arbitrary rule resource type. + */ + +export type ArbitraryRuleResponseDataType = + | typeof ARBITRARY_RULE + | UnparsedObject; +export const ARBITRARY_RULE = "arbitrary_rule"; diff --git a/packages/datadog-api-client-v2/models/AwsCURConfigPostData.ts b/packages/datadog-api-client-v2/models/AwsCURConfigPostData.ts index 08d673131414..c5b65c92d457 100644 --- a/packages/datadog-api-client-v2/models/AwsCURConfigPostData.ts +++ b/packages/datadog-api-client-v2/models/AwsCURConfigPostData.ts @@ -15,7 +15,7 @@ export class AwsCURConfigPostData { /** * Attributes for AWS CUR config Post Request. */ - "attributes": AwsCURConfigPostRequestAttributes; + "attributes"?: AwsCURConfigPostRequestAttributes; /** * Type of AWS CUR config Post Request. */ @@ -40,7 +40,6 @@ export class AwsCURConfigPostData { attributes: { baseName: "attributes", type: "AwsCURConfigPostRequestAttributes", - required: true, }, type: { baseName: "type", diff --git a/packages/datadog-api-client-v2/models/AwsCURConfigsResponse.ts b/packages/datadog-api-client-v2/models/AwsCURConfigsResponse.ts index 0d9066ed2c2e..6e8e5d965b6d 100644 --- a/packages/datadog-api-client-v2/models/AwsCURConfigsResponse.ts +++ b/packages/datadog-api-client-v2/models/AwsCURConfigsResponse.ts @@ -14,7 +14,7 @@ export class AwsCURConfigsResponse { /** * An AWS CUR config. */ - "data"?: Array; + "data": Array; /** * A container for additional, undeclared properties. @@ -35,6 +35,7 @@ export class AwsCURConfigsResponse { data: { baseName: "data", type: "Array", + required: true, }, additionalProperties: { baseName: "additionalProperties", diff --git a/packages/datadog-api-client-v2/models/AwsCurConfigResponse.ts b/packages/datadog-api-client-v2/models/AwsCurConfigResponse.ts new file mode 100644 index 000000000000..58b11eebb86e --- /dev/null +++ b/packages/datadog-api-client-v2/models/AwsCurConfigResponse.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AwsCurConfigResponseData } from "./AwsCurConfigResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `AwsCurConfigResponse` object. + */ +export class AwsCurConfigResponse { + /** + * The definition of `AwsCurConfigResponseData` object. + */ + "data"?: AwsCurConfigResponseData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "AwsCurConfigResponseData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AwsCurConfigResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AwsCurConfigResponseData.ts b/packages/datadog-api-client-v2/models/AwsCurConfigResponseData.ts new file mode 100644 index 000000000000..5b547d8b754f --- /dev/null +++ b/packages/datadog-api-client-v2/models/AwsCurConfigResponseData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AwsCurConfigResponseDataAttributes } from "./AwsCurConfigResponseDataAttributes"; +import { AwsCurConfigResponseDataType } from "./AwsCurConfigResponseDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `AwsCurConfigResponseData` object. + */ +export class AwsCurConfigResponseData { + /** + * The definition of `AwsCurConfigResponseDataAttributes` object. + */ + "attributes"?: AwsCurConfigResponseDataAttributes; + /** + * The `AwsCurConfigResponseData` `id`. + */ + "id"?: string; + /** + * AWS CUR config resource type. + */ + "type": AwsCurConfigResponseDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "AwsCurConfigResponseDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "AwsCurConfigResponseDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AwsCurConfigResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AwsCurConfigResponseDataAttributes.ts b/packages/datadog-api-client-v2/models/AwsCurConfigResponseDataAttributes.ts new file mode 100644 index 000000000000..995bcad2097d --- /dev/null +++ b/packages/datadog-api-client-v2/models/AwsCurConfigResponseDataAttributes.ts @@ -0,0 +1,142 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AwsCurConfigResponseDataAttributesAccountFilters } from "./AwsCurConfigResponseDataAttributesAccountFilters"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `AwsCurConfigResponseDataAttributes` object. + */ +export class AwsCurConfigResponseDataAttributes { + /** + * The definition of `AwsCurConfigResponseDataAttributesAccountFilters` object. + */ + "accountFilters"?: AwsCurConfigResponseDataAttributesAccountFilters; + /** + * The `attributes` `account_id`. + */ + "accountId"?: string; + /** + * The `attributes` `bucket_name`. + */ + "bucketName"?: string; + /** + * The `attributes` `bucket_region`. + */ + "bucketRegion"?: string; + /** + * The `attributes` `created_at`. + */ + "createdAt"?: string; + /** + * The `attributes` `error_messages`. + */ + "errorMessages"?: Array; + /** + * The `attributes` `months`. + */ + "months"?: number; + /** + * The `attributes` `report_name`. + */ + "reportName"?: string; + /** + * The `attributes` `report_prefix`. + */ + "reportPrefix"?: string; + /** + * The `attributes` `status`. + */ + "status"?: string; + /** + * The `attributes` `status_updated_at`. + */ + "statusUpdatedAt"?: string; + /** + * The `attributes` `updated_at`. + */ + "updatedAt"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + accountFilters: { + baseName: "account_filters", + type: "AwsCurConfigResponseDataAttributesAccountFilters", + }, + accountId: { + baseName: "account_id", + type: "string", + }, + bucketName: { + baseName: "bucket_name", + type: "string", + }, + bucketRegion: { + baseName: "bucket_region", + type: "string", + }, + createdAt: { + baseName: "created_at", + type: "string", + }, + errorMessages: { + baseName: "error_messages", + type: "Array", + }, + months: { + baseName: "months", + type: "number", + format: "int64", + }, + reportName: { + baseName: "report_name", + type: "string", + }, + reportPrefix: { + baseName: "report_prefix", + type: "string", + }, + status: { + baseName: "status", + type: "string", + }, + statusUpdatedAt: { + baseName: "status_updated_at", + type: "string", + }, + updatedAt: { + baseName: "updated_at", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AwsCurConfigResponseDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AwsCurConfigResponseDataAttributesAccountFilters.ts b/packages/datadog-api-client-v2/models/AwsCurConfigResponseDataAttributesAccountFilters.ts new file mode 100644 index 000000000000..6d8a15175785 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AwsCurConfigResponseDataAttributesAccountFilters.ts @@ -0,0 +1,68 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `AwsCurConfigResponseDataAttributesAccountFilters` object. + */ +export class AwsCurConfigResponseDataAttributesAccountFilters { + /** + * The `account_filters` `excluded_accounts`. + */ + "excludedAccounts"?: Array; + /** + * The `account_filters` `include_new_accounts`. + */ + "includeNewAccounts"?: boolean; + /** + * The `account_filters` `included_accounts`. + */ + "includedAccounts"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + excludedAccounts: { + baseName: "excluded_accounts", + type: "Array", + }, + includeNewAccounts: { + baseName: "include_new_accounts", + type: "boolean", + }, + includedAccounts: { + baseName: "included_accounts", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AwsCurConfigResponseDataAttributesAccountFilters.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AwsCurConfigResponseDataType.ts b/packages/datadog-api-client-v2/models/AwsCurConfigResponseDataType.ts new file mode 100644 index 000000000000..2effcee29e90 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AwsCurConfigResponseDataType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * AWS CUR config resource type. + */ + +export type AwsCurConfigResponseDataType = + | typeof AWS_CUR_CONFIG + | UnparsedObject; +export const AWS_CUR_CONFIG = "aws_cur_config"; diff --git a/packages/datadog-api-client-v2/models/AzureUCConfig.ts b/packages/datadog-api-client-v2/models/AzureUCConfig.ts index 04126e80aae2..4774bb04083b 100644 --- a/packages/datadog-api-client-v2/models/AzureUCConfig.ts +++ b/packages/datadog-api-client-v2/models/AzureUCConfig.ts @@ -11,7 +11,7 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util"; */ export class AzureUCConfig { /** - * The tenant ID of the azure account. + * The tenant ID of the Azure account. */ "accountId": string; /** diff --git a/packages/datadog-api-client-v2/models/AzureUCConfigPatchData.ts b/packages/datadog-api-client-v2/models/AzureUCConfigPatchData.ts index c3f0d4904507..6532fefc4dea 100644 --- a/packages/datadog-api-client-v2/models/AzureUCConfigPatchData.ts +++ b/packages/datadog-api-client-v2/models/AzureUCConfigPatchData.ts @@ -15,7 +15,7 @@ export class AzureUCConfigPatchData { /** * Attributes for Azure config Patch Request. */ - "attributes": AzureUCConfigPatchRequestAttributes; + "attributes"?: AzureUCConfigPatchRequestAttributes; /** * Type of Azure config Patch Request. */ @@ -40,7 +40,6 @@ export class AzureUCConfigPatchData { attributes: { baseName: "attributes", type: "AzureUCConfigPatchRequestAttributes", - required: true, }, type: { baseName: "type", diff --git a/packages/datadog-api-client-v2/models/AzureUCConfigPostData.ts b/packages/datadog-api-client-v2/models/AzureUCConfigPostData.ts index 6561ecdd978f..817773fc4862 100644 --- a/packages/datadog-api-client-v2/models/AzureUCConfigPostData.ts +++ b/packages/datadog-api-client-v2/models/AzureUCConfigPostData.ts @@ -15,7 +15,7 @@ export class AzureUCConfigPostData { /** * Attributes for Azure config Post Request. */ - "attributes": AzureUCConfigPostRequestAttributes; + "attributes"?: AzureUCConfigPostRequestAttributes; /** * Type of Azure config Post Request. */ @@ -40,7 +40,6 @@ export class AzureUCConfigPostData { attributes: { baseName: "attributes", type: "AzureUCConfigPostRequestAttributes", - required: true, }, type: { baseName: "type", diff --git a/packages/datadog-api-client-v2/models/AzureUCConfigPostRequestAttributes.ts b/packages/datadog-api-client-v2/models/AzureUCConfigPostRequestAttributes.ts index b6b808724203..09526ad1c0ed 100644 --- a/packages/datadog-api-client-v2/models/AzureUCConfigPostRequestAttributes.ts +++ b/packages/datadog-api-client-v2/models/AzureUCConfigPostRequestAttributes.ts @@ -12,7 +12,7 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util"; */ export class AzureUCConfigPostRequestAttributes { /** - * The tenant ID of the azure account. + * The tenant ID of the Azure account. */ "accountId": string; /** @@ -24,13 +24,9 @@ export class AzureUCConfigPostRequestAttributes { */ "amortizedBillConfig": BillConfig; /** - * The client ID of the azure account. + * The client ID of the Azure account. */ "clientId": string; - /** - * Whether or not the Cloud Cost Management account is enabled. - */ - "isEnabled"?: boolean; /** * The scope of your observed subscription. */ @@ -72,10 +68,6 @@ export class AzureUCConfigPostRequestAttributes { type: "string", required: true, }, - isEnabled: { - baseName: "is_enabled", - type: "boolean", - }, scope: { baseName: "scope", type: "string", diff --git a/packages/datadog-api-client-v2/models/AzureUCConfigsResponse.ts b/packages/datadog-api-client-v2/models/AzureUCConfigsResponse.ts index afc072547ec4..f73a9c05a376 100644 --- a/packages/datadog-api-client-v2/models/AzureUCConfigsResponse.ts +++ b/packages/datadog-api-client-v2/models/AzureUCConfigsResponse.ts @@ -14,7 +14,7 @@ export class AzureUCConfigsResponse { /** * An Azure config pair. */ - "data"?: Array; + "data": Array; /** * A container for additional, undeclared properties. @@ -35,6 +35,7 @@ export class AzureUCConfigsResponse { data: { baseName: "data", type: "Array", + required: true, }, additionalProperties: { baseName: "additionalProperties", diff --git a/packages/datadog-api-client-v2/models/CreateRulesetRequest.ts b/packages/datadog-api-client-v2/models/CreateRulesetRequest.ts new file mode 100644 index 000000000000..e4d2c98f18d1 --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateRulesetRequest.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { CreateRulesetRequestData } from "./CreateRulesetRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `CreateRulesetRequest` object. + */ +export class CreateRulesetRequest { + /** + * The definition of `CreateRulesetRequestData` object. + */ + "data"?: CreateRulesetRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "CreateRulesetRequestData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateRulesetRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateRulesetRequestData.ts b/packages/datadog-api-client-v2/models/CreateRulesetRequestData.ts new file mode 100644 index 000000000000..bb245c89f605 --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateRulesetRequestData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { CreateRulesetRequestDataAttributes } from "./CreateRulesetRequestDataAttributes"; +import { CreateRulesetRequestDataType } from "./CreateRulesetRequestDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `CreateRulesetRequestData` object. + */ +export class CreateRulesetRequestData { + /** + * The definition of `CreateRulesetRequestDataAttributes` object. + */ + "attributes"?: CreateRulesetRequestDataAttributes; + /** + * The `CreateRulesetRequestData` `id`. + */ + "id"?: string; + /** + * Create ruleset resource type. + */ + "type": CreateRulesetRequestDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "CreateRulesetRequestDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "CreateRulesetRequestDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateRulesetRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributes.ts b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributes.ts new file mode 100644 index 000000000000..faab482bb19b --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributes.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { CreateRulesetRequestDataAttributesRulesItems } from "./CreateRulesetRequestDataAttributesRulesItems"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `CreateRulesetRequestDataAttributes` object. + */ +export class CreateRulesetRequestDataAttributes { + /** + * The `attributes` `enabled`. + */ + "enabled"?: boolean; + /** + * The `attributes` `rules`. + */ + "rules": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + rules: { + baseName: "rules", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateRulesetRequestDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItems.ts b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItems.ts new file mode 100644 index 000000000000..87e46dd81565 --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItems.ts @@ -0,0 +1,97 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { CreateRulesetRequestDataAttributesRulesItemsMapping } from "./CreateRulesetRequestDataAttributesRulesItemsMapping"; +import { CreateRulesetRequestDataAttributesRulesItemsQuery } from "./CreateRulesetRequestDataAttributesRulesItemsQuery"; +import { CreateRulesetRequestDataAttributesRulesItemsReferenceTable } from "./CreateRulesetRequestDataAttributesRulesItemsReferenceTable"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `CreateRulesetRequestDataAttributesRulesItems` object. + */ +export class CreateRulesetRequestDataAttributesRulesItems { + /** + * The `items` `enabled`. + */ + "enabled": boolean; + /** + * The definition of `CreateRulesetRequestDataAttributesRulesItemsMapping` object. + */ + "mapping"?: CreateRulesetRequestDataAttributesRulesItemsMapping; + /** + * The `items` `metadata`. + */ + "metadata"?: { [key: string]: string }; + /** + * The `items` `name`. + */ + "name": string; + /** + * The definition of `CreateRulesetRequestDataAttributesRulesItemsQuery` object. + */ + "query"?: CreateRulesetRequestDataAttributesRulesItemsQuery; + /** + * The definition of `CreateRulesetRequestDataAttributesRulesItemsReferenceTable` object. + */ + "referenceTable"?: CreateRulesetRequestDataAttributesRulesItemsReferenceTable; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + required: true, + }, + mapping: { + baseName: "mapping", + type: "CreateRulesetRequestDataAttributesRulesItemsMapping", + }, + metadata: { + baseName: "metadata", + type: "{ [key: string]: string; }", + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + query: { + baseName: "query", + type: "CreateRulesetRequestDataAttributesRulesItemsQuery", + }, + referenceTable: { + baseName: "reference_table", + type: "CreateRulesetRequestDataAttributesRulesItemsReferenceTable", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateRulesetRequestDataAttributesRulesItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsMapping.ts b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsMapping.ts new file mode 100644 index 000000000000..9ffef8a0d4a0 --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsMapping.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `CreateRulesetRequestDataAttributesRulesItemsMapping` object. + */ +export class CreateRulesetRequestDataAttributesRulesItemsMapping { + /** + * The `mapping` `destination_key`. + */ + "destinationKey": string; + /** + * The `mapping` `if_not_exists`. + */ + "ifNotExists": boolean; + /** + * The `mapping` `source_keys`. + */ + "sourceKeys": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + destinationKey: { + baseName: "destination_key", + type: "string", + required: true, + }, + ifNotExists: { + baseName: "if_not_exists", + type: "boolean", + required: true, + }, + sourceKeys: { + baseName: "source_keys", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateRulesetRequestDataAttributesRulesItemsMapping.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsQuery.ts b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsQuery.ts new file mode 100644 index 000000000000..b1ca1deb8de4 --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsQuery.ts @@ -0,0 +1,80 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { CreateRulesetRequestDataAttributesRulesItemsQueryAddition } from "./CreateRulesetRequestDataAttributesRulesItemsQueryAddition"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `CreateRulesetRequestDataAttributesRulesItemsQuery` object. + */ +export class CreateRulesetRequestDataAttributesRulesItemsQuery { + /** + * The definition of `CreateRulesetRequestDataAttributesRulesItemsQueryAddition` object. + */ + "addition": CreateRulesetRequestDataAttributesRulesItemsQueryAddition | null; + /** + * The `query` `case_insensitivity`. + */ + "caseInsensitivity"?: boolean; + /** + * The `query` `if_not_exists`. + */ + "ifNotExists": boolean; + /** + * The `query` `query`. + */ + "query": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + addition: { + baseName: "addition", + type: "CreateRulesetRequestDataAttributesRulesItemsQueryAddition", + required: true, + }, + caseInsensitivity: { + baseName: "case_insensitivity", + type: "boolean", + }, + ifNotExists: { + baseName: "if_not_exists", + type: "boolean", + required: true, + }, + query: { + baseName: "query", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateRulesetRequestDataAttributesRulesItemsQuery.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsQueryAddition.ts b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsQueryAddition.ts new file mode 100644 index 000000000000..947d3c602d37 --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsQueryAddition.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `CreateRulesetRequestDataAttributesRulesItemsQueryAddition` object. + */ +export class CreateRulesetRequestDataAttributesRulesItemsQueryAddition { + /** + * The `addition` `key`. + */ + "key": string; + /** + * The `addition` `value`. + */ + "value": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + key: { + baseName: "key", + type: "string", + required: true, + }, + value: { + baseName: "value", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateRulesetRequestDataAttributesRulesItemsQueryAddition.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsReferenceTable.ts b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsReferenceTable.ts new file mode 100644 index 000000000000..d82c20ca99c8 --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsReferenceTable.ts @@ -0,0 +1,88 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems } from "./CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `CreateRulesetRequestDataAttributesRulesItemsReferenceTable` object. + */ +export class CreateRulesetRequestDataAttributesRulesItemsReferenceTable { + /** + * The `reference_table` `case_insensitivity`. + */ + "caseInsensitivity"?: boolean; + /** + * The `reference_table` `field_pairs`. + */ + "fieldPairs": Array; + /** + * The `reference_table` `if_not_exists`. + */ + "ifNotExists"?: boolean; + /** + * The `reference_table` `source_keys`. + */ + "sourceKeys": Array; + /** + * The `reference_table` `table_name`. + */ + "tableName": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + caseInsensitivity: { + baseName: "case_insensitivity", + type: "boolean", + }, + fieldPairs: { + baseName: "field_pairs", + type: "Array", + required: true, + }, + ifNotExists: { + baseName: "if_not_exists", + type: "boolean", + }, + sourceKeys: { + baseName: "source_keys", + type: "Array", + required: true, + }, + tableName: { + baseName: "table_name", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateRulesetRequestDataAttributesRulesItemsReferenceTable.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems.ts b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems.ts new file mode 100644 index 000000000000..d7b517e308ca --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems` object. + */ +export class CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems { + /** + * The `items` `input_column`. + */ + "inputColumn": string; + /** + * The `items` `output_key`. + */ + "outputKey": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + inputColumn: { + baseName: "input_column", + type: "string", + required: true, + }, + outputKey: { + baseName: "output_key", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateRulesetRequestDataType.ts b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataType.ts new file mode 100644 index 000000000000..c1ae64315940 --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateRulesetRequestDataType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Create ruleset resource type. + */ + +export type CreateRulesetRequestDataType = + | typeof CREATE_RULESET + | UnparsedObject; +export const CREATE_RULESET = "create_ruleset"; diff --git a/packages/datadog-api-client-v2/models/GCPUsageCostConfig.ts b/packages/datadog-api-client-v2/models/GCPUsageCostConfig.ts index 1fe662df0e97..c0326d8bdb5d 100644 --- a/packages/datadog-api-client-v2/models/GCPUsageCostConfig.ts +++ b/packages/datadog-api-client-v2/models/GCPUsageCostConfig.ts @@ -9,19 +9,19 @@ import { GCPUsageCostConfigType } from "./GCPUsageCostConfigType"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * GCP Usage Cost config. + * Google Cloud Usage Cost config. */ export class GCPUsageCostConfig { /** - * Attributes for a GCP Usage Cost config. + * Attributes for a Google Cloud Usage Cost config. */ "attributes": GCPUsageCostConfigAttributes; /** - * The ID of the GCP Usage Cost config. + * The ID of the Google Cloud Usage Cost config. */ "id"?: string; /** - * Type of GCP Usage Cost config. + * Type of Google Cloud Usage Cost config. */ "type": GCPUsageCostConfigType; diff --git a/packages/datadog-api-client-v2/models/GCPUsageCostConfigAttributes.ts b/packages/datadog-api-client-v2/models/GCPUsageCostConfigAttributes.ts index 60a64a960b4e..b27fc39295d4 100644 --- a/packages/datadog-api-client-v2/models/GCPUsageCostConfigAttributes.ts +++ b/packages/datadog-api-client-v2/models/GCPUsageCostConfigAttributes.ts @@ -7,35 +7,35 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * Attributes for a GCP Usage Cost config. + * Attributes for a Google Cloud Usage Cost config. */ export class GCPUsageCostConfigAttributes { /** - * The GCP account ID. + * The Google Cloud account ID. */ "accountId": string; /** - * The GCP bucket name used to store the Usage Cost export. + * The Google Cloud bucket name used to store the Usage Cost export. */ "bucketName": string; /** - * The timestamp when the GCP Usage Cost config was created. + * The timestamp when the Google Cloud Usage Cost config was created. */ "createdAt"?: string; /** - * The export dataset name used for the GCP Usage Cost Report. + * The export dataset name used for the Google Cloud Usage Cost Report. */ "dataset": string; /** - * The error messages for the GCP Usage Cost config. + * The error messages for the Google Cloud Usage Cost config. */ "errorMessages"?: Array; /** - * The export prefix used for the GCP Usage Cost Report. + * The export prefix used for the Google Cloud Usage Cost Report. */ "exportPrefix": string; /** - * The name of the GCP Usage Cost Report. + * The name of the Google Cloud Usage Cost Report. */ "exportProjectName": string; /** @@ -43,23 +43,23 @@ export class GCPUsageCostConfigAttributes { */ "months"?: number; /** - * The `project_id` of the GCP Usage Cost report. + * The `project_id` of the Google Cloud Usage Cost report. */ "projectId"?: string; /** - * The unique GCP service account email. + * The unique Google Cloud service account email. */ "serviceAccount": string; /** - * The status of the GCP Usage Cost config. + * The status of the Google Cloud Usage Cost config. */ "status": string; /** - * The timestamp when the GCP Usage Cost config status was updated. + * The timestamp when the Google Cloud Usage Cost config status was updated. */ "statusUpdatedAt"?: string; /** - * The timestamp when the GCP Usage Cost config status was updated. + * The timestamp when the Google Cloud Usage Cost config status was updated. */ "updatedAt"?: string; diff --git a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchData.ts b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchData.ts index 3b462ef5a41e..ecef6b9c636b 100644 --- a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchData.ts +++ b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchData.ts @@ -9,15 +9,15 @@ import { GCPUsageCostConfigPatchRequestType } from "./GCPUsageCostConfigPatchReq import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * GCP Usage Cost config patch data. + * Google Cloud Usage Cost config patch data. */ export class GCPUsageCostConfigPatchData { /** - * Attributes for GCP Usage Cost config patch request. + * Attributes for Google Cloud Usage Cost config patch request. */ "attributes": GCPUsageCostConfigPatchRequestAttributes; /** - * Type of GCP Usage Cost config patch request. + * Type of Google Cloud Usage Cost config patch request. */ "type": GCPUsageCostConfigPatchRequestType; diff --git a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchRequest.ts b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchRequest.ts index 997129c41083..6f5f7a144d58 100644 --- a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchRequest.ts +++ b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchRequest.ts @@ -8,11 +8,11 @@ import { GCPUsageCostConfigPatchData } from "./GCPUsageCostConfigPatchData"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * GCP Usage Cost config patch request. + * Google Cloud Usage Cost config patch request. */ export class GCPUsageCostConfigPatchRequest { /** - * GCP Usage Cost config patch data. + * Google Cloud Usage Cost config patch data. */ "data": GCPUsageCostConfigPatchData; diff --git a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchRequestAttributes.ts b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchRequestAttributes.ts index 3a4e6e4b070c..76af03c664f6 100644 --- a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchRequestAttributes.ts +++ b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchRequestAttributes.ts @@ -7,7 +7,7 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * Attributes for GCP Usage Cost config patch request. + * Attributes for Google Cloud Usage Cost config patch request. */ export class GCPUsageCostConfigPatchRequestAttributes { /** diff --git a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchRequestType.ts b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchRequestType.ts index c502a623ad9d..4d6165115a0d 100644 --- a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchRequestType.ts +++ b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPatchRequestType.ts @@ -7,7 +7,7 @@ import { UnparsedObject } from "../../datadog-api-client-common/util"; /** - * Type of GCP Usage Cost config patch request. + * Type of Google Cloud Usage Cost config patch request. */ export type GCPUsageCostConfigPatchRequestType = diff --git a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostData.ts b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostData.ts index a0a3063efef6..efc6eeb50cfe 100644 --- a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostData.ts +++ b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostData.ts @@ -9,15 +9,15 @@ import { GCPUsageCostConfigPostRequestType } from "./GCPUsageCostConfigPostReque import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * GCP Usage Cost config post data. + * Google Cloud Usage Cost config post data. */ export class GCPUsageCostConfigPostData { /** - * Attributes for GCP Usage Cost config post request. + * Attributes for Google Cloud Usage Cost config post request. */ - "attributes": GCPUsageCostConfigPostRequestAttributes; + "attributes"?: GCPUsageCostConfigPostRequestAttributes; /** - * Type of GCP Usage Cost config post request. + * Type of Google Cloud Usage Cost config post request. */ "type": GCPUsageCostConfigPostRequestType; @@ -40,7 +40,6 @@ export class GCPUsageCostConfigPostData { attributes: { baseName: "attributes", type: "GCPUsageCostConfigPostRequestAttributes", - required: true, }, type: { baseName: "type", diff --git a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostRequest.ts b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostRequest.ts index 94e3a84901a0..2f68d02e72b5 100644 --- a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostRequest.ts +++ b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostRequest.ts @@ -8,11 +8,11 @@ import { GCPUsageCostConfigPostData } from "./GCPUsageCostConfigPostData"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * GCP Usage Cost config post request. + * Google Cloud Usage Cost config post request. */ export class GCPUsageCostConfigPostRequest { /** - * GCP Usage Cost config post data. + * Google Cloud Usage Cost config post data. */ "data": GCPUsageCostConfigPostData; diff --git a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostRequestAttributes.ts b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostRequestAttributes.ts index 545b56c626ae..d7f0587db265 100644 --- a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostRequestAttributes.ts +++ b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostRequestAttributes.ts @@ -7,31 +7,31 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * Attributes for GCP Usage Cost config post request. + * Attributes for Google Cloud Usage Cost config post request. */ export class GCPUsageCostConfigPostRequestAttributes { /** - * The GCP account ID. + * The Google Cloud account ID. */ "billingAccountId": string; /** - * The GCP bucket name used to store the Usage Cost export. + * The Google Cloud bucket name used to store the Usage Cost export. */ "bucketName": string; /** - * The export dataset name used for the GCP Usage Cost report. + * The export dataset name used for the Google Cloud Usage Cost report. */ "exportDatasetName": string; /** - * The export prefix used for the GCP Usage Cost report. + * The export prefix used for the Google Cloud Usage Cost report. */ "exportPrefix"?: string; /** - * The name of the GCP Usage Cost report. + * The name of the Google Cloud Usage Cost report. */ "exportProjectName": string; /** - * The unique GCP service account email. + * The unique Google Cloud service account email. */ "serviceAccount": string; diff --git a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostRequestType.ts b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostRequestType.ts index 8fe80f3f1b9d..b4d00b559b3e 100644 --- a/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostRequestType.ts +++ b/packages/datadog-api-client-v2/models/GCPUsageCostConfigPostRequestType.ts @@ -7,7 +7,7 @@ import { UnparsedObject } from "../../datadog-api-client-common/util"; /** - * Type of GCP Usage Cost config post request. + * Type of Google Cloud Usage Cost config post request. */ export type GCPUsageCostConfigPostRequestType = diff --git a/packages/datadog-api-client-v2/models/GCPUsageCostConfigResponse.ts b/packages/datadog-api-client-v2/models/GCPUsageCostConfigResponse.ts index d64cee72125f..d3bf79a676fc 100644 --- a/packages/datadog-api-client-v2/models/GCPUsageCostConfigResponse.ts +++ b/packages/datadog-api-client-v2/models/GCPUsageCostConfigResponse.ts @@ -8,11 +8,11 @@ import { GCPUsageCostConfig } from "./GCPUsageCostConfig"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * Response of GCP Usage Cost config. + * Response of Google Cloud Usage Cost config. */ export class GCPUsageCostConfigResponse { /** - * GCP Usage Cost config. + * Google Cloud Usage Cost config. */ "data"?: GCPUsageCostConfig; diff --git a/packages/datadog-api-client-v2/models/GCPUsageCostConfigType.ts b/packages/datadog-api-client-v2/models/GCPUsageCostConfigType.ts index 4181323b8a2e..c17b4f03051b 100644 --- a/packages/datadog-api-client-v2/models/GCPUsageCostConfigType.ts +++ b/packages/datadog-api-client-v2/models/GCPUsageCostConfigType.ts @@ -7,7 +7,7 @@ import { UnparsedObject } from "../../datadog-api-client-common/util"; /** - * Type of GCP Usage Cost config. + * Type of Google Cloud Usage Cost config. */ export type GCPUsageCostConfigType = typeof GCP_UC_CONFIG | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/GCPUsageCostConfigsResponse.ts b/packages/datadog-api-client-v2/models/GCPUsageCostConfigsResponse.ts index a4f37dd7323c..48e390977adc 100644 --- a/packages/datadog-api-client-v2/models/GCPUsageCostConfigsResponse.ts +++ b/packages/datadog-api-client-v2/models/GCPUsageCostConfigsResponse.ts @@ -8,13 +8,13 @@ import { GCPUsageCostConfig } from "./GCPUsageCostConfig"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * List of GCP Usage Cost configs. + * List of Google Cloud Usage Cost configs. */ export class GCPUsageCostConfigsResponse { /** - * A GCP Usage Cost config. + * A Google Cloud Usage Cost config. */ - "data"?: Array; + "data": Array; /** * A container for additional, undeclared properties. @@ -35,6 +35,7 @@ export class GCPUsageCostConfigsResponse { data: { baseName: "data", type: "Array", + required: true, }, additionalProperties: { baseName: "additionalProperties", diff --git a/packages/datadog-api-client-v2/models/GcpUcConfigResponse.ts b/packages/datadog-api-client-v2/models/GcpUcConfigResponse.ts new file mode 100644 index 000000000000..d2d5f03d63fc --- /dev/null +++ b/packages/datadog-api-client-v2/models/GcpUcConfigResponse.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { GcpUcConfigResponseData } from "./GcpUcConfigResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `GcpUcConfigResponse` object. + */ +export class GcpUcConfigResponse { + /** + * The definition of `GcpUcConfigResponseData` object. + */ + "data"?: GcpUcConfigResponseData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "GcpUcConfigResponseData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return GcpUcConfigResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/GcpUcConfigResponseData.ts b/packages/datadog-api-client-v2/models/GcpUcConfigResponseData.ts new file mode 100644 index 000000000000..46de0885373c --- /dev/null +++ b/packages/datadog-api-client-v2/models/GcpUcConfigResponseData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { GcpUcConfigResponseDataAttributes } from "./GcpUcConfigResponseDataAttributes"; +import { GcpUcConfigResponseDataType } from "./GcpUcConfigResponseDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `GcpUcConfigResponseData` object. + */ +export class GcpUcConfigResponseData { + /** + * The definition of `GcpUcConfigResponseDataAttributes` object. + */ + "attributes"?: GcpUcConfigResponseDataAttributes; + /** + * The `GcpUcConfigResponseData` `id`. + */ + "id"?: string; + /** + * Google Cloud Usage Cost config resource type. + */ + "type": GcpUcConfigResponseDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "GcpUcConfigResponseDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "GcpUcConfigResponseDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return GcpUcConfigResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/GcpUcConfigResponseDataAttributes.ts b/packages/datadog-api-client-v2/models/GcpUcConfigResponseDataAttributes.ts new file mode 100644 index 000000000000..df2b71df4cc5 --- /dev/null +++ b/packages/datadog-api-client-v2/models/GcpUcConfigResponseDataAttributes.ts @@ -0,0 +1,149 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `GcpUcConfigResponseDataAttributes` object. + */ +export class GcpUcConfigResponseDataAttributes { + /** + * The `attributes` `account_id`. + */ + "accountId"?: string; + /** + * The `attributes` `bucket_name`. + */ + "bucketName"?: string; + /** + * The `attributes` `created_at`. + */ + "createdAt"?: string; + /** + * The `attributes` `dataset`. + */ + "dataset"?: string; + /** + * The `attributes` `error_messages`. + */ + "errorMessages"?: Array; + /** + * The `attributes` `export_prefix`. + */ + "exportPrefix"?: string; + /** + * The `attributes` `export_project_name`. + */ + "exportProjectName"?: string; + /** + * The `attributes` `months`. + */ + "months"?: number; + /** + * The `attributes` `project_id`. + */ + "projectId"?: string; + /** + * The `attributes` `service_account`. + */ + "serviceAccount"?: string; + /** + * The `attributes` `status`. + */ + "status"?: string; + /** + * The `attributes` `status_updated_at`. + */ + "statusUpdatedAt"?: string; + /** + * The `attributes` `updated_at`. + */ + "updatedAt"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + accountId: { + baseName: "account_id", + type: "string", + }, + bucketName: { + baseName: "bucket_name", + type: "string", + }, + createdAt: { + baseName: "created_at", + type: "string", + }, + dataset: { + baseName: "dataset", + type: "string", + }, + errorMessages: { + baseName: "error_messages", + type: "Array", + }, + exportPrefix: { + baseName: "export_prefix", + type: "string", + }, + exportProjectName: { + baseName: "export_project_name", + type: "string", + }, + months: { + baseName: "months", + type: "number", + format: "int64", + }, + projectId: { + baseName: "project_id", + type: "string", + }, + serviceAccount: { + baseName: "service_account", + type: "string", + }, + status: { + baseName: "status", + type: "string", + }, + statusUpdatedAt: { + baseName: "status_updated_at", + type: "string", + }, + updatedAt: { + baseName: "updated_at", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return GcpUcConfigResponseDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/GcpUcConfigResponseDataType.ts b/packages/datadog-api-client-v2/models/GcpUcConfigResponseDataType.ts new file mode 100644 index 000000000000..837af0694ae7 --- /dev/null +++ b/packages/datadog-api-client-v2/models/GcpUcConfigResponseDataType.ts @@ -0,0 +1,14 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Google Cloud Usage Cost config resource type. + */ + +export type GcpUcConfigResponseDataType = typeof GCP_UC_CONFIG | UnparsedObject; +export const GCP_UC_CONFIG = "gcp_uc_config"; diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index ae7e77425f3f..598d2a19eda7 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -127,6 +127,27 @@ import { ApplicationSecurityWafExclusionFilterUpdateAttributes } from "./Applica import { ApplicationSecurityWafExclusionFilterUpdateData } from "./ApplicationSecurityWafExclusionFilterUpdateData"; import { ApplicationSecurityWafExclusionFilterUpdateRequest } from "./ApplicationSecurityWafExclusionFilterUpdateRequest"; import { ApplicationSecurityWafExclusionFiltersResponse } from "./ApplicationSecurityWafExclusionFiltersResponse"; +import { ArbitraryCostUpsertRequest } from "./ArbitraryCostUpsertRequest"; +import { ArbitraryCostUpsertRequestData } from "./ArbitraryCostUpsertRequestData"; +import { ArbitraryCostUpsertRequestDataAttributes } from "./ArbitraryCostUpsertRequestDataAttributes"; +import { ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems } from "./ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems"; +import { ArbitraryCostUpsertRequestDataAttributesStrategy } from "./ArbitraryCostUpsertRequestDataAttributesStrategy"; +import { ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems } from "./ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems"; +import { ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems } from "./ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems"; +import { ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems } from "./ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems"; +import { ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems } from "./ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems"; +import { ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems } from "./ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems"; +import { ArbitraryRuleResponse } from "./ArbitraryRuleResponse"; +import { ArbitraryRuleResponseArray } from "./ArbitraryRuleResponseArray"; +import { ArbitraryRuleResponseData } from "./ArbitraryRuleResponseData"; +import { ArbitraryRuleResponseDataAttributes } from "./ArbitraryRuleResponseDataAttributes"; +import { ArbitraryRuleResponseDataAttributesCostsToAllocateItems } from "./ArbitraryRuleResponseDataAttributesCostsToAllocateItems"; +import { ArbitraryRuleResponseDataAttributesStrategy } from "./ArbitraryRuleResponseDataAttributesStrategy"; +import { ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems } from "./ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems"; +import { ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems } from "./ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems"; +import { ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems } from "./ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems"; +import { ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems } from "./ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems"; +import { ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems } from "./ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems"; import { AsanaAccessToken } from "./AsanaAccessToken"; import { AsanaAccessTokenUpdate } from "./AsanaAccessTokenUpdate"; import { AsanaIntegration } from "./AsanaIntegration"; @@ -170,8 +191,11 @@ import { AwsCURConfigPatchRequestAttributes } from "./AwsCURConfigPatchRequestAt import { AwsCURConfigPostData } from "./AwsCURConfigPostData"; import { AwsCURConfigPostRequest } from "./AwsCURConfigPostRequest"; import { AwsCURConfigPostRequestAttributes } from "./AwsCURConfigPostRequestAttributes"; -import { AwsCURConfigResponse } from "./AwsCURConfigResponse"; import { AwsCURConfigsResponse } from "./AwsCURConfigsResponse"; +import { AwsCurConfigResponse } from "./AwsCurConfigResponse"; +import { AwsCurConfigResponseData } from "./AwsCurConfigResponseData"; +import { AwsCurConfigResponseDataAttributes } from "./AwsCurConfigResponseDataAttributes"; +import { AwsCurConfigResponseDataAttributesAccountFilters } from "./AwsCurConfigResponseDataAttributesAccountFilters"; import { AwsOnDemandAttributes } from "./AwsOnDemandAttributes"; import { AwsOnDemandCreateAttributes } from "./AwsOnDemandCreateAttributes"; import { AwsOnDemandCreateData } from "./AwsOnDemandCreateData"; @@ -471,6 +495,15 @@ import { CreateRuleRequest } from "./CreateRuleRequest"; import { CreateRuleRequestData } from "./CreateRuleRequestData"; import { CreateRuleResponse } from "./CreateRuleResponse"; import { CreateRuleResponseData } from "./CreateRuleResponseData"; +import { CreateRulesetRequest } from "./CreateRulesetRequest"; +import { CreateRulesetRequestData } from "./CreateRulesetRequestData"; +import { CreateRulesetRequestDataAttributes } from "./CreateRulesetRequestDataAttributes"; +import { CreateRulesetRequestDataAttributesRulesItems } from "./CreateRulesetRequestDataAttributesRulesItems"; +import { CreateRulesetRequestDataAttributesRulesItemsMapping } from "./CreateRulesetRequestDataAttributesRulesItemsMapping"; +import { CreateRulesetRequestDataAttributesRulesItemsQuery } from "./CreateRulesetRequestDataAttributesRulesItemsQuery"; +import { CreateRulesetRequestDataAttributesRulesItemsQueryAddition } from "./CreateRulesetRequestDataAttributesRulesItemsQueryAddition"; +import { CreateRulesetRequestDataAttributesRulesItemsReferenceTable } from "./CreateRulesetRequestDataAttributesRulesItemsReferenceTable"; +import { CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems } from "./CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems"; import { CreateWorkflowRequest } from "./CreateWorkflowRequest"; import { CreateWorkflowResponse } from "./CreateWorkflowResponse"; import { Creator } from "./Creator"; @@ -821,6 +854,9 @@ import { GCPUsageCostConfigPostRequest } from "./GCPUsageCostConfigPostRequest"; import { GCPUsageCostConfigPostRequestAttributes } from "./GCPUsageCostConfigPostRequestAttributes"; import { GCPUsageCostConfigResponse } from "./GCPUsageCostConfigResponse"; import { GCPUsageCostConfigsResponse } from "./GCPUsageCostConfigsResponse"; +import { GcpUcConfigResponse } from "./GcpUcConfigResponse"; +import { GcpUcConfigResponseData } from "./GcpUcConfigResponseData"; +import { GcpUcConfigResponseDataAttributes } from "./GcpUcConfigResponseDataAttributes"; import { GeminiAPIKey } from "./GeminiAPIKey"; import { GeminiAPIKeyUpdate } from "./GeminiAPIKeyUpdate"; import { GeminiIntegration } from "./GeminiIntegration"; @@ -1678,6 +1714,10 @@ import { RelationshipToUserTeamUserData } from "./RelationshipToUserTeamUserData import { RelationshipToUsers } from "./RelationshipToUsers"; import { Remediation } from "./Remediation"; import { ReorderRetentionFiltersRequest } from "./ReorderRetentionFiltersRequest"; +import { ReorderRuleResourceArray } from "./ReorderRuleResourceArray"; +import { ReorderRuleResourceData } from "./ReorderRuleResourceData"; +import { ReorderRulesetResourceArray } from "./ReorderRulesetResourceArray"; +import { ReorderRulesetResourceData } from "./ReorderRulesetResourceData"; import { ResourceFilterAttributes } from "./ResourceFilterAttributes"; import { ResponseMetaAttributes } from "./ResponseMetaAttributes"; import { RestrictionPolicy } from "./RestrictionPolicy"; @@ -1731,6 +1771,24 @@ import { RuleUser } from "./RuleUser"; import { RuleVersionHistory } from "./RuleVersionHistory"; import { RuleVersionUpdate } from "./RuleVersionUpdate"; import { RuleVersions } from "./RuleVersions"; +import { RulesValidateQueryRequest } from "./RulesValidateQueryRequest"; +import { RulesValidateQueryRequestData } from "./RulesValidateQueryRequestData"; +import { RulesValidateQueryRequestDataAttributes } from "./RulesValidateQueryRequestDataAttributes"; +import { RulesValidateQueryResponse } from "./RulesValidateQueryResponse"; +import { RulesValidateQueryResponseData } from "./RulesValidateQueryResponseData"; +import { RulesValidateQueryResponseDataAttributes } from "./RulesValidateQueryResponseDataAttributes"; +import { RulesetResp } from "./RulesetResp"; +import { RulesetRespArray } from "./RulesetRespArray"; +import { RulesetRespData } from "./RulesetRespData"; +import { RulesetRespDataAttributes } from "./RulesetRespDataAttributes"; +import { RulesetRespDataAttributesCreated } from "./RulesetRespDataAttributesCreated"; +import { RulesetRespDataAttributesModified } from "./RulesetRespDataAttributesModified"; +import { RulesetRespDataAttributesRulesItems } from "./RulesetRespDataAttributesRulesItems"; +import { RulesetRespDataAttributesRulesItemsMapping } from "./RulesetRespDataAttributesRulesItemsMapping"; +import { RulesetRespDataAttributesRulesItemsQuery } from "./RulesetRespDataAttributesRulesItemsQuery"; +import { RulesetRespDataAttributesRulesItemsQueryAddition } from "./RulesetRespDataAttributesRulesItemsQueryAddition"; +import { RulesetRespDataAttributesRulesItemsReferenceTable } from "./RulesetRespDataAttributesRulesItemsReferenceTable"; +import { RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems } from "./RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems"; import { RumMetricCompute } from "./RumMetricCompute"; import { RumMetricCreateAttributes } from "./RumMetricCreateAttributes"; import { RumMetricCreateData } from "./RumMetricCreateData"; @@ -2139,6 +2197,10 @@ import { TimeseriesResponse } from "./TimeseriesResponse"; import { TimeseriesResponseAttributes } from "./TimeseriesResponseAttributes"; import { TimeseriesResponseSeries } from "./TimeseriesResponseSeries"; import { TriggerRateLimit } from "./TriggerRateLimit"; +import { UCConfigPair } from "./UCConfigPair"; +import { UCConfigPairData } from "./UCConfigPairData"; +import { UCConfigPairDataAttributes } from "./UCConfigPairDataAttributes"; +import { UCConfigPairDataAttributesConfigsItems } from "./UCConfigPairDataAttributesConfigsItems"; import { Unit } from "./Unit"; import { UnpublishAppResponse } from "./UnpublishAppResponse"; import { UpdateActionConnectionRequest } from "./UpdateActionConnectionRequest"; @@ -2173,6 +2235,15 @@ import { UpdateRuleRequest } from "./UpdateRuleRequest"; import { UpdateRuleRequestData } from "./UpdateRuleRequestData"; import { UpdateRuleResponse } from "./UpdateRuleResponse"; import { UpdateRuleResponseData } from "./UpdateRuleResponseData"; +import { UpdateRulesetRequest } from "./UpdateRulesetRequest"; +import { UpdateRulesetRequestData } from "./UpdateRulesetRequestData"; +import { UpdateRulesetRequestDataAttributes } from "./UpdateRulesetRequestDataAttributes"; +import { UpdateRulesetRequestDataAttributesRulesItems } from "./UpdateRulesetRequestDataAttributesRulesItems"; +import { UpdateRulesetRequestDataAttributesRulesItemsMapping } from "./UpdateRulesetRequestDataAttributesRulesItemsMapping"; +import { UpdateRulesetRequestDataAttributesRulesItemsQuery } from "./UpdateRulesetRequestDataAttributesRulesItemsQuery"; +import { UpdateRulesetRequestDataAttributesRulesItemsQueryAddition } from "./UpdateRulesetRequestDataAttributesRulesItemsQueryAddition"; +import { UpdateRulesetRequestDataAttributesRulesItemsReferenceTable } from "./UpdateRulesetRequestDataAttributesRulesItemsReferenceTable"; +import { UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems } from "./UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems"; import { UpdateWorkflowRequest } from "./UpdateWorkflowRequest"; import { UpdateWorkflowResponse } from "./UpdateWorkflowResponse"; import { UpsertCatalogEntityResponse } from "./UpsertCatalogEntityResponse"; @@ -2420,6 +2491,8 @@ const enumsMap: { [key: string]: any[] } = { "-updated_at", "-user_name", ], + ArbitraryCostUpsertRequestDataType: ["upsert_arbitrary_rule"], + ArbitraryRuleResponseDataType: ["arbitrary_rule"], AsanaAccessTokenType: ["AsanaAccessToken"], AsanaIntegrationType: ["Asana"], AssetEntityType: ["assets"], @@ -2446,6 +2519,7 @@ const enumsMap: { [key: string]: any[] } = { AwsCURConfigPatchRequestType: ["aws_cur_config_patch_request"], AwsCURConfigPostRequestType: ["aws_cur_config_post_request"], AwsCURConfigType: ["aws_cur_config"], + AwsCurConfigResponseDataType: ["aws_cur_config"], AwsOnDemandType: ["aws_resource"], AwsScanOptionsType: ["aws_scan_options"], AzureIntegrationType: ["Azure"], @@ -2596,6 +2670,7 @@ const enumsMap: { [key: string]: any[] } = { CreateDataDeletionRequestBodyDataType: ["create_deletion_req"], CreatePageRequestDataType: ["pages"], CreatePageResponseDataType: ["pages"], + CreateRulesetRequestDataType: ["create_ruleset"], CustomConnectionType: ["custom_connections"], CustomDestinationAttributeTagsRestrictionListType: [ "ALLOW_LIST", @@ -2752,6 +2827,7 @@ const enumsMap: { [key: string]: any[] } = { GCPUsageCostConfigPatchRequestType: ["gcp_uc_config_patch_request"], GCPUsageCostConfigPostRequestType: ["gcp_uc_config_post_request"], GCPUsageCostConfigType: ["gcp_uc_config"], + GcpUcConfigResponseDataType: ["gcp_uc_config"], GeminiAPIKeyType: ["GeminiAPIKey"], GeminiIntegrationType: ["Gemini"], GetIssueIncludeQueryParameterItem: ["assignee", "case", "team_owners"], @@ -3306,6 +3382,8 @@ const enumsMap: { [key: string]: any[] } = { "RelationTypeImplementedBy", "RelationTypeImplements", ], + ReorderRuleResourceDataType: ["arbitrary_rule"], + ReorderRulesetResourceDataType: ["ruleset"], ResourceFilterRequestType: ["csm_resource_filter"], RestrictionPolicyType: ["restriction_policy"], RetentionFilterAllType: [ @@ -3346,6 +3424,9 @@ const enumsMap: { [key: string]: any[] } = { "iac_misconfiguration", ], RuleVersionUpdateType: ["create", "update", "delete"], + RulesValidateQueryRequestDataType: ["validate_query"], + RulesValidateQueryResponseDataType: ["validate_response"], + RulesetRespDataType: ["ruleset"], RumMetricComputeAggregationType: ["count", "distribution"], RumMetricEventType: [ "session", @@ -3653,8 +3734,10 @@ const enumsMap: { [key: string]: any[] } = { TimeseriesFormulaResponseType: ["timeseries_response"], TokenType: ["SECRET"], TriggerSource: ["security_findings", "security_signals"], + UCConfigPairDataType: ["azure_uc_configs"], UpdateAppsDatastoreItemRequestDataType: ["items"], UpdateOutcomesAsyncType: ["batched-outcome"], + UpdateRulesetRequestDataType: ["update_ruleset"], Urgency: ["low", "high", "dynamic"], UsageTimeSeriesType: ["usage_timeseries"], UserAttributesStatus: ["active", "deactivated", "pending"], @@ -3936,6 +4019,42 @@ const typeMap: { [index: string]: any } = { ApplicationSecurityWafExclusionFilterUpdateRequest, ApplicationSecurityWafExclusionFiltersResponse: ApplicationSecurityWafExclusionFiltersResponse, + ArbitraryCostUpsertRequest: ArbitraryCostUpsertRequest, + ArbitraryCostUpsertRequestData: ArbitraryCostUpsertRequestData, + ArbitraryCostUpsertRequestDataAttributes: + ArbitraryCostUpsertRequestDataAttributes, + ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems: + ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems, + ArbitraryCostUpsertRequestDataAttributesStrategy: + ArbitraryCostUpsertRequestDataAttributesStrategy, + ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems: + ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems, + ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems: + ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems, + ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems: + ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems, + ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems: + ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems, + ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems: + ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems, + ArbitraryRuleResponse: ArbitraryRuleResponse, + ArbitraryRuleResponseArray: ArbitraryRuleResponseArray, + ArbitraryRuleResponseData: ArbitraryRuleResponseData, + ArbitraryRuleResponseDataAttributes: ArbitraryRuleResponseDataAttributes, + ArbitraryRuleResponseDataAttributesCostsToAllocateItems: + ArbitraryRuleResponseDataAttributesCostsToAllocateItems, + ArbitraryRuleResponseDataAttributesStrategy: + ArbitraryRuleResponseDataAttributesStrategy, + ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems: + ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems, + ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems: + ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems, + ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems: + ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems, + ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems: + ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems, + ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems: + ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems, AsanaAccessToken: AsanaAccessToken, AsanaAccessTokenUpdate: AsanaAccessTokenUpdate, AsanaIntegration: AsanaIntegration, @@ -3979,8 +4098,12 @@ const typeMap: { [index: string]: any } = { AwsCURConfigPostData: AwsCURConfigPostData, AwsCURConfigPostRequest: AwsCURConfigPostRequest, AwsCURConfigPostRequestAttributes: AwsCURConfigPostRequestAttributes, - AwsCURConfigResponse: AwsCURConfigResponse, AwsCURConfigsResponse: AwsCURConfigsResponse, + AwsCurConfigResponse: AwsCurConfigResponse, + AwsCurConfigResponseData: AwsCurConfigResponseData, + AwsCurConfigResponseDataAttributes: AwsCurConfigResponseDataAttributes, + AwsCurConfigResponseDataAttributesAccountFilters: + AwsCurConfigResponseDataAttributesAccountFilters, AwsOnDemandAttributes: AwsOnDemandAttributes, AwsOnDemandCreateAttributes: AwsOnDemandCreateAttributes, AwsOnDemandCreateData: AwsOnDemandCreateData, @@ -4324,6 +4447,21 @@ const typeMap: { [index: string]: any } = { CreateRuleRequestData: CreateRuleRequestData, CreateRuleResponse: CreateRuleResponse, CreateRuleResponseData: CreateRuleResponseData, + CreateRulesetRequest: CreateRulesetRequest, + CreateRulesetRequestData: CreateRulesetRequestData, + CreateRulesetRequestDataAttributes: CreateRulesetRequestDataAttributes, + CreateRulesetRequestDataAttributesRulesItems: + CreateRulesetRequestDataAttributesRulesItems, + CreateRulesetRequestDataAttributesRulesItemsMapping: + CreateRulesetRequestDataAttributesRulesItemsMapping, + CreateRulesetRequestDataAttributesRulesItemsQuery: + CreateRulesetRequestDataAttributesRulesItemsQuery, + CreateRulesetRequestDataAttributesRulesItemsQueryAddition: + CreateRulesetRequestDataAttributesRulesItemsQueryAddition, + CreateRulesetRequestDataAttributesRulesItemsReferenceTable: + CreateRulesetRequestDataAttributesRulesItemsReferenceTable, + CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems: + CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems, CreateWorkflowRequest: CreateWorkflowRequest, CreateWorkflowResponse: CreateWorkflowResponse, Creator: Creator, @@ -4725,6 +4863,9 @@ const typeMap: { [index: string]: any } = { GCPUsageCostConfigPostRequestAttributes, GCPUsageCostConfigResponse: GCPUsageCostConfigResponse, GCPUsageCostConfigsResponse: GCPUsageCostConfigsResponse, + GcpUcConfigResponse: GcpUcConfigResponse, + GcpUcConfigResponseData: GcpUcConfigResponseData, + GcpUcConfigResponseDataAttributes: GcpUcConfigResponseDataAttributes, GeminiAPIKey: GeminiAPIKey, GeminiAPIKeyUpdate: GeminiAPIKeyUpdate, GeminiIntegration: GeminiIntegration, @@ -5734,6 +5875,10 @@ const typeMap: { [index: string]: any } = { RelationshipToUsers: RelationshipToUsers, Remediation: Remediation, ReorderRetentionFiltersRequest: ReorderRetentionFiltersRequest, + ReorderRuleResourceArray: ReorderRuleResourceArray, + ReorderRuleResourceData: ReorderRuleResourceData, + ReorderRulesetResourceArray: ReorderRulesetResourceArray, + ReorderRulesetResourceData: ReorderRulesetResourceData, ResourceFilterAttributes: ResourceFilterAttributes, ResponseMetaAttributes: ResponseMetaAttributes, RestrictionPolicy: RestrictionPolicy, @@ -5787,6 +5932,31 @@ const typeMap: { [index: string]: any } = { RuleVersionHistory: RuleVersionHistory, RuleVersionUpdate: RuleVersionUpdate, RuleVersions: RuleVersions, + RulesValidateQueryRequest: RulesValidateQueryRequest, + RulesValidateQueryRequestData: RulesValidateQueryRequestData, + RulesValidateQueryRequestDataAttributes: + RulesValidateQueryRequestDataAttributes, + RulesValidateQueryResponse: RulesValidateQueryResponse, + RulesValidateQueryResponseData: RulesValidateQueryResponseData, + RulesValidateQueryResponseDataAttributes: + RulesValidateQueryResponseDataAttributes, + RulesetResp: RulesetResp, + RulesetRespArray: RulesetRespArray, + RulesetRespData: RulesetRespData, + RulesetRespDataAttributes: RulesetRespDataAttributes, + RulesetRespDataAttributesCreated: RulesetRespDataAttributesCreated, + RulesetRespDataAttributesModified: RulesetRespDataAttributesModified, + RulesetRespDataAttributesRulesItems: RulesetRespDataAttributesRulesItems, + RulesetRespDataAttributesRulesItemsMapping: + RulesetRespDataAttributesRulesItemsMapping, + RulesetRespDataAttributesRulesItemsQuery: + RulesetRespDataAttributesRulesItemsQuery, + RulesetRespDataAttributesRulesItemsQueryAddition: + RulesetRespDataAttributesRulesItemsQueryAddition, + RulesetRespDataAttributesRulesItemsReferenceTable: + RulesetRespDataAttributesRulesItemsReferenceTable, + RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems: + RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems, RumMetricCompute: RumMetricCompute, RumMetricCreateAttributes: RumMetricCreateAttributes, RumMetricCreateData: RumMetricCreateData, @@ -6268,6 +6438,11 @@ const typeMap: { [index: string]: any } = { TimeseriesResponseAttributes: TimeseriesResponseAttributes, TimeseriesResponseSeries: TimeseriesResponseSeries, TriggerRateLimit: TriggerRateLimit, + UCConfigPair: UCConfigPair, + UCConfigPairData: UCConfigPairData, + UCConfigPairDataAttributes: UCConfigPairDataAttributes, + UCConfigPairDataAttributesConfigsItems: + UCConfigPairDataAttributesConfigsItems, Unit: Unit, UnpublishAppResponse: UnpublishAppResponse, UpdateActionConnectionRequest: UpdateActionConnectionRequest, @@ -6309,6 +6484,21 @@ const typeMap: { [index: string]: any } = { UpdateRuleRequestData: UpdateRuleRequestData, UpdateRuleResponse: UpdateRuleResponse, UpdateRuleResponseData: UpdateRuleResponseData, + UpdateRulesetRequest: UpdateRulesetRequest, + UpdateRulesetRequestData: UpdateRulesetRequestData, + UpdateRulesetRequestDataAttributes: UpdateRulesetRequestDataAttributes, + UpdateRulesetRequestDataAttributesRulesItems: + UpdateRulesetRequestDataAttributesRulesItems, + UpdateRulesetRequestDataAttributesRulesItemsMapping: + UpdateRulesetRequestDataAttributesRulesItemsMapping, + UpdateRulesetRequestDataAttributesRulesItemsQuery: + UpdateRulesetRequestDataAttributesRulesItemsQuery, + UpdateRulesetRequestDataAttributesRulesItemsQueryAddition: + UpdateRulesetRequestDataAttributesRulesItemsQueryAddition, + UpdateRulesetRequestDataAttributesRulesItemsReferenceTable: + UpdateRulesetRequestDataAttributesRulesItemsReferenceTable, + UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems: + UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems, UpdateWorkflowRequest: UpdateWorkflowRequest, UpdateWorkflowResponse: UpdateWorkflowResponse, UpsertCatalogEntityResponse: UpsertCatalogEntityResponse, diff --git a/packages/datadog-api-client-v2/models/ReorderRuleResourceArray.ts b/packages/datadog-api-client-v2/models/ReorderRuleResourceArray.ts new file mode 100644 index 000000000000..d80e72330dfc --- /dev/null +++ b/packages/datadog-api-client-v2/models/ReorderRuleResourceArray.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ReorderRuleResourceData } from "./ReorderRuleResourceData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ReorderRuleResourceArray` object. + */ +export class ReorderRuleResourceArray { + /** + * The `ReorderRuleResourceArray` `data`. + */ + "data": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ReorderRuleResourceArray.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ReorderRuleResourceData.ts b/packages/datadog-api-client-v2/models/ReorderRuleResourceData.ts new file mode 100644 index 000000000000..e52e18a467c2 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ReorderRuleResourceData.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ReorderRuleResourceDataType } from "./ReorderRuleResourceDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ReorderRuleResourceData` object. + */ +export class ReorderRuleResourceData { + /** + * The `ReorderRuleResourceData` `id`. + */ + "id"?: string; + /** + * Arbitrary rule resource type. + */ + "type": ReorderRuleResourceDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "ReorderRuleResourceDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ReorderRuleResourceData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ReorderRuleResourceDataType.ts b/packages/datadog-api-client-v2/models/ReorderRuleResourceDataType.ts new file mode 100644 index 000000000000..b069310a6635 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ReorderRuleResourceDataType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Arbitrary rule resource type. + */ + +export type ReorderRuleResourceDataType = + | typeof ARBITRARY_RULE + | UnparsedObject; +export const ARBITRARY_RULE = "arbitrary_rule"; diff --git a/packages/datadog-api-client-v2/models/ReorderRulesetResourceArray.ts b/packages/datadog-api-client-v2/models/ReorderRulesetResourceArray.ts new file mode 100644 index 000000000000..ec0bdfd358f3 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ReorderRulesetResourceArray.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ReorderRulesetResourceData } from "./ReorderRulesetResourceData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ReorderRulesetResourceArray` object. + */ +export class ReorderRulesetResourceArray { + /** + * The `ReorderRulesetResourceArray` `data`. + */ + "data": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ReorderRulesetResourceArray.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ReorderRulesetResourceData.ts b/packages/datadog-api-client-v2/models/ReorderRulesetResourceData.ts new file mode 100644 index 000000000000..2ba97b43775e --- /dev/null +++ b/packages/datadog-api-client-v2/models/ReorderRulesetResourceData.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ReorderRulesetResourceDataType } from "./ReorderRulesetResourceDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `ReorderRulesetResourceData` object. + */ +export class ReorderRulesetResourceData { + /** + * The `ReorderRulesetResourceData` `id`. + */ + "id"?: string; + /** + * Ruleset resource type. + */ + "type": ReorderRulesetResourceDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "ReorderRulesetResourceDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ReorderRulesetResourceData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ReorderRulesetResourceDataType.ts b/packages/datadog-api-client-v2/models/ReorderRulesetResourceDataType.ts new file mode 100644 index 000000000000..a49a2847a8e9 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ReorderRulesetResourceDataType.ts @@ -0,0 +1,14 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Ruleset resource type. + */ + +export type ReorderRulesetResourceDataType = typeof RULESET | UnparsedObject; +export const RULESET = "ruleset"; diff --git a/packages/datadog-api-client-v2/models/RulesValidateQueryRequest.ts b/packages/datadog-api-client-v2/models/RulesValidateQueryRequest.ts new file mode 100644 index 000000000000..4e6a517536a0 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesValidateQueryRequest.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RulesValidateQueryRequestData } from "./RulesValidateQueryRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesValidateQueryRequest` object. + */ +export class RulesValidateQueryRequest { + /** + * The definition of `RulesValidateQueryRequestData` object. + */ + "data"?: RulesValidateQueryRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "RulesValidateQueryRequestData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesValidateQueryRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesValidateQueryRequestData.ts b/packages/datadog-api-client-v2/models/RulesValidateQueryRequestData.ts new file mode 100644 index 000000000000..e3437d0aa38b --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesValidateQueryRequestData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RulesValidateQueryRequestDataAttributes } from "./RulesValidateQueryRequestDataAttributes"; +import { RulesValidateQueryRequestDataType } from "./RulesValidateQueryRequestDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesValidateQueryRequestData` object. + */ +export class RulesValidateQueryRequestData { + /** + * The definition of `RulesValidateQueryRequestDataAttributes` object. + */ + "attributes"?: RulesValidateQueryRequestDataAttributes; + /** + * The `RulesValidateQueryRequestData` `id`. + */ + "id"?: string; + /** + * Validate query resource type. + */ + "type": RulesValidateQueryRequestDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "RulesValidateQueryRequestDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "RulesValidateQueryRequestDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesValidateQueryRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesValidateQueryRequestDataAttributes.ts b/packages/datadog-api-client-v2/models/RulesValidateQueryRequestDataAttributes.ts new file mode 100644 index 000000000000..afb0ab7137cc --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesValidateQueryRequestDataAttributes.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesValidateQueryRequestDataAttributes` object. + */ +export class RulesValidateQueryRequestDataAttributes { + /** + * The `attributes` `Query`. + */ + "query": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + query: { + baseName: "Query", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesValidateQueryRequestDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesValidateQueryRequestDataType.ts b/packages/datadog-api-client-v2/models/RulesValidateQueryRequestDataType.ts new file mode 100644 index 000000000000..777f8aedf57a --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesValidateQueryRequestDataType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Validate query resource type. + */ + +export type RulesValidateQueryRequestDataType = + | typeof VALIDATE_QUERY + | UnparsedObject; +export const VALIDATE_QUERY = "validate_query"; diff --git a/packages/datadog-api-client-v2/models/RulesValidateQueryResponse.ts b/packages/datadog-api-client-v2/models/RulesValidateQueryResponse.ts new file mode 100644 index 000000000000..35579de7c6c0 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesValidateQueryResponse.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RulesValidateQueryResponseData } from "./RulesValidateQueryResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesValidateQueryResponse` object. + */ +export class RulesValidateQueryResponse { + /** + * The definition of `RulesValidateQueryResponseData` object. + */ + "data"?: RulesValidateQueryResponseData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "RulesValidateQueryResponseData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesValidateQueryResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesValidateQueryResponseData.ts b/packages/datadog-api-client-v2/models/RulesValidateQueryResponseData.ts new file mode 100644 index 000000000000..702e41f95a38 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesValidateQueryResponseData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RulesValidateQueryResponseDataAttributes } from "./RulesValidateQueryResponseDataAttributes"; +import { RulesValidateQueryResponseDataType } from "./RulesValidateQueryResponseDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesValidateQueryResponseData` object. + */ +export class RulesValidateQueryResponseData { + /** + * The definition of `RulesValidateQueryResponseDataAttributes` object. + */ + "attributes"?: RulesValidateQueryResponseDataAttributes; + /** + * The `RulesValidateQueryResponseData` `id`. + */ + "id"?: string; + /** + * Validate response resource type. + */ + "type": RulesValidateQueryResponseDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "RulesValidateQueryResponseDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "RulesValidateQueryResponseDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesValidateQueryResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesValidateQueryResponseDataAttributes.ts b/packages/datadog-api-client-v2/models/RulesValidateQueryResponseDataAttributes.ts new file mode 100644 index 000000000000..bac41cb323aa --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesValidateQueryResponseDataAttributes.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesValidateQueryResponseDataAttributes` object. + */ +export class RulesValidateQueryResponseDataAttributes { + /** + * The `attributes` `Canonical`. + */ + "canonical": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + canonical: { + baseName: "Canonical", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesValidateQueryResponseDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesValidateQueryResponseDataType.ts b/packages/datadog-api-client-v2/models/RulesValidateQueryResponseDataType.ts new file mode 100644 index 000000000000..bccfb6ba265b --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesValidateQueryResponseDataType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Validate response resource type. + */ + +export type RulesValidateQueryResponseDataType = + | typeof VALIDATE_RESPONSE + | UnparsedObject; +export const VALIDATE_RESPONSE = "validate_response"; diff --git a/packages/datadog-api-client-v2/models/AwsCURConfigResponse.ts b/packages/datadog-api-client-v2/models/RulesetResp.ts similarity index 78% rename from packages/datadog-api-client-v2/models/AwsCURConfigResponse.ts rename to packages/datadog-api-client-v2/models/RulesetResp.ts index bf92154c1c19..bbe50b7f80a5 100644 --- a/packages/datadog-api-client-v2/models/AwsCURConfigResponse.ts +++ b/packages/datadog-api-client-v2/models/RulesetResp.ts @@ -3,18 +3,18 @@ * This product includes software developed at Datadog (https://www.datadoghq.com/). * Copyright 2020-Present Datadog, Inc. */ -import { AwsCURConfig } from "./AwsCURConfig"; +import { RulesetRespData } from "./RulesetRespData"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * Response of AWS CUR config. + * The definition of `RulesetResp` object. */ -export class AwsCURConfigResponse { +export class RulesetResp { /** - * AWS CUR config. + * The definition of `RulesetRespData` object. */ - "data"?: AwsCURConfig; + "data"?: RulesetRespData; /** * A container for additional, undeclared properties. @@ -34,7 +34,7 @@ export class AwsCURConfigResponse { static readonly attributeTypeMap: AttributeTypeMap = { data: { baseName: "data", - type: "AwsCURConfig", + type: "RulesetRespData", }, additionalProperties: { baseName: "additionalProperties", @@ -46,7 +46,7 @@ export class AwsCURConfigResponse { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return AwsCURConfigResponse.attributeTypeMap; + return RulesetResp.attributeTypeMap; } public constructor() {} diff --git a/packages/datadog-api-client-v2/models/RulesetRespArray.ts b/packages/datadog-api-client-v2/models/RulesetRespArray.ts new file mode 100644 index 000000000000..d5ddc308c816 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesetRespArray.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RulesetRespData } from "./RulesetRespData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesetRespArray` object. + */ +export class RulesetRespArray { + /** + * The `RulesetRespArray` `data`. + */ + "data": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesetRespArray.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesetRespData.ts b/packages/datadog-api-client-v2/models/RulesetRespData.ts new file mode 100644 index 000000000000..00b1c517c796 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesetRespData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RulesetRespDataAttributes } from "./RulesetRespDataAttributes"; +import { RulesetRespDataType } from "./RulesetRespDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesetRespData` object. + */ +export class RulesetRespData { + /** + * The definition of `RulesetRespDataAttributes` object. + */ + "attributes"?: RulesetRespDataAttributes; + /** + * The `RulesetRespData` `id`. + */ + "id"?: string; + /** + * Ruleset resource type. + */ + "type": RulesetRespDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "RulesetRespDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "RulesetRespDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesetRespData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesetRespDataAttributes.ts b/packages/datadog-api-client-v2/models/RulesetRespDataAttributes.ts new file mode 100644 index 000000000000..53a108aac9b5 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesetRespDataAttributes.ts @@ -0,0 +1,121 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RulesetRespDataAttributesCreated } from "./RulesetRespDataAttributesCreated"; +import { RulesetRespDataAttributesModified } from "./RulesetRespDataAttributesModified"; +import { RulesetRespDataAttributesRulesItems } from "./RulesetRespDataAttributesRulesItems"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesetRespDataAttributes` object. + */ +export class RulesetRespDataAttributes { + /** + * The definition of `RulesetRespDataAttributesCreated` object. + */ + "created": RulesetRespDataAttributesCreated; + /** + * The `attributes` `enabled`. + */ + "enabled": boolean; + /** + * The `attributes` `last_modified_user_uuid`. + */ + "lastModifiedUserUuid": string; + /** + * The definition of `RulesetRespDataAttributesModified` object. + */ + "modified": RulesetRespDataAttributesModified; + /** + * The `attributes` `name`. + */ + "name": string; + /** + * The `attributes` `position`. + */ + "position": number; + /** + * The `attributes` `rules`. + */ + "rules": Array; + /** + * The `attributes` `version`. + */ + "version": number; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + created: { + baseName: "created", + type: "RulesetRespDataAttributesCreated", + required: true, + }, + enabled: { + baseName: "enabled", + type: "boolean", + required: true, + }, + lastModifiedUserUuid: { + baseName: "last_modified_user_uuid", + type: "string", + required: true, + }, + modified: { + baseName: "modified", + type: "RulesetRespDataAttributesModified", + required: true, + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + position: { + baseName: "position", + type: "number", + required: true, + format: "int32", + }, + rules: { + baseName: "rules", + type: "Array", + required: true, + }, + version: { + baseName: "version", + type: "number", + required: true, + format: "int64", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesetRespDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesetRespDataAttributesCreated.ts b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesCreated.ts new file mode 100644 index 000000000000..96215619e4f9 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesCreated.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesetRespDataAttributesCreated` object. + */ +export class RulesetRespDataAttributesCreated { + /** + * The `created` `nanos`. + */ + "nanos"?: number; + /** + * The `created` `seconds`. + */ + "seconds"?: number; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + nanos: { + baseName: "nanos", + type: "number", + format: "int32", + }, + seconds: { + baseName: "seconds", + type: "number", + format: "int64", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesetRespDataAttributesCreated.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesetRespDataAttributesModified.ts b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesModified.ts new file mode 100644 index 000000000000..c705d1b6fc1c --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesModified.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesetRespDataAttributesModified` object. + */ +export class RulesetRespDataAttributesModified { + /** + * The `modified` `nanos`. + */ + "nanos"?: number; + /** + * The `modified` `seconds`. + */ + "seconds"?: number; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + nanos: { + baseName: "nanos", + type: "number", + format: "int32", + }, + seconds: { + baseName: "seconds", + type: "number", + format: "int64", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesetRespDataAttributesModified.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItems.ts b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItems.ts new file mode 100644 index 000000000000..b32680b2e441 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItems.ts @@ -0,0 +1,97 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RulesetRespDataAttributesRulesItemsMapping } from "./RulesetRespDataAttributesRulesItemsMapping"; +import { RulesetRespDataAttributesRulesItemsQuery } from "./RulesetRespDataAttributesRulesItemsQuery"; +import { RulesetRespDataAttributesRulesItemsReferenceTable } from "./RulesetRespDataAttributesRulesItemsReferenceTable"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesetRespDataAttributesRulesItems` object. + */ +export class RulesetRespDataAttributesRulesItems { + /** + * The `items` `enabled`. + */ + "enabled": boolean; + /** + * The definition of `RulesetRespDataAttributesRulesItemsMapping` object. + */ + "mapping"?: RulesetRespDataAttributesRulesItemsMapping; + /** + * The `items` `metadata`. + */ + "metadata"?: { [key: string]: string }; + /** + * The `items` `name`. + */ + "name": string; + /** + * The definition of `RulesetRespDataAttributesRulesItemsQuery` object. + */ + "query"?: RulesetRespDataAttributesRulesItemsQuery; + /** + * The definition of `RulesetRespDataAttributesRulesItemsReferenceTable` object. + */ + "referenceTable"?: RulesetRespDataAttributesRulesItemsReferenceTable; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + required: true, + }, + mapping: { + baseName: "mapping", + type: "RulesetRespDataAttributesRulesItemsMapping", + }, + metadata: { + baseName: "metadata", + type: "{ [key: string]: string; }", + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + query: { + baseName: "query", + type: "RulesetRespDataAttributesRulesItemsQuery", + }, + referenceTable: { + baseName: "reference_table", + type: "RulesetRespDataAttributesRulesItemsReferenceTable", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesetRespDataAttributesRulesItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsMapping.ts b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsMapping.ts new file mode 100644 index 000000000000..b66a2daae17f --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsMapping.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesetRespDataAttributesRulesItemsMapping` object. + */ +export class RulesetRespDataAttributesRulesItemsMapping { + /** + * The `mapping` `destination_key`. + */ + "destinationKey": string; + /** + * The `mapping` `if_not_exists`. + */ + "ifNotExists": boolean; + /** + * The `mapping` `source_keys`. + */ + "sourceKeys": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + destinationKey: { + baseName: "destination_key", + type: "string", + required: true, + }, + ifNotExists: { + baseName: "if_not_exists", + type: "boolean", + required: true, + }, + sourceKeys: { + baseName: "source_keys", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesetRespDataAttributesRulesItemsMapping.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsQuery.ts b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsQuery.ts new file mode 100644 index 000000000000..0b465008ef61 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsQuery.ts @@ -0,0 +1,80 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RulesetRespDataAttributesRulesItemsQueryAddition } from "./RulesetRespDataAttributesRulesItemsQueryAddition"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesetRespDataAttributesRulesItemsQuery` object. + */ +export class RulesetRespDataAttributesRulesItemsQuery { + /** + * The definition of `RulesetRespDataAttributesRulesItemsQueryAddition` object. + */ + "addition": RulesetRespDataAttributesRulesItemsQueryAddition | null; + /** + * The `query` `case_insensitivity`. + */ + "caseInsensitivity"?: boolean; + /** + * The `query` `if_not_exists`. + */ + "ifNotExists": boolean; + /** + * The `query` `query`. + */ + "query": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + addition: { + baseName: "addition", + type: "RulesetRespDataAttributesRulesItemsQueryAddition", + required: true, + }, + caseInsensitivity: { + baseName: "case_insensitivity", + type: "boolean", + }, + ifNotExists: { + baseName: "if_not_exists", + type: "boolean", + required: true, + }, + query: { + baseName: "query", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesetRespDataAttributesRulesItemsQuery.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsQueryAddition.ts b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsQueryAddition.ts new file mode 100644 index 000000000000..5cadc55228d5 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsQueryAddition.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesetRespDataAttributesRulesItemsQueryAddition` object. + */ +export class RulesetRespDataAttributesRulesItemsQueryAddition { + /** + * The `addition` `key`. + */ + "key": string; + /** + * The `addition` `value`. + */ + "value": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + key: { + baseName: "key", + type: "string", + required: true, + }, + value: { + baseName: "value", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesetRespDataAttributesRulesItemsQueryAddition.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsReferenceTable.ts b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsReferenceTable.ts new file mode 100644 index 000000000000..b872c5dbe417 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsReferenceTable.ts @@ -0,0 +1,88 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems } from "./RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesetRespDataAttributesRulesItemsReferenceTable` object. + */ +export class RulesetRespDataAttributesRulesItemsReferenceTable { + /** + * The `reference_table` `case_insensitivity`. + */ + "caseInsensitivity"?: boolean; + /** + * The `reference_table` `field_pairs`. + */ + "fieldPairs": Array; + /** + * The `reference_table` `if_not_exists`. + */ + "ifNotExists"?: boolean; + /** + * The `reference_table` `source_keys`. + */ + "sourceKeys": Array; + /** + * The `reference_table` `table_name`. + */ + "tableName": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + caseInsensitivity: { + baseName: "case_insensitivity", + type: "boolean", + }, + fieldPairs: { + baseName: "field_pairs", + type: "Array", + required: true, + }, + ifNotExists: { + baseName: "if_not_exists", + type: "boolean", + }, + sourceKeys: { + baseName: "source_keys", + type: "Array", + required: true, + }, + tableName: { + baseName: "table_name", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesetRespDataAttributesRulesItemsReferenceTable.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems.ts b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems.ts new file mode 100644 index 000000000000..39d62bac066c --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems` object. + */ +export class RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems { + /** + * The `items` `input_column`. + */ + "inputColumn": string; + /** + * The `items` `output_key`. + */ + "outputKey": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + inputColumn: { + baseName: "input_column", + type: "string", + required: true, + }, + outputKey: { + baseName: "output_key", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RulesetRespDataType.ts b/packages/datadog-api-client-v2/models/RulesetRespDataType.ts new file mode 100644 index 000000000000..79b3464a1f33 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RulesetRespDataType.ts @@ -0,0 +1,14 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Ruleset resource type. + */ + +export type RulesetRespDataType = typeof RULESET | UnparsedObject; +export const RULESET = "ruleset"; diff --git a/packages/datadog-api-client-v2/models/UCConfigPair.ts b/packages/datadog-api-client-v2/models/UCConfigPair.ts new file mode 100644 index 000000000000..b848c6a45bb1 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UCConfigPair.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UCConfigPairData } from "./UCConfigPairData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `UCConfigPair` object. + */ +export class UCConfigPair { + /** + * The definition of `UCConfigPairData` object. + */ + "data"?: UCConfigPairData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "UCConfigPairData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UCConfigPair.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UCConfigPairData.ts b/packages/datadog-api-client-v2/models/UCConfigPairData.ts new file mode 100644 index 000000000000..cf0d3c11a8ff --- /dev/null +++ b/packages/datadog-api-client-v2/models/UCConfigPairData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UCConfigPairDataAttributes } from "./UCConfigPairDataAttributes"; +import { UCConfigPairDataType } from "./UCConfigPairDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `UCConfigPairData` object. + */ +export class UCConfigPairData { + /** + * The definition of `UCConfigPairDataAttributes` object. + */ + "attributes"?: UCConfigPairDataAttributes; + /** + * The `UCConfigPairData` `id`. + */ + "id"?: string; + /** + * Azure UC configs resource type. + */ + "type": UCConfigPairDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "UCConfigPairDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "UCConfigPairDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UCConfigPairData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UCConfigPairDataAttributes.ts b/packages/datadog-api-client-v2/models/UCConfigPairDataAttributes.ts new file mode 100644 index 000000000000..e89ccf0a8806 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UCConfigPairDataAttributes.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UCConfigPairDataAttributesConfigsItems } from "./UCConfigPairDataAttributesConfigsItems"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `UCConfigPairDataAttributes` object. + */ +export class UCConfigPairDataAttributes { + /** + * The `attributes` `configs`. + */ + "configs"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + configs: { + baseName: "configs", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UCConfigPairDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UCConfigPairDataAttributesConfigsItems.ts b/packages/datadog-api-client-v2/models/UCConfigPairDataAttributesConfigsItems.ts new file mode 100644 index 000000000000..6e18b0c665f1 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UCConfigPairDataAttributesConfigsItems.ts @@ -0,0 +1,165 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `UCConfigPairDataAttributesConfigsItems` object. + */ +export class UCConfigPairDataAttributesConfigsItems { + /** + * The `items` `account_id`. + */ + "accountId"?: string; + /** + * The `items` `client_id`. + */ + "clientId"?: string; + /** + * The `items` `created_at`. + */ + "createdAt"?: string; + /** + * The `items` `dataset_type`. + */ + "datasetType"?: string; + /** + * The `items` `error_messages`. + */ + "errorMessages"?: Array; + /** + * The `items` `export_name`. + */ + "exportName"?: string; + /** + * The `items` `export_path`. + */ + "exportPath"?: string; + /** + * The `items` `id`. + */ + "id"?: string; + /** + * The `items` `months`. + */ + "months"?: number; + /** + * The `items` `scope`. + */ + "scope"?: string; + /** + * The `items` `status`. + */ + "status"?: string; + /** + * The `items` `status_updated_at`. + */ + "statusUpdatedAt"?: string; + /** + * The `items` `storage_account`. + */ + "storageAccount"?: string; + /** + * The `items` `storage_container`. + */ + "storageContainer"?: string; + /** + * The `items` `updated_at`. + */ + "updatedAt"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + accountId: { + baseName: "account_id", + type: "string", + }, + clientId: { + baseName: "client_id", + type: "string", + }, + createdAt: { + baseName: "created_at", + type: "string", + }, + datasetType: { + baseName: "dataset_type", + type: "string", + }, + errorMessages: { + baseName: "error_messages", + type: "Array", + }, + exportName: { + baseName: "export_name", + type: "string", + }, + exportPath: { + baseName: "export_path", + type: "string", + }, + id: { + baseName: "id", + type: "string", + }, + months: { + baseName: "months", + type: "number", + format: "int64", + }, + scope: { + baseName: "scope", + type: "string", + }, + status: { + baseName: "status", + type: "string", + }, + statusUpdatedAt: { + baseName: "status_updated_at", + type: "string", + }, + storageAccount: { + baseName: "storage_account", + type: "string", + }, + storageContainer: { + baseName: "storage_container", + type: "string", + }, + updatedAt: { + baseName: "updated_at", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UCConfigPairDataAttributesConfigsItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UCConfigPairDataType.ts b/packages/datadog-api-client-v2/models/UCConfigPairDataType.ts new file mode 100644 index 000000000000..d7c8caa84953 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UCConfigPairDataType.ts @@ -0,0 +1,14 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Azure UC configs resource type. + */ + +export type UCConfigPairDataType = typeof AZURE_UC_CONFIGS | UnparsedObject; +export const AZURE_UC_CONFIGS = "azure_uc_configs"; diff --git a/packages/datadog-api-client-v2/models/UpdateRulesetRequest.ts b/packages/datadog-api-client-v2/models/UpdateRulesetRequest.ts new file mode 100644 index 000000000000..db0eb5bf27da --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateRulesetRequest.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UpdateRulesetRequestData } from "./UpdateRulesetRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `UpdateRulesetRequest` object. + */ +export class UpdateRulesetRequest { + /** + * The definition of `UpdateRulesetRequestData` object. + */ + "data"?: UpdateRulesetRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "UpdateRulesetRequestData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateRulesetRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateRulesetRequestData.ts b/packages/datadog-api-client-v2/models/UpdateRulesetRequestData.ts new file mode 100644 index 000000000000..6d4afeee533e --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateRulesetRequestData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UpdateRulesetRequestDataAttributes } from "./UpdateRulesetRequestDataAttributes"; +import { UpdateRulesetRequestDataType } from "./UpdateRulesetRequestDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `UpdateRulesetRequestData` object. + */ +export class UpdateRulesetRequestData { + /** + * The definition of `UpdateRulesetRequestDataAttributes` object. + */ + "attributes"?: UpdateRulesetRequestDataAttributes; + /** + * The `UpdateRulesetRequestData` `id`. + */ + "id"?: string; + /** + * Update ruleset resource type. + */ + "type": UpdateRulesetRequestDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "UpdateRulesetRequestDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "UpdateRulesetRequestDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateRulesetRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributes.ts b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributes.ts new file mode 100644 index 000000000000..cb8b4c896bcd --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributes.ts @@ -0,0 +1,72 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UpdateRulesetRequestDataAttributesRulesItems } from "./UpdateRulesetRequestDataAttributesRulesItems"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `UpdateRulesetRequestDataAttributes` object. + */ +export class UpdateRulesetRequestDataAttributes { + /** + * The `attributes` `enabled`. + */ + "enabled": boolean; + /** + * The `attributes` `last_version`. + */ + "lastVersion"?: number; + /** + * The `attributes` `rules`. + */ + "rules": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + required: true, + }, + lastVersion: { + baseName: "last_version", + type: "number", + format: "int64", + }, + rules: { + baseName: "rules", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateRulesetRequestDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItems.ts b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItems.ts new file mode 100644 index 000000000000..e3b7113dd423 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItems.ts @@ -0,0 +1,97 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UpdateRulesetRequestDataAttributesRulesItemsMapping } from "./UpdateRulesetRequestDataAttributesRulesItemsMapping"; +import { UpdateRulesetRequestDataAttributesRulesItemsQuery } from "./UpdateRulesetRequestDataAttributesRulesItemsQuery"; +import { UpdateRulesetRequestDataAttributesRulesItemsReferenceTable } from "./UpdateRulesetRequestDataAttributesRulesItemsReferenceTable"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `UpdateRulesetRequestDataAttributesRulesItems` object. + */ +export class UpdateRulesetRequestDataAttributesRulesItems { + /** + * The `items` `enabled`. + */ + "enabled": boolean; + /** + * The definition of `UpdateRulesetRequestDataAttributesRulesItemsMapping` object. + */ + "mapping"?: UpdateRulesetRequestDataAttributesRulesItemsMapping; + /** + * The `items` `metadata`. + */ + "metadata"?: { [key: string]: string }; + /** + * The `items` `name`. + */ + "name": string; + /** + * The definition of `UpdateRulesetRequestDataAttributesRulesItemsQuery` object. + */ + "query"?: UpdateRulesetRequestDataAttributesRulesItemsQuery; + /** + * The definition of `UpdateRulesetRequestDataAttributesRulesItemsReferenceTable` object. + */ + "referenceTable"?: UpdateRulesetRequestDataAttributesRulesItemsReferenceTable; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + required: true, + }, + mapping: { + baseName: "mapping", + type: "UpdateRulesetRequestDataAttributesRulesItemsMapping", + }, + metadata: { + baseName: "metadata", + type: "{ [key: string]: string; }", + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + query: { + baseName: "query", + type: "UpdateRulesetRequestDataAttributesRulesItemsQuery", + }, + referenceTable: { + baseName: "reference_table", + type: "UpdateRulesetRequestDataAttributesRulesItemsReferenceTable", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateRulesetRequestDataAttributesRulesItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsMapping.ts b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsMapping.ts new file mode 100644 index 000000000000..2c82eb749b9c --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsMapping.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `UpdateRulesetRequestDataAttributesRulesItemsMapping` object. + */ +export class UpdateRulesetRequestDataAttributesRulesItemsMapping { + /** + * The `mapping` `destination_key`. + */ + "destinationKey": string; + /** + * The `mapping` `if_not_exists`. + */ + "ifNotExists": boolean; + /** + * The `mapping` `source_keys`. + */ + "sourceKeys": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + destinationKey: { + baseName: "destination_key", + type: "string", + required: true, + }, + ifNotExists: { + baseName: "if_not_exists", + type: "boolean", + required: true, + }, + sourceKeys: { + baseName: "source_keys", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateRulesetRequestDataAttributesRulesItemsMapping.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsQuery.ts b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsQuery.ts new file mode 100644 index 000000000000..a6e123df4dc5 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsQuery.ts @@ -0,0 +1,80 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UpdateRulesetRequestDataAttributesRulesItemsQueryAddition } from "./UpdateRulesetRequestDataAttributesRulesItemsQueryAddition"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `UpdateRulesetRequestDataAttributesRulesItemsQuery` object. + */ +export class UpdateRulesetRequestDataAttributesRulesItemsQuery { + /** + * The definition of `UpdateRulesetRequestDataAttributesRulesItemsQueryAddition` object. + */ + "addition": UpdateRulesetRequestDataAttributesRulesItemsQueryAddition | null; + /** + * The `query` `case_insensitivity`. + */ + "caseInsensitivity"?: boolean; + /** + * The `query` `if_not_exists`. + */ + "ifNotExists": boolean; + /** + * The `query` `query`. + */ + "query": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + addition: { + baseName: "addition", + type: "UpdateRulesetRequestDataAttributesRulesItemsQueryAddition", + required: true, + }, + caseInsensitivity: { + baseName: "case_insensitivity", + type: "boolean", + }, + ifNotExists: { + baseName: "if_not_exists", + type: "boolean", + required: true, + }, + query: { + baseName: "query", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateRulesetRequestDataAttributesRulesItemsQuery.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsQueryAddition.ts b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsQueryAddition.ts new file mode 100644 index 000000000000..ffcfb2e4944b --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsQueryAddition.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `UpdateRulesetRequestDataAttributesRulesItemsQueryAddition` object. + */ +export class UpdateRulesetRequestDataAttributesRulesItemsQueryAddition { + /** + * The `addition` `key`. + */ + "key": string; + /** + * The `addition` `value`. + */ + "value": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + key: { + baseName: "key", + type: "string", + required: true, + }, + value: { + baseName: "value", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateRulesetRequestDataAttributesRulesItemsQueryAddition.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsReferenceTable.ts b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsReferenceTable.ts new file mode 100644 index 000000000000..dc3c1280f928 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsReferenceTable.ts @@ -0,0 +1,88 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems } from "./UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `UpdateRulesetRequestDataAttributesRulesItemsReferenceTable` object. + */ +export class UpdateRulesetRequestDataAttributesRulesItemsReferenceTable { + /** + * The `reference_table` `case_insensitivity`. + */ + "caseInsensitivity"?: boolean; + /** + * The `reference_table` `field_pairs`. + */ + "fieldPairs": Array; + /** + * The `reference_table` `if_not_exists`. + */ + "ifNotExists"?: boolean; + /** + * The `reference_table` `source_keys`. + */ + "sourceKeys": Array; + /** + * The `reference_table` `table_name`. + */ + "tableName": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + caseInsensitivity: { + baseName: "case_insensitivity", + type: "boolean", + }, + fieldPairs: { + baseName: "field_pairs", + type: "Array", + required: true, + }, + ifNotExists: { + baseName: "if_not_exists", + type: "boolean", + }, + sourceKeys: { + baseName: "source_keys", + type: "Array", + required: true, + }, + tableName: { + baseName: "table_name", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateRulesetRequestDataAttributesRulesItemsReferenceTable.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems.ts b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems.ts new file mode 100644 index 000000000000..bc5ce65d1aad --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems` object. + */ +export class UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems { + /** + * The `items` `input_column`. + */ + "inputColumn": string; + /** + * The `items` `output_key`. + */ + "outputKey": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + inputColumn: { + baseName: "input_column", + type: "string", + required: true, + }, + outputKey: { + baseName: "output_key", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataType.ts b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataType.ts new file mode 100644 index 000000000000..85d8acf77c78 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateRulesetRequestDataType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Update ruleset resource type. + */ + +export type UpdateRulesetRequestDataType = + | typeof UPDATE_RULESET + | UnparsedObject; +export const UPDATE_RULESET = "update_ruleset";