diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 5f48d382ebe5..d8f50ea93052 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -38703,9 +38703,85 @@ components: - PIPELINES_FAILED_DESCENDING - PIPELINES_DURATION_LOST_ASCENDING - PIPELINES_DURATION_LOST_DESCENDING - FleetAgentAttributes: - description: Attributes of a Datadog Agent in the list view. + FleetAgentAttributesTagsItems: + description: A key-value pair representing a tag associated with a Datadog Agent. + properties: + key: + description: The tag key. + type: string + value: + description: The tag value. + type: string + type: object + FleetAgentConfigurationFilesV2: + description: Configuration details for an agent, organized by configuration layer. + properties: + agent_configuration: + $ref: "#/components/schemas/FleetConfigurationLayer" + application_monitoring_configuration: + $ref: "#/components/schemas/FleetConfigurationLayer" + datadog_agent_key: + description: The unique agent key identifier. + example: "a1b2c3d4e5f67890a1b2c3d4e5f67890" + type: string + otel_collectors_configuration: + description: >- + Configuration for OpenTelemetry collectors associated with the agent. Present only when the agent has associated OpenTelemetry collectors. + items: + $ref: "#/components/schemas/FleetOtelCollectorConfigurationV2" + type: array + security_agent_configuration: + $ref: "#/components/schemas/FleetConfigurationLayer" + system_probe_configuration: + $ref: "#/components/schemas/FleetConfigurationLayer" + version: + description: The configuration version. + type: string + type: object + FleetAgentDetailV2: + description: Detailed information about a specific Datadog Agent. + properties: + attributes: + $ref: "#/components/schemas/FleetAgentDetailV2Attributes" + id: + description: The unique agent key identifier. + example: "a1b2c3d4e5f67890a1b2c3d4e5f67890" + type: string + type: + $ref: "#/components/schemas/FleetAgentV2ResourceType" + required: + - id + - type + - attributes + type: object + FleetAgentDetailV2Attributes: + description: Attributes for the v2 agent detail response. + properties: + agent_infos: + $ref: "#/components/schemas/FleetAgentInfoDetailsV2" + configuration_files: + $ref: "#/components/schemas/FleetAgentConfigurationFilesV2" + description: Configuration file details, present only when `configuration_files` is included in the `include` query parameter. + integrations: + $ref: "#/components/schemas/FleetIntegrationsByStatusV2" + description: Integration details, present only when `integrations` is included in the `include` query parameter. + required: + - agent_infos + type: object + FleetAgentDetailV2Response: + description: Response containing detailed information about a specific Datadog Agent. + properties: + data: + $ref: "#/components/schemas/FleetAgentDetailV2" + required: + - data + type: object + FleetAgentInfoDetailsV2: + description: Detailed information about a Datadog Agent. properties: + active_ha_agent: + description: The currently active agent in the high-availability group. + type: string agent_version: description: The Datadog Agent version. example: "7.50.0" @@ -38725,9 +38801,24 @@ components: cluster_name: description: Kubernetes cluster name (if applicable). type: string + config_id: + description: The configuration identifier applied to the agent. + type: string datadog_agent_key: description: The unique agent key identifier. - example: "my-agent-hostname" + example: "a1b2c3d4e5f67890a1b2c3d4e5f67890" + type: string + datadog_data_center: + description: The Datadog data center the agent reports to. + example: "us1" + type: string + ecs_fargate_cluster_name: + description: The ECS Fargate cluster name, if the agent runs in an ECS Fargate environment. + example: "my-ecs-cluster" + type: string + ecs_fargate_task_arn: + description: The ECS Fargate task ARN, if the agent runs in an ECS Fargate environment. + example: "arn:aws:ecs:us-east-1:123456789012:task/my-cluster/abc123" type: string enabled_products: description: Datadog products enabled on the agent. @@ -38735,7 +38826,7 @@ components: description: A Datadog product enabled on the agent. type: string type: array - envs: + env: description: Environments the agent is reporting from. items: description: An environment name the agent is reporting from. @@ -38745,10 +38836,33 @@ components: description: Timestamp when the agent was first seen. format: int64 type: integer + ha_agent_hosts: + description: Hosts participating in the agent's high-availability group. + items: + description: A hostname participating in the high-availability group. + type: string + type: array + ha_agent_state: + description: The high-availability state of the agent. + type: string hostname: description: The hostname of the agent. example: "my-hostname" type: string + hostname_aliases: + description: Alternative hostname list for the agent. + items: + description: An alternative hostname alias for the agent. + type: string + type: array + install_method_installer_version: + description: The version of the installer used. + example: "1.2.3" + type: string + install_method_tool: + description: The tool used to install the agent. + example: "chef" + type: string ip_addresses: description: IP addresses of the agent. items: @@ -38766,6 +38880,22 @@ components: description: The operating system. example: "linux" type: string + os_version: + description: The operating system version. + example: "Ubuntu 20.04" + type: string + otel_collector_deployment_types: + description: OpenTelemetry collector deployment types associated with the agent. + items: + description: An OpenTelemetry collector deployment type. + type: string + type: array + otel_collector_distributions: + description: OpenTelemetry collector distributions associated with the agent. + items: + description: An OpenTelemetry collector distribution. + type: string + type: array otel_collector_version: description: OpenTelemetry collector version (if applicable). type: string @@ -38775,9 +38905,33 @@ components: description: An OpenTelemetry collector version string. type: string type: array + otel_collectors: + description: OpenTelemetry collectors associated with the agent (if applicable). + items: + $ref: "#/components/schemas/FleetOtelCollector" + type: array + otel_resource_attributes: + description: OpenTelemetry resource attributes reported by the agent. + items: + description: An OpenTelemetry resource attribute. + type: string + type: array pod_name: description: Kubernetes pod name (if applicable). type: string + preferred_ha_active_agent: + description: The preferred active agent in the high-availability group. + type: string + python_version: + description: The Python version used by the agent. + example: "3.9.5" + type: string + region: + description: Regions where the agent is running. + items: + description: A region where the agent is running. + type: string + type: array remote_agent_management: description: Remote agent management status. example: "enabled" @@ -38792,69 +38946,48 @@ components: description: A service name running on the agent. type: string type: array + support_agent_upgrade: + description: Whether the agent supports remote agent upgrade. + type: boolean tags: description: Tags associated with the agent. items: - $ref: "#/components/schemas/FleetAgentAttributesTagsItems" + description: A tag string assigned to the agent. + type: string type: array team: description: Team associated with the agent. type: string type: object - FleetAgentAttributesTagsItems: - description: A key-value pair representing a tag associated with a Datadog Agent. - properties: - key: - description: The tag key. - type: string - value: - description: The tag value. - type: string - type: object - FleetAgentInfo: - description: Represents detailed information about a specific Datadog Agent. + FleetAgentV2: + description: A Datadog Agent resource in the v2 list response. properties: attributes: - $ref: "#/components/schemas/FleetAgentInfoAttributes" + $ref: "#/components/schemas/FleetAgentV2Attributes" id: description: The unique agent key identifier. example: "my-agent-hostname" type: string type: - $ref: "#/components/schemas/FleetAgentInfoResourceType" + $ref: "#/components/schemas/FleetAgentV2ResourceType" required: - id - type - attributes type: object - FleetAgentInfoAttributes: - description: Attributes for agent information. - properties: - agent_infos: - $ref: "#/components/schemas/FleetAgentInfoDetails" - configuration_files: - $ref: "#/components/schemas/FleetConfigurationLayer" - detected_integrations: - description: List of detected integrations. - items: - $ref: "#/components/schemas/FleetDetectedIntegration" - type: array - integrations: - $ref: "#/components/schemas/FleetIntegrationsByStatus" - type: object - FleetAgentInfoDetails: - description: Detailed information about a Datadog Agent. + FleetAgentV2Attributes: + description: Attributes of a Datadog Agent in the v2 list response. properties: agent_version: description: The Datadog Agent version. example: "7.50.0" type: string api_key_name: - description: The API key name (if available and not redacted). + description: The name of the API key used by the agent, if available and not redacted. example: "Production API Key" type: string api_key_uuid: - description: The API key UUID. + description: The UUID of the API key used by the agent. example: "a1b2c3d4-e5f6-4321-a123-123456789abc" type: string cloud_provider: @@ -38862,11 +38995,20 @@ components: example: "aws" type: string cluster_name: - description: Kubernetes cluster name (if applicable). + description: The Kubernetes cluster name, if the agent runs in a cluster. + example: "production-us-east-1" type: string - datadog_agent_key: - description: The unique agent key identifier. - example: "my-agent-hostname" + datadog_data_center: + description: The Datadog data center the agent reports to. + example: "us1" + type: string + ecs_fargate_cluster_name: + description: The ECS Fargate cluster name, if the agent runs in an ECS Fargate environment. + example: "my-ecs-cluster" + type: string + ecs_fargate_task_arn: + description: The ECS Fargate task ARN, if the agent runs in an ECS Fargate environment. + example: "arn:aws:ecs:us-east-1:123456789012:task/my-cluster/abc123" type: string enabled_products: description: Datadog products enabled on the agent. @@ -38881,81 +39023,91 @@ components: type: string type: array first_seen_at: - description: Timestamp when the agent was first seen. + description: Unix timestamp when the agent was first seen. + example: 1699900000 format: int64 type: integer + fleet_policies: + description: Identifiers of fleet policies applied to the agent. + items: + description: A fleet policy identifier applied to the agent. + type: string + type: array hostname: description: The hostname of the agent. example: "my-hostname" type: string - hostname_aliases: - description: Alternative hostname list for the agent. + instrumentation_error_counts: + description: >- + Number of instrumentation errors on the agent. Absent from the response when the count is zero. + example: 3 + format: int64 + type: integer + instrumentation_status: + $ref: "#/components/schemas/FleetAgentV2AttributesInstrumentationStatus" + integrations: + description: Names of integrations configured on the agent. items: - description: An alternative hostname alias for the agent. + description: An integration name configured on the agent. type: string type: array - install_method_installer_version: - description: The version of the installer used. - example: "1.2.3" - type: string - install_method_tool: - description: The tool used to install the agent. - example: "chef" - type: string ip_addresses: - description: IP addresses of the agent. + description: IP addresses of the agent host. items: - description: An IP address of the agent. + description: An IP address of the agent host. type: string type: array is_single_step_instrumentation_enabled: - description: Whether single-step instrumentation is enabled. + description: Whether single-step instrumentation is enabled on the agent. + example: true type: boolean last_restart_at: - description: Timestamp of the last agent restart. + description: Unix timestamp of the last agent restart. + example: 1699999999 format: int64 type: integer os: - description: The operating system. + description: The operating system of the host. example: "linux" type: string - os_version: - description: The operating system version. - example: "Ubuntu 20.04" - type: string + otel_collector_deployment_types: + description: OpenTelemetry collector deployment types associated with the agent. + items: + description: An OpenTelemetry collector deployment type. + type: string + type: array + otel_collector_distributions: + description: OpenTelemetry collector distributions associated with the agent. + items: + description: An OpenTelemetry collector distribution. + type: string + type: array otel_collector_version: - description: OpenTelemetry collector version (if applicable). + description: The primary OpenTelemetry collector version, if applicable. + example: "0.91.0" type: string otel_collector_versions: - description: List of OpenTelemetry collector versions (if applicable). + description: All OpenTelemetry collector versions associated with the agent. items: description: An OpenTelemetry collector version string. type: string type: array - otel_collectors: - description: OpenTelemetry collectors associated with the agent (if applicable). + otel_resource_attributes: + description: OpenTelemetry resource attributes reported by the agent. items: - $ref: "#/components/schemas/FleetOtelCollector" + description: An OpenTelemetry resource attribute. + type: string type: array pod_name: - description: Kubernetes pod name (if applicable). - type: string - python_version: - description: The Python version used by the agent. - example: "3.9.5" + description: The Kubernetes pod name, if the agent runs as a pod. + example: "datadog-agent-abc123" type: string - region: - description: Regions where the agent is running. - items: - description: A region where the agent is running. - type: string - type: array remote_agent_management: - description: Remote agent management status. + description: The remote agent management status. example: "enabled" type: string remote_config_status: - description: Remote configuration status. + description: The remote configuration connection status of the agent. example: "connected" type: string services: @@ -38965,124 +39117,135 @@ components: type: string type: array tags: - description: Tags associated with the agent. + description: >- + Tags associated with the agent. Returned as an empty array when the agent has no tags. items: - description: A tag string assigned to the agent. - type: string + $ref: "#/components/schemas/FleetAgentAttributesTagsItems" type: array team: - description: Team associated with the agent. + description: The team associated with the agent. + example: "platform" type: string type: object - FleetAgentInfoResourceType: - default: datadog_agent_key - description: The type of Agent info resource. + FleetAgentV2AttributesInstrumentationStatus: + description: The single-step instrumentation status of the Agent. enum: - - datadog_agent_key - example: datadog_agent_key + - success + - failure + example: "success" type: string x-enum-varnames: - - DATADOG_AGENT_KEY - FleetAgentInfoResponse: - description: Response containing detailed information about a specific agent. - properties: - data: - $ref: "#/components/schemas/FleetAgentInfo" - required: - - data - type: object - FleetAgentVersion: - description: Represents an available Datadog Agent version. + - SUCCESS + - FAILURE + FleetAgentV2ResourceType: + default: agent + description: The type of the agent resource. + enum: + - agent + example: agent + type: string + x-enum-varnames: + - AGENT + FleetAgentVersionV2: + description: An available Datadog Agent version resource. properties: attributes: - $ref: "#/components/schemas/FleetAgentVersionAttributes" + $ref: "#/components/schemas/FleetAgentVersionV2Attributes" id: - description: Unique identifier for the Agent version (same as version). - example: "7.50.0" + description: The agent version string used as the unique identifier. + example: "7.81.1" type: string type: - $ref: "#/components/schemas/FleetAgentVersionResourceType" + $ref: "#/components/schemas/FleetAgentVersionV2ResourceType" required: - id - type + - attributes type: object - FleetAgentVersionAttributes: + FleetAgentVersionV2Attributes: description: Attributes of an available Datadog Agent version. properties: version: - description: The Agent version string. - example: "7.50.0" + description: The agent version string. + example: "7.81.1" type: string type: object - FleetAgentVersionResourceType: + FleetAgentVersionV2ResourceType: default: agent_version - description: The type of Agent version resource. + description: The type of the agent version resource. enum: - agent_version example: agent_version type: string x-enum-varnames: - AGENT_VERSION - FleetAgentVersionsResponse: - description: Response containing a list of available Agent versions. + FleetAgentVersionsV2Page: + description: Pagination details for the v2 list of agent versions. + properties: + total_count: + description: Total number of available agent versions. + example: 10 + format: int64 + type: integer + type: object + FleetAgentVersionsV2Response: + description: Response containing a list of available Datadog Agent versions. properties: data: - description: Array of available Agent versions. + description: Array of available agent versions. items: - $ref: "#/components/schemas/FleetAgentVersion" + $ref: "#/components/schemas/FleetAgentVersionV2" type: array + meta: + $ref: "#/components/schemas/FleetAgentVersionsV2ResponseMeta" required: - data type: object - FleetAgentsResponse: - description: Response containing a paginated list of Datadog Agents. + FleetAgentVersionsV2ResponseMeta: + description: Metadata for the v2 list of agent versions. properties: - data: - $ref: "#/components/schemas/FleetAgentsResponseData" - meta: - $ref: "#/components/schemas/FleetAgentsResponseMeta" - required: - - data + page: + $ref: "#/components/schemas/FleetAgentVersionsV2Page" type: object - FleetAgentsResponseData: - description: The response data containing status and agents array. + FleetAgentsV2Page: + description: Pagination details for the v2 list of agents. properties: - attributes: - $ref: "#/components/schemas/FleetAgentsResponseDataAttributes" - id: - description: Status identifier. - example: "done" - type: string - type: - description: Resource type. - example: "status" - type: string - required: - - id - - type - - attributes + total_count: + description: Total number of agents in the fleet, regardless of any filter. + example: 500 + format: int64 + type: integer + total_filtered_count: + description: Total number of agents matching the current filter criteria. + example: 42 + format: int64 + type: integer type: object - FleetAgentsResponseDataAttributes: - description: Attributes of the fleet agents response containing the list of agents. + FleetAgentsV2Response: + description: Response containing a paginated list of Datadog Agents. properties: - agents: + data: description: Array of agents matching the query criteria. items: - $ref: "#/components/schemas/FleetAgentAttributes" + $ref: "#/components/schemas/FleetAgentV2" type: array + meta: + $ref: "#/components/schemas/FleetAgentsV2ResponseMeta" + required: + - data type: object - FleetAgentsResponseMeta: - description: Metadata for the list of agents response. + FleetAgentsV2ResponseMeta: + description: Metadata for the v2 list of agents, including pagination information. properties: - total_filtered_count: - description: Total number of agents matching the filter criteria across all pages. - example: 150 - format: int64 - type: integer + page: + $ref: "#/components/schemas/FleetAgentsV2Page" type: object - FleetConfigurationFile: + FleetConfigurationFileV2: description: A configuration file for an integration. properties: + agent_hash: + description: Hash of the configuration file as seen by the agent. + type: string file_content: description: The raw content of the configuration file. type: string @@ -39094,6 +39257,9 @@ components: description: Name of the configuration file. example: "postgres.yaml" type: string + fleet_hash: + description: Hash of the configuration file as applied by fleet management. + type: string type: object FleetConfigurationLayer: description: Configuration information organized by layers. @@ -39175,40 +39341,137 @@ components: format: int64 type: integer type: object - FleetDeploymentConfigureAttributes: - description: Attributes for creating a new configuration deployment. + FleetDeploymentConfigureV2Attributes: + description: Attributes for creating a new v2 configuration deployment. properties: config_operations: description: Ordered list of configuration file operations to perform on the target hosts. items: $ref: "#/components/schemas/FleetDeploymentOperation" type: array + dry_run: + description: |- + Set to `true` to validate the configuration and resolve target hosts and packages + without deploying anything. Returns a 200 with the validation result instead of + creating and starting a real deployment. + example: false + type: boolean filter_query: description: Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax. example: "env:prod AND service:web" type: string + target_packages: + description: |- + List of packages and their target versions to additionally deploy alongside + the configuration change. + items: + $ref: "#/components/schemas/FleetDeploymentConfigureV2Package" + type: array required: + - filter_query - config_operations type: object - FleetDeploymentConfigureCreate: - description: Data for creating a new configuration deployment. + FleetDeploymentConfigureV2Create: + description: Data for creating a new v2 configuration deployment. + properties: + attributes: + $ref: "#/components/schemas/FleetDeploymentConfigureV2Attributes" + type: + $ref: "#/components/schemas/FleetDeploymentResourceType" + required: + - type + - attributes + type: object + FleetDeploymentConfigureV2CreateRequest: + description: Request payload for creating a new v2 configuration deployment. + properties: + data: + $ref: "#/components/schemas/FleetDeploymentConfigureV2Create" + required: + - data + type: object + FleetDeploymentConfigureV2DryRun: + description: The result of a configuration deployment dry run. properties: attributes: - $ref: "#/components/schemas/FleetDeploymentConfigureAttributes" + $ref: "#/components/schemas/FleetDeploymentConfigureV2DryRunAttributes" + id: + description: |- + Always `"dry-run"` for a dry-run response. Does not identify a real deployment + and cannot be used to fetch a deployment by ID. + example: "dry-run" + type: string type: $ref: "#/components/schemas/FleetDeploymentResourceType" required: + - id - type - attributes type: object - FleetDeploymentConfigureCreateRequest: - description: Request payload for creating a new configuration deployment. + FleetDeploymentConfigureV2DryRunAttributes: + description: Attributes of a configuration deployment dry-run response. + properties: + dry_run: + $ref: "#/components/schemas/FleetDeploymentConfigureV2DryRunResult" + query: + description: Query used to filter and select target hosts for the deployment. + example: "env:prod AND service:web" + type: string + total_hosts: + description: Total number of hosts targeted by the dry run. + example: 42 + format: int64 + type: integer + type: object + FleetDeploymentConfigureV2DryRunResponse: + description: Response containing the result of a configuration deployment dry run. properties: data: - $ref: "#/components/schemas/FleetDeploymentConfigureCreate" + $ref: "#/components/schemas/FleetDeploymentConfigureV2DryRun" required: - data type: object + FleetDeploymentConfigureV2DryRunResult: + description: Validation result of a configuration deployment dry run. + properties: + config_validated: + description: Whether the configuration passed schema validation. + example: true + type: boolean + non_upgradable_by_reason: + additionalProperties: + format: int64 + type: integer + description: |- + Breakdown of ineligible host counts by reason. Only includes reasons with a + non-zero count. Absent from the response when no targeted host is ineligible. + example: {} + type: object + non_upgradable_hosts: + description: Number of targeted hosts that are not eligible to receive this configuration. + example: 0 + format: int64 + type: integer + type: object + FleetDeploymentConfigureV2Package: + description: A package and its target version to additionally deploy alongside a configuration change. + properties: + apm_instrumentation: + description: APM auto-instrumentation mode to enable for this package, if applicable. + example: "host" + type: string + name: + description: The name of the package to deploy. + example: "datadog-agent" + type: string + version: + description: The target version of the package to deploy. + example: "7.52.0" + type: string + required: + - name + - version + type: object FleetDeploymentFileOp: description: |- Type of file operation to perform on the target configuration file. @@ -39332,8 +39595,8 @@ components: - name - version type: object - FleetDeploymentPackageUpgradeAttributes: - description: Attributes for creating a new package upgrade deployment. + FleetDeploymentPackageUpgradeV2Attributes: + description: Attributes for creating a new v2 package upgrade deployment. properties: filter_query: description: Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax. @@ -39345,24 +39608,25 @@ components: $ref: "#/components/schemas/FleetDeploymentPackage" type: array required: + - filter_query - target_packages type: object - FleetDeploymentPackageUpgradeCreate: - description: Data for creating a new package upgrade deployment. + FleetDeploymentPackageUpgradeV2Create: + description: Data for creating a new v2 package upgrade deployment. properties: attributes: - $ref: "#/components/schemas/FleetDeploymentPackageUpgradeAttributes" + $ref: "#/components/schemas/FleetDeploymentPackageUpgradeV2Attributes" type: $ref: "#/components/schemas/FleetDeploymentResourceType" required: - type - attributes type: object - FleetDeploymentPackageUpgradeCreateRequest: - description: Request payload for creating a new package upgrade deployment. + FleetDeploymentPackageUpgradeV2CreateRequest: + description: Request payload for creating a new v2 package upgrade deployment. properties: data: - $ref: "#/components/schemas/FleetDeploymentPackageUpgradeCreate" + $ref: "#/components/schemas/FleetDeploymentPackageUpgradeV2Create" required: - data type: object @@ -39389,33 +39653,328 @@ components: hosts: $ref: "#/components/schemas/FleetDeploymentHostsPage" type: object - FleetDeploymentsPage: - description: Pagination details for the list of deployments. + FleetDeploymentV2: + description: A deployment in the v2 API response. + properties: + attributes: + $ref: "#/components/schemas/FleetDeploymentV2Attributes" + id: + description: Unique identifier for the deployment. + example: "k7Q-3mX-p9Z" + type: string + type: + $ref: "#/components/schemas/FleetDeploymentResourceType" + required: + - id + - type + - attributes + type: object + FleetDeploymentV2Attributes: + description: Attributes of a deployment in the v2 API response. + properties: + author: + description: Handle of the user who triggered the deployment. + example: "alice@datadoghq.com" + type: string + config_operations: + description: |- + Ordered list of configuration file operations applied by this deployment. + Absent for package deployments, which have no configuration file operations. + items: + $ref: "#/components/schemas/FleetDeploymentOperation" + type: array + duration_seconds: + description: |- + Duration of the deployment in seconds, computed as `finished_at - started_at`. + Zero if the deployment has not finished. + example: 1000 + format: int64 + type: integer + error_summary: + description: Top-level error message for the deployment. Populated only when the deployment has failed. + example: "A host failed to update" + type: string + estimated_finished_at: + description: Estimated completion time of the deployment as a Unix timestamp. Zero if not available. + example: 1699999999 + format: int64 + type: integer + finished_at: + description: Time the deployment finished as a Unix timestamp. Zero if not yet finished. + example: 0 + format: int64 + type: integer + is_scheduled: + description: Whether this deployment was triggered by a schedule (`schedule_id` is non-empty). + example: true + type: boolean + query: + description: Query used to filter and select target hosts for the deployment. + example: "env:prod AND service:web" + type: string + schedule_id: + description: Identifier of the schedule that triggered this deployment. Empty if triggered manually. + example: "sched-123" + type: string + started_at: + description: Time the deployment started as a Unix timestamp. Zero if not yet started. + example: 1699990000 + format: int64 + type: integer + status: + description: |- + Current high-level status of the deployment (for example, "pending", "running", + "completed", "failed"). + example: "pending" + type: string + target_versions: + description: Package versions targeted by this deployment. + example: ["7.52.0"] + items: + type: string + type: array + total_hosts: + description: Total number of hosts targeted by this deployment. + example: 42 + format: int64 + type: integer + update_type: + description: |- + Type of update operation performed by this deployment + (for example, "update_config_operations", "update_package"). + example: "update_config_operations" + type: string + type: object + FleetDeploymentV2Cancel: + description: A deployment cancellation response. + properties: + attributes: + $ref: "#/components/schemas/FleetDeploymentV2CancelAttributes" + id: + description: Unique identifier for the deployment. + example: "k7Q-3mX-p9Z" + type: string + type: + $ref: "#/components/schemas/FleetDeploymentResourceType" + required: + - id + - type + - attributes + type: object + FleetDeploymentV2CancelAttributes: + description: Attributes of a deployment cancellation response. + properties: + message: + description: Human-readable message describing the outcome of the cancellation request. + example: "Cancellation has been requested; the deployment is stopping." + type: string + status: + description: Status of the deployment after the cancellation request. + example: "stopping" + type: string + type: object + FleetDeploymentV2CancelResponse: + description: Response containing the result of a deployment cancellation request. + properties: + data: + $ref: "#/components/schemas/FleetDeploymentV2Cancel" + required: + - data + type: object + FleetDeploymentV2CreateResponse: + description: Response containing the newly created deployment. + properties: + data: + $ref: "#/components/schemas/FleetDeploymentV2" + required: + - data + type: object + FleetDeploymentV2Detail: + description: Detailed information about a deployment. + properties: + attributes: + $ref: "#/components/schemas/FleetDeploymentV2DetailAttributes" + id: + description: Unique identifier for the deployment. + example: "k7Q-3mX-p9Z" + type: string + type: + $ref: "#/components/schemas/FleetDeploymentResourceType" + required: + - id + - type + - attributes + type: object + FleetDeploymentV2DetailAgent: + description: Per-host status entry for a deployment. + properties: + error: + description: Error message if the deployment failed on this host. + example: "" + type: string + hostname: + description: Hostname of the agent. + example: "web-01.example.com" + type: string + running_step: + description: Name of the step currently executing on this host. + example: "applying_config" + type: string + status: + description: Deployment status for this host (for example, "pending", "running", "succeeded", "failed"). + example: "running" + type: string + status_details: + description: Additional details about the current deployment status on this host. + example: "step 2/3" + type: string + versions: + description: Package version details for this host. + items: + $ref: "#/components/schemas/FleetDeploymentHostPackage" + type: array + type: object + FleetDeploymentV2DetailAttributes: + description: Attributes of a deployment detail response. + properties: + author: + description: Handle of the user who triggered the deployment. + example: "carol@datadoghq.com" + type: string + canceled_hosts: + description: Number of hosts on which the deployment was canceled. + example: 1 + format: int64 + minimum: 0 + type: integer + config_operations: + description: |- + Ordered list of configuration file operations applied by this deployment. + Absent for package deployments, which have no configuration file operations. + items: + $ref: "#/components/schemas/FleetDeploymentOperation" + type: array + duration_seconds: + description: |- + Duration of the deployment in seconds, computed as `finished_at - started_at`. + Zero if the deployment has not finished. + example: 3600 + format: int64 + type: integer + error_summary: + description: Top-level error message for the deployment. Populated only when the deployment has failed. + example: "A host failed to update" + type: string + estimated_finished_at: + description: Estimated completion time of the deployment as a Unix timestamp. Zero if not available. + example: 1699999999 + format: int64 + type: integer + failed_hosts: + description: Number of hosts on which the deployment failed. + example: 1 + format: int64 + minimum: 0 + type: integer + high_level_status: + description: |- + Current high-level status of the deployment (for example, "pending", "running", + "completed", "failed"). + example: "running" + type: string + hosts: + description: Per-host status list for this deployment. + items: + $ref: "#/components/schemas/FleetDeploymentV2DetailAgent" + type: array + is_scheduled: + description: Whether this deployment was triggered by a schedule (`schedule_id` is non-empty). + example: true + type: boolean + query: + description: Query used to filter and select target hosts for the deployment. + example: "env:prod AND service:web" + type: string + running_hosts: + description: Number of hosts on which the deployment is currently running. + example: 1 + format: int64 + minimum: 0 + type: integer + schedule_id: + description: Identifier of the schedule that triggered this deployment. Empty if triggered manually. + example: "sched-789" + type: string + skipped_hosts: + description: Number of hosts that were skipped during the deployment. + example: 1 + format: int64 + minimum: 0 + type: integer + succeeded_hosts: + description: Number of hosts on which the deployment succeeded. + example: 1 + format: int64 + minimum: 0 + type: integer + target_versions: + description: Distinct package versions targeted by this deployment, in first-seen order. + example: ["7.52.0"] + items: + type: string + type: array + total_hosts: + description: Total number of hosts targeted by this deployment. + example: 42 + format: int64 + type: integer + update_type: + description: |- + Type of update operation performed by this deployment + (for example, "update_config_operations", "update_package"). + example: "update_config_operations" + type: string + type: object + FleetDeploymentV2DetailResponse: + description: Response containing detailed information about a single deployment. + properties: + data: + $ref: "#/components/schemas/FleetDeploymentV2Detail" + required: + - data + type: object + FleetDeploymentsV2Page: + description: Pagination details for the v2 list of deployments. properties: total_count: description: Total number of deployments available across all pages. example: 25 format: int64 type: integer + total_filtered_count: + description: Total number of deployments matching the current filter query. + example: 10 + format: int64 + type: integer type: object - FleetDeploymentsResponse: + FleetDeploymentsV2Response: description: Response containing a paginated list of deployments. properties: data: description: Array of deployments matching the query criteria. items: - $ref: "#/components/schemas/FleetDeployment" + $ref: "#/components/schemas/FleetDeploymentV2" type: array meta: - $ref: "#/components/schemas/FleetDeploymentsResponseMeta" + $ref: "#/components/schemas/FleetDeploymentsV2ResponseMeta" required: - data type: object - FleetDeploymentsResponseMeta: - description: Metadata for the list of deployments, including pagination information. + FleetDeploymentsV2ResponseMeta: + description: Metadata for the v2 list of deployments, including pagination information. properties: page: - $ref: "#/components/schemas/FleetDeploymentsPage" + $ref: "#/components/schemas/FleetDeploymentsV2Page" type: object FleetDetectedIntegration: description: An integration detected on the agent but not necessarily configured. @@ -39429,11 +39988,11 @@ components: example: "postgres" type: string type: object - FleetIntegrationDetails: + FleetIntegrationDetailsV2: description: Detailed information about a single integration. properties: data_type: - description: Type of data collected (metrics, logs). + description: Type of data collected, such as metrics or logs. example: "metrics" type: string error_messages: @@ -39451,12 +40010,23 @@ components: is_custom_check: description: Whether this is a custom integration. type: boolean + is_default: + description: Whether this is a default integration instance. + type: boolean + is_init: + description: Whether this integration configuration is an init config. + type: boolean log_config: description: Log collection configuration (YAML format). type: string name: description: Name of the integration instance. type: string + pod_count: + description: >- + Number of pods running this integration. Absent from the response when the count is zero. + format: int64 + type: integer source_index: description: Index in the configuration file. format: int64 @@ -39469,13 +40039,16 @@ components: example: "postgres" type: string type: object - FleetIntegrationsByStatus: + FleetIntegrationsByStatusV2: description: Integrations organized by their status. properties: + cluster_name: + description: The Kubernetes cluster name, if the agent runs in a cluster. + type: string configuration_files: description: Configuration files for integrations. items: - $ref: "#/components/schemas/FleetConfigurationFile" + $ref: "#/components/schemas/FleetConfigurationFileV2" type: array datadog_agent_key: description: The unique agent key identifier. @@ -39483,8 +40056,11 @@ components: error_integrations: description: Integrations with errors. items: - $ref: "#/components/schemas/FleetIntegrationDetails" + $ref: "#/components/schemas/FleetIntegrationDetailsV2" type: array + k8s_cluster_key: + description: The Kubernetes cluster key, if the agent runs in a cluster. + type: string missing_integrations: description: Detected but not configured integrations. items: @@ -39493,18 +40069,31 @@ components: warning_integrations: description: Integrations with warnings. items: - $ref: "#/components/schemas/FleetIntegrationDetails" + $ref: "#/components/schemas/FleetIntegrationDetailsV2" type: array working_integrations: description: Integrations that are working correctly. items: - $ref: "#/components/schemas/FleetIntegrationDetails" + $ref: "#/components/schemas/FleetIntegrationDetailsV2" type: array type: object FleetOtelCollector: additionalProperties: {} description: OpenTelemetry collector information. type: object + FleetOtelCollectorConfigurationV2: + description: Configuration for a single OpenTelemetry collector associated with the agent. + properties: + collector_id: + description: The unique identifier of the OpenTelemetry collector. + type: string + compiled_configuration: + description: The final compiled configuration of the OpenTelemetry collector. + type: string + distribution: + description: The distribution of the OpenTelemetry collector. + type: string + type: object FleetSchedule: description: A schedule that automatically creates deployments based on a recurrence rule. properties: @@ -39727,17 +40316,169 @@ components: x-enum-varnames: - ACTIVE - INACTIVE - FleetSchedulesResponse: - description: Response containing a list of schedules. + FleetScheduleV2: + description: A fleet upgrade schedule resource in the v2 API response. + properties: + attributes: + $ref: "#/components/schemas/FleetScheduleV2Attributes" + id: + description: Unique identifier for the schedule. + example: "abc-def-ghi-123" + type: string + type: + $ref: "#/components/schemas/FleetScheduleResourceType" + required: + - id + - type + - attributes + type: object + FleetScheduleV2Attributes: + description: Attributes of a fleet schedule in the v2 API response. + properties: + created_at: + description: RFC3339 timestamp when the schedule was created. + example: "2023-11-14T22:13:19Z" + type: string + created_by: + description: User handle of the person who created the schedule. + example: "user@example.com" + type: string + is_default: + description: Whether this is the default schedule for the organization. + example: false + type: boolean + name: + description: Human-readable name for the schedule. + example: "Weekly Production Agent Updates" + type: string + next_run: + description: |- + RFC3339 timestamp of the next scheduled maintenance window start time. + Absent when the next run time cannot be computed. + example: "2025-01-06T02:00:00Z" + type: string + notification_rule: + $ref: "#/components/schemas/FleetScheduleV2NotificationRule" + query: + description: Query used to filter and select target hosts for scheduled deployments. + example: "env:prod AND service:web" + type: string + rule: + $ref: "#/components/schemas/FleetScheduleV2RecurrenceRule" + status: + $ref: "#/components/schemas/FleetScheduleStatus" + updated_at: + description: RFC3339 timestamp when the schedule was last updated. + example: "2023-11-14T22:13:19Z" + type: string + updated_by: + description: User handle of the person who last updated the schedule. + example: "user@example.com" + type: string + version_to_latest: + description: |- + Number of major versions behind the latest to target for upgrades. + - 0: Always upgrade to the latest version. + - 1: Upgrade to latest minus 1 major version. + - 2: Upgrade to latest minus 2 major versions. + example: 0 + format: int64 + maximum: 2 + minimum: 0 + type: integer + type: object + FleetScheduleV2NotificationRule: + description: |- + Notification configuration attached to a schedule. + + Included when available. If the notification rule cannot be retrieved, this field is + omitted and the schedule is still returned. If the notification rule is retrieved but its + handles cannot be resolved, it is still included with an empty `handles` array. + properties: + handles: + description: Notification handles (for example, Slack channels or PagerDuty integrations). + items: + description: A notification handle. + type: string + type: array + tags: + description: Tags associated with the notification rule. + items: + description: A tag string. + type: string + type: array + type: object + FleetScheduleV2RecurrenceRule: + description: Defines the recurrence pattern for the schedule. + properties: + days_of_week: + description: |- + Days of the week when the schedule triggers. Valid values are + "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun". + example: ["Mon", "Wed", "Fri"] + items: + description: A day of the week (for example, "Mon"). + type: string + type: array + interval: + description: |- + Interval between schedule runs in weeks. 1 means the schedule runs every week + on the specified days. Higher values repeat every N weeks. + example: 1 + format: int64 + type: integer + maintenance_window_duration: + description: Duration of the maintenance window in minutes. + example: 120 + format: int64 + type: integer + start_maintenance_window: + description: |- + Start time of the maintenance window in 24-hour clock format (HH:MM). + Deployments are triggered at this time on the specified days. + example: "02:00" + type: string + timezone: + description: Timezone in IANA Time Zone Database format. + example: "America/New_York" + type: string + type: object + FleetScheduleV2Response: + description: Response containing a single fleet schedule. + properties: + data: + $ref: "#/components/schemas/FleetScheduleV2" + required: + - data + type: object + FleetSchedulesV2Page: + description: Pagination details for the v2 list of schedules. + properties: + total_count: + description: Total number of schedules returned. + example: 5 + format: int64 + type: integer + type: object + FleetSchedulesV2Response: + description: Response containing a list of fleet schedules. properties: data: - description: Array of schedules. + description: Array of schedules for the organization. items: - $ref: "#/components/schemas/FleetSchedule" + $ref: "#/components/schemas/FleetScheduleV2" type: array + meta: + $ref: "#/components/schemas/FleetSchedulesV2ResponseMeta" required: - data type: object + FleetSchedulesV2ResponseMeta: + description: Metadata for the v2 list of schedules response. + properties: + page: + $ref: "#/components/schemas/FleetSchedulesV2Page" + type: object FleetTracerAttributes: description: Attributes of a fleet tracer representing a service instance reporting telemetry. properties: @@ -117813,208 +118554,6 @@ info: version: "1.0" openapi: 3.0.0 paths: - /api/unstable/fleet/agent_versions: - get: - description: |- - Retrieve a list of all available Datadog Agent versions. - - This endpoint returns the available Agent versions that can be deployed to your fleet. - These versions are used when creating deployments or configuring schedules for - automated Agent upgrades. - operationId: ListFleetAgentVersions - responses: - "200": - content: - application/json: - examples: - default: - value: - data: - - attributes: - version: "7.50.0" - id: "7.50.0" - type: agent_version - schema: - $ref: "#/components/schemas/FleetAgentVersionsResponse" - description: OK - "400": - $ref: "#/components/responses/BadRequestResponse" - "401": - $ref: "#/components/responses/UnauthorizedResponse" - "403": - $ref: "#/components/responses/ForbiddenResponse" - "404": - $ref: "#/components/responses/NotFoundResponse" - "429": - $ref: "#/components/responses/TooManyRequestsResponse" - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: List all available Agent versions - tags: - - Fleet Automation - "x-permission": - operator: AND - permissions: - - hosts_read - x-unstable: |- - This endpoint is in Preview and may introduce breaking changes. - If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). - /api/unstable/fleet/agents: - get: - description: |- - Retrieve a paginated list of all Datadog Agents. - This endpoint returns a paginated list of all Datadog Agents with support for pagination, sorting, and filtering. - Use the `page_number` and `page_size` query parameters to paginate through results. - operationId: ListFleetAgents - parameters: - - description: Page number for pagination (starts at 0). - in: query - name: page_number - required: false - schema: - default: 0 - format: int64 - minimum: 0 - type: integer - - description: Number of results per page (must be greater than 0 and less than or equal to 100). - in: query - name: page_size - required: false - schema: - default: 10 - format: int64 - maximum: 100 - minimum: 1 - type: integer - - description: Attribute to sort by. - in: query - name: sort_attribute - required: false - schema: - type: string - - description: Sort order (true for descending, false for ascending). - in: query - name: sort_descending - required: false - schema: - type: boolean - - description: Comma-separated list of tags to filter agents. - in: query - name: tags - required: false - schema: - type: string - - description: Filter string for narrowing down agent results. - example: "hostname:my-hostname OR env:dev" - in: query - name: filter - required: false - schema: - type: string - responses: - "200": - content: - application/json: - examples: - default: - value: - data: - attributes: - agents: - - agent_version: "7.50.0" - datadog_agent_key: my-agent-hostname - hostname: my-hostname - os: linux - id: done - type: status - meta: - total_filtered_count: 1 - schema: - $ref: "#/components/schemas/FleetAgentsResponse" - description: OK - "400": - $ref: "#/components/responses/BadRequestResponse" - "401": - $ref: "#/components/responses/UnauthorizedResponse" - "403": - $ref: "#/components/responses/ForbiddenResponse" - "404": - $ref: "#/components/responses/NotFoundResponse" - "429": - $ref: "#/components/responses/TooManyRequestsResponse" - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: List all Datadog Agents - tags: - - Fleet Automation - "x-permission": - operator: AND - permissions: - - hosts_read - x-unstable: |- - This endpoint is in Preview and may introduce breaking changes. - If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). - /api/unstable/fleet/agents/{agent_key}: - get: - description: |- - Retrieve detailed information about a specific Datadog Agent. - This endpoint returns comprehensive information about an agent including: - - Agent details and metadata - - Configured integrations organized by status (working, warning, error, missing) - - Detected integrations - - Configuration files and layers - operationId: GetFleetAgentInfo - parameters: - - description: The unique identifier (agent key) for the Datadog Agent. - in: path - name: agent_key - required: true - schema: - type: string - responses: - "200": - content: - application/json: - examples: - default: - value: - data: - attributes: - agent_infos: - agent_version: "7.50.0" - datadog_agent_key: my-agent-hostname - hostname: my-hostname - os: linux - id: my-agent-hostname - type: datadog_agent_key - schema: - $ref: "#/components/schemas/FleetAgentInfoResponse" - description: OK - "400": - $ref: "#/components/responses/BadRequestResponse" - "401": - $ref: "#/components/responses/UnauthorizedResponse" - "403": - $ref: "#/components/responses/ForbiddenResponse" - "404": - $ref: "#/components/responses/NotFoundResponse" - "429": - $ref: "#/components/responses/TooManyRequestsResponse" - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Get detailed information about an agent - tags: - - Fleet Automation - "x-permission": - operator: AND - permissions: - - hosts_read - x-unstable: |- - This endpoint is in Preview and may introduce breaking changes. - If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/unstable/fleet/agents/{agent_key}/tracers: get: description: |- @@ -118107,629 +118646,7 @@ paths: x-unstable: |- This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). - /api/unstable/fleet/deployments: - get: - description: |- - Retrieve a list of all deployments for fleet automation. - Use the `page_size` and `page_offset` parameters to paginate results. - operationId: ListFleetDeployments - parameters: - - description: Number of deployments to return per page. Maximum value is 100. - in: query - name: page_size - required: false - schema: - default: 10 - format: int64 - maximum: 100 - type: integer - - description: Index of the first deployment to return. Use this with `page_size` to paginate through results. - in: query - name: page_offset - required: false - schema: - default: 0 - format: int64 - type: integer - responses: - "200": - content: - application/json: - examples: - default: - value: - data: - - attributes: - filter_query: "env:prod AND service:web" - high_level_status: running - total_hosts: 10 - id: aeadc05e-98a8-11ec-ac2c-da7ad0900001 - type: deployment - meta: - page: - total_count: 1 - schema: - $ref: "#/components/schemas/FleetDeploymentsResponse" - description: OK - "400": - $ref: "#/components/responses/BadRequestResponse" - "401": - $ref: "#/components/responses/UnauthorizedResponse" - "403": - $ref: "#/components/responses/ForbiddenResponse" - "429": - $ref: "#/components/responses/TooManyRequestsResponse" - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: List all deployments - tags: - - Fleet Automation - "x-permission": - operator: AND - permissions: - - hosts_read - x-unstable: |- - This endpoint is in Preview and may introduce breaking changes. - If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). - /api/unstable/fleet/deployments/configure: - post: - description: |- - Create a new deployment to apply configuration changes - to a fleet of hosts matching the specified filter query. - - This endpoint supports two types of configuration operations: - - `merge-patch`: Merges the provided patch data with the existing configuration file, - creating the file if it doesn't exist - - `delete`: Removes the specified configuration file from the target hosts - - The deployment is created and started automatically. You can specify multiple configuration - operations that will be executed in order on each target host. Use the filter query to target - specific hosts using the Datadog query syntax. - operationId: CreateFleetDeploymentConfigure - requestBody: - content: - application/json: - examples: - add_log_integration: - summary: Add log integrations for multiple services - value: - data: - attributes: - config_operations: - - file_op: "merge-patch" - file_path: "/conf.d/postgres.d/logs.yaml" - patch: - logs: - - path: "/var/log/postgres.log" - service: "postgres1" - source: "postgres" - type: file - - file_op: "merge-patch" - file_path: "/conf.d/kafka.d/logs.yaml" - patch: - logs: - - path: "/var/log/kafka.log" - service: "kafka1" - source: "kafka" - type: file - filter_query: "env:prod" - type: deployment - comprehensive_configuration: - summary: Comprehensive example with multiple configuration file types - value: - data: - attributes: - config_operations: - - file_op: "merge-patch" - file_path: "/datadog.yaml" - patch: - apm_config: - apm_dd_url: "https://trace.agent.datadoghq.com" - enabled: true - log_level: "info" - logs_enabled: true - process_config: - enabled: true - - file_op: "merge-patch" - file_path: "/security-agent.yaml" - patch: - runtime_security_config: - enabled: true - fim_enabled: true - - file_op: "merge-patch" - file_path: "/system-probe.yaml" - patch: - network_config: - enabled: true - service_monitoring_config: - enabled: true - - file_op: "merge-patch" - file_path: "/application_monitoring.yaml" - patch: - enabled: true - server: - host: "0.0.0.0" - port: 8126 - - file_op: "merge-patch" - file_path: "/conf.d/logs.d/custom-app.yaml" - patch: - logs: - - path: "/var/log/custom-app/*.log" - service: "custom-app" - source: "custom" - type: file - - file_op: "merge-patch" - file_path: "/conf.d/docker.d/docker-logs.yaml" - patch: - logs: - - service: "docker" - source: "docker" - type: docker - - file_op: "merge-patch" - file_path: "/conf.d/snmp.d/network-devices.yaml" - patch: - init_config: - loader: core - instances: - - community_string: "public" - ip_address: "192.168.1.1" - - file_op: "merge-patch" - file_path: "/conf.d/postgres.d/conf.yaml" - patch: - instances: - - dbname: "postgres" - host: "localhost" - port: 5432 - username: "datadog" - - file_op: "delete" - file_path: "/conf.d/deprecated-integration.yaml" - filter_query: "env:prod AND datacenter:us-east-1" - type: deployment - default: - value: - data: - attributes: - config_operations: - - file_op: merge-patch - file_path: /datadog.yaml - patch: - apm_config: - apm_dd_url: https://trace.agent.datadoghq.com - enabled: true - log_level: info - logs_enabled: true - process_config: - enabled: true - - file_op: merge-patch - file_path: /security-agent.yaml - patch: - runtime_security_config: - enabled: true - fim_enabled: true - - file_op: merge-patch - file_path: /system-probe.yaml - patch: - network_config: - enabled: true - service_monitoring_config: - enabled: true - - file_op: merge-patch - file_path: /application_monitoring.yaml - patch: - enabled: true - server: - host: 0.0.0.0 - port: 8126 - - file_op: merge-patch - file_path: /conf.d/logs.d/custom-app.yaml - patch: - logs: - - path: /var/log/custom-app/*.log - service: custom-app - source: custom - type: file - - file_op: merge-patch - file_path: /conf.d/docker.d/docker-logs.yaml - patch: - logs: - - service: docker - source: docker - type: docker - - file_op: merge-patch - file_path: /conf.d/snmp.d/network-devices.yaml - patch: - init_config: - loader: core - instances: - - community_string: public - ip_address: 192.168.1.1 - - file_op: merge-patch - file_path: /conf.d/postgres.d/conf.yaml - patch: - instances: - - dbname: postgres - host: localhost - port: 5432 - username: datadog - - file_op: delete - file_path: /conf.d/deprecated-integration.yaml - filter_query: env:prod AND datacenter:us-east-1 - type: deployment - delete_config_file: - summary: Delete a configuration file - value: - data: - attributes: - config_operations: - - file_op: "delete" - file_path: "/conf.d/old-integration.yaml" - filter_query: "env:dev" - type: deployment - enable_apm_and_logs: - summary: Enable APM and Logs products - value: - data: - attributes: - config_operations: - - file_op: "merge-patch" - file_path: "/datadog.yaml" - patch: - apm_config: - enabled: true - log_level: "debug" - logs_enabled: true - filter_query: "env:prod AND service:web" - type: deployment - simple_log_level: - summary: Set log level to info - value: - data: - attributes: - config_operations: - - file_op: "merge-patch" - file_path: "/datadog.yaml" - patch: - log_level: "info" - filter_query: "env:staging" - type: deployment - schema: - $ref: "#/components/schemas/FleetDeploymentConfigureCreateRequest" - description: Request payload containing the deployment details. - required: true - responses: - "201": - content: - application/json: - examples: - default: - value: - data: - attributes: - config_operations: - - file_op: merge-patch - file_path: /datadog.yaml - patch: - log_level: info - filter_query: env:prod AND service:web - high_level_status: pending - total_hosts: 42 - id: abc-123 - type: deployment - schema: - $ref: "#/components/schemas/FleetDeploymentResponse" - description: CREATED - "400": - $ref: "#/components/responses/BadRequestResponse" - "401": - $ref: "#/components/responses/UnauthorizedResponse" - "403": - $ref: "#/components/responses/ForbiddenResponse" - "429": - $ref: "#/components/responses/TooManyRequestsResponse" - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Create a configuration deployment - tags: - - Fleet Automation - "x-permission": - operator: AND - permissions: - - agent_upgrade_write - - fleet_policies_write - x-unstable: |- - This endpoint is in Preview and may introduce breaking changes. - If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). - /api/unstable/fleet/deployments/upgrade: - post: - description: |- - Create and immediately start a new package upgrade - on hosts matching the specified filter query. - - This endpoint allows you to upgrade the Datadog Agent to a specific version - on hosts matching the specified filter query. - - The deployment is created and started automatically. The system will: - 1. Identify all hosts matching the filter query - 2. Validate that the specified version is available - 3. Begin rolling out the package upgrade to the target hosts - operationId: CreateFleetDeploymentUpgrade - requestBody: - content: - application/json: - examples: - default: - value: - data: - attributes: - filter_query: env:prod AND service:web - target_packages: - - name: datadog-agent - version: 7.52.0 - type: deployment - upgrade_agent: - summary: Upgrade Datadog Agent to version 7.52.0 - value: - data: - attributes: - filter_query: "env:prod AND service:web" - target_packages: - - name: "datadog-agent" - version: "7.52.0" - type: deployment - upgrade_multiple_packages: - summary: Upgrade multiple packages - value: - data: - attributes: - filter_query: "env:staging" - target_packages: - - name: "datadog-agent" - version: "7.52.0-1" - - name: "datadog-apm-inject" - version: "0.10.0" - type: deployment - schema: - $ref: "#/components/schemas/FleetDeploymentPackageUpgradeCreateRequest" - description: Request payload containing the package upgrade details. - required: true - responses: - "201": - content: - application/json: - examples: - default: - value: - data: - attributes: - filter_query: "env:prod AND service:web" - high_level_status: pending - total_hosts: 0 - id: aeadc05e-98a8-11ec-ac2c-da7ad0900001 - type: deployment - schema: - $ref: "#/components/schemas/FleetDeploymentResponse" - description: CREATED - "400": - $ref: "#/components/responses/BadRequestResponse" - "401": - $ref: "#/components/responses/UnauthorizedResponse" - "403": - $ref: "#/components/responses/ForbiddenResponse" - "404": - $ref: "#/components/responses/NotFoundResponse" - "429": - $ref: "#/components/responses/TooManyRequestsResponse" - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Upgrade hosts - tags: - - Fleet Automation - "x-permission": - operator: AND - permissions: - - agent_upgrade_write - - fleet_policies_write - x-unstable: |- - This endpoint is in Preview and may introduce breaking changes. - If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). - /api/unstable/fleet/deployments/{deployment_id}: - get: - description: |- - Retrieve detailed information about a specific deployment using its unique identifier. - This endpoint returns comprehensive information about a deployment, including: - - Deployment metadata (ID, type, filter query) - - Total number of target hosts - - Current high-level status (pending, running, succeeded, failed) - - Estimated completion time - - Configuration operations that were or are being applied - - Detailed host list: A paginated array of hosts included in this deployment with individual - host status, current package versions, and any errors - - The host list provides visibility into the per-host execution status, allowing you to: - - Monitor which hosts have completed successfully - - Identify hosts that are still in progress - - Investigate failures on specific hosts - - View current package versions installed on each host (including initial, target, and current - versions for each package) - - Pagination: Use the `limit` and `page` query parameters to paginate through hosts. The response - includes pagination metadata in the `meta.hosts` field with information about the current page, - total pages, and total host count. The default page size is 50 hosts, with a maximum of 100. - operationId: GetFleetDeployment - parameters: - - description: The unique identifier of the deployment to retrieve. - example: "abc-def-ghi" - in: path - name: deployment_id - required: true - schema: - type: string - - description: Maximum number of hosts to return per page. Default is 50, maximum is 100. - in: query - name: limit - required: false - schema: - default: 50 - format: int64 - maximum: 100 - type: integer - - description: Page index for pagination (zero-based). Use this to retrieve subsequent pages of hosts. - in: query - name: page - required: false - schema: - default: 0 - format: int64 - type: integer - responses: - "200": - content: - application/json: - examples: - default: - value: - data: - attributes: - filter_query: "env:prod AND service:web" - high_level_status: running - total_hosts: 10 - id: aeadc05e-98a8-11ec-ac2c-da7ad0900001 - type: deployment - schema: - $ref: "#/components/schemas/FleetDeploymentResponse" - description: OK - "400": - $ref: "#/components/responses/BadRequestResponse" - "401": - $ref: "#/components/responses/UnauthorizedResponse" - "403": - $ref: "#/components/responses/ForbiddenResponse" - "404": - $ref: "#/components/responses/NotFoundResponse" - "429": - $ref: "#/components/responses/TooManyRequestsResponse" - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Get a configuration deployment by ID - tags: - - Fleet Automation - "x-permission": - operator: AND - permissions: - - hosts_read - x-unstable: |- - This endpoint is in Preview and may introduce breaking changes. - If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). - /api/unstable/fleet/deployments/{deployment_id}/cancel: - post: - description: |- - Cancel an active deployment and stop all pending operations. - When you cancel a deployment: - - All pending operations on hosts that haven't started yet are stopped - - Operations currently in progress on hosts may complete or be interrupted, depending on their current state - - Configuration changes or package upgrades already applied to hosts are not rolled back - - After cancellation, you can view the final state of the deployment using the GET endpoint to see which hosts - were successfully updated before the cancellation. - operationId: CancelFleetDeployment - parameters: - - description: The unique identifier of the deployment to cancel. - example: "abc-def-ghi" - in: path - name: deployment_id - required: true - schema: - type: string - responses: - "204": - description: Deployment successfully canceled. - "400": - $ref: "#/components/responses/BadRequestResponse" - "401": - $ref: "#/components/responses/UnauthorizedResponse" - "403": - $ref: "#/components/responses/ForbiddenResponse" - "404": - $ref: "#/components/responses/NotFoundResponse" - "429": - $ref: "#/components/responses/TooManyRequestsResponse" - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Cancel a deployment - tags: - - Fleet Automation - "x-permission": - operator: AND - permissions: - - agent_upgrade_write - - fleet_policies_write - x-unstable: |- - This endpoint is in Preview and may introduce breaking changes. - If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/unstable/fleet/schedules: - get: - description: |- - Retrieve a list of all schedules for automated fleet deployments. - - Schedules allow you to automate package upgrades by defining maintenance windows - and recurrence rules. Each schedule automatically creates deployments based on its - configuration. - operationId: ListFleetSchedules - responses: - "200": - content: - application/json: - examples: - default: - value: - data: - - attributes: - created_at_unix: 1699999999 - created_by: test@example.com - name: Weekly Production Agent Updates - query: env:prod AND service:web - rule: - days_of_week: - - Mon - - Wed - maintenance_window_duration: 120 - start_maintenance_window: "02:00" - timezone: America/New_York - status: active - updated_at_unix: 1699999999 - updated_by: test@example.com - version_to_latest: 0 - id: abc-def-ghi-123 - type: schedule - schema: - $ref: "#/components/schemas/FleetSchedulesResponse" - description: OK - "400": - $ref: "#/components/responses/BadRequestResponse" - "401": - $ref: "#/components/responses/UnauthorizedResponse" - "403": - $ref: "#/components/responses/ForbiddenResponse" - "429": - $ref: "#/components/responses/TooManyRequestsResponse" - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: List all schedules - tags: - - Fleet Automation - "x-permission": - operator: AND - permissions: - - hosts_read - x-unstable: |- - This endpoint is in Preview and may introduce breaking changes. - If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: description: |- Create a new schedule for automated package upgrades. @@ -118890,77 +118807,6 @@ paths: x-unstable: |- This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). - get: - description: |- - Retrieve detailed information about a specific schedule using its unique identifier. - - This endpoint returns comprehensive information about a schedule, including: - - Schedule metadata (ID, name, creation/update timestamps) - - Filter query for selecting target hosts - - Recurrence rule defining when deployments are triggered - - Version strategy for package upgrades - - Current status (active or inactive) - operationId: GetFleetSchedule - parameters: - - description: The unique identifier of the schedule to retrieve. - example: "abc-def-ghi-123" - in: path - name: id - required: true - schema: - type: string - responses: - "200": - content: - application/json: - examples: - default: - value: - data: - attributes: - created_at_unix: 1699999999 - created_by: test@example.com - name: Weekly Production Agent Updates - query: env:prod AND service:web - rule: - days_of_week: - - Mon - - Wed - maintenance_window_duration: 120 - start_maintenance_window: "02:00" - timezone: America/New_York - status: active - updated_at_unix: 1699999999 - updated_by: test@example.com - version_to_latest: 0 - id: abc-def-ghi-123 - type: schedule - schema: - $ref: "#/components/schemas/FleetScheduleResponse" - description: OK - "400": - $ref: "#/components/responses/BadRequestResponse" - "401": - $ref: "#/components/responses/UnauthorizedResponse" - "403": - $ref: "#/components/responses/ForbiddenResponse" - "404": - $ref: "#/components/responses/NotFoundResponse" - "429": - $ref: "#/components/responses/TooManyRequestsResponse" - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Get a schedule by ID - tags: - - Fleet Automation - "x-permission": - operator: AND - permissions: - - hosts_read - x-unstable: |- - This endpoint is in Preview and may introduce breaking changes. - If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). patch: description: |- Partially update a schedule by providing only the fields you want to change. @@ -142702,6 +142548,813 @@ paths: operator: AND permissions: - feature_flag_config_write + /api/v2/fleet/agent_versions: + get: + description: |- + Retrieve the list of Datadog Agent versions available for deployment. + + Returns `200` with an empty `data` array if the Agent package exists in the catalog + but has no available versions, and `404` only if the Agent package itself is absent + from the catalog. + operationId: ListFleetAgentVersionsV2 + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + - attributes: + version: "7.80.4" + id: "7.80.4" + type: agent_version + - attributes: + version: "7.81.1" + id: "7.81.1" + type: agent_version + meta: + page: + total_count: 2 + schema: + $ref: "#/components/schemas/FleetAgentVersionsV2Response" + description: OK + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List available Datadog Agent versions + tags: + - Fleet Automation + "x-permission": + operator: AND + permissions: + - hosts_read + /api/v2/fleet/agents: + get: + description: |- + Retrieve a paginated list of Datadog Agents. + + Returns agents with support for pagination, sorting, and filtering. + Use `page_number` and `page_size` to navigate pages, `filter` to narrow by field values, + and `tags` to filter by agent tags. + operationId: ListFleetAgentsV2 + parameters: + - description: Page number for pagination, starting at 0. + in: query + name: page_number + required: false + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + - description: Number of agents to return per page. Maximum value is 100. Defaults to 10. + in: query + name: page_size + required: false + schema: + default: 10 + format: int64 + maximum: 100 + minimum: 1 + type: integer + - description: Filter string to narrow down agent results. + example: "hostname:my-hostname OR env:dev" + in: query + name: filter + required: false + schema: + type: string + - description: >- + Comma-separated list of tag keys to select which tags are included in each agent's `tags` attribute. Does not filter which agents are returned. + in: query + name: tags + required: false + schema: + type: string + - description: >- + Agent attribute to sort results by. Must be a supported attribute name; unsupported values return a 400 error. + in: query + name: sort_attribute + required: false + schema: + type: string + - description: Set to `true` to sort results in descending order. Defaults to ascending. + in: query + name: sort_descending + required: false + schema: + type: boolean + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + - attributes: + agent_version: "7.50.0" + api_key_name: "Production API Key" + api_key_uuid: "a1b2c3d4-e5f6-4321-a123-123456789abc" + cloud_provider: aws + datadog_data_center: us1 + enabled_products: + - apm + - logs + env: + - prod + first_seen_at: 1699900000 + fleet_policies: [] + hostname: my-hostname + integrations: + - mysql + ip_addresses: + - "10.0.0.1" + is_single_step_instrumentation_enabled: false + last_restart_at: 1699999999 + os: linux + otel_collector_versions: [] + remote_agent_management: enabled + remote_config_status: connected + services: + - web + tags: + - key: team + value: platform + id: my-agent-hostname + type: agent + meta: + page: + total_count: 500 + total_filtered_count: 1 + schema: + $ref: "#/components/schemas/FleetAgentsV2Response" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List all Datadog Agents + tags: + - Fleet Automation + "x-permission": + operator: AND + permissions: + - hosts_read + /api/v2/fleet/agents/{agent_key}: + get: + description: |- + Retrieve detailed information about a specific Datadog Agent. + + By default, only `agent_infos` is returned. Use the `include` query parameter to + request additional data: `integrations` and/or `configuration_files`. + operationId: GetFleetAgentDetailV2 + parameters: + - description: >- + The unique identifier (Agent key) for the Datadog Agent. Must be a 32-character lowercase hexadecimal string. + example: "a1b2c3d4e5f67890a1b2c3d4e5f67890" + in: path + name: agent_key + required: true + schema: + pattern: "^[0-9a-f]{32}$" + type: string + - description: >- + Comma-separated list of additional fields to include in the response. Valid values are `integrations` and `configuration_files`. Omitting this parameter returns only `agent_infos`. Unrecognized values are silently ignored rather than causing an error. + example: "integrations,configuration_files" + in: query + name: include + required: false + schema: + type: string + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + agent_infos: + agent_version: "7.50.0" + datadog_agent_key: a1b2c3d4e5f67890a1b2c3d4e5f67890 + hostname: my-hostname + os: linux + id: a1b2c3d4e5f67890a1b2c3d4e5f67890 + type: agent + schema: + $ref: "#/components/schemas/FleetAgentDetailV2Response" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get detailed information about an agent + tags: + - Fleet Automation + "x-permission": + operator: AND + permissions: + - hosts_read + /api/v2/fleet/deployments: + get: + description: Retrieve a paginated list of all deployments for fleet automation. + operationId: ListFleetDeploymentsV2 + parameters: + - description: Number of deployments to return per page. Maximum value is 100. + in: query + name: page_size + required: false + schema: + default: 10 + format: int64 + maximum: 100 + type: integer + - description: Page number for pagination, starting at 0. + in: query + name: page_number + required: false + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + - description: |- + Field to sort results by (for example, `start_date`). Must be a supported field + name; unsupported values return a 400 error. + in: query + name: sort + required: false + schema: + type: string + - description: |- + Set to `true` to sort in ascending order. This setting has no effect unless `sort` is also set. + Defaults to descending order. + in: query + name: ascending + required: false + schema: + type: boolean + - description: |- + Query used to filter deployments. Uses the Datadog query syntax. Filtering on an + unsupported field returns a 400 error. For example: + - `status:failed` or `status:done_with_errors`: deployments that need investigation. + - `status:running`: deployments currently in flight. + - `update_type:update_package` or `update_type:update_config_operations`: deployments of a given type. + example: "status:failed" + in: query + name: filter + required: false + schema: + type: string + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + - attributes: + author: "alice@datadoghq.com" + config_operations: + - file_op: merge-patch + file_path: "/datadog.yaml" + patch: + logs_enabled: true + duration_seconds: 0 + error_summary: "" + estimated_finished_at: 1699999999 + finished_at: 0 + is_scheduled: true + query: "env:prod AND service:web" + schedule_id: "sched-123" + started_at: 1699990000 + status: running + target_versions: ["7.52.0"] + total_hosts: 10 + update_type: update_config_operations + id: k7Q-3mX-p9Z + type: deployment + meta: + page: + total_count: 1 + total_filtered_count: 1 + schema: + $ref: "#/components/schemas/FleetDeploymentsV2Response" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List all deployments + tags: + - Fleet Automation + "x-permission": + operator: AND + permissions: + - hosts_read + /api/v2/fleet/deployments/configure: + post: + description: |- + Create a new deployment to apply configuration changes + to a fleet of hosts matching the specified filter query. + + This endpoint supports two types of configuration operations: + - `merge-patch`: Merges the provided patch data with the existing configuration file, + creating the file if it doesn't exist. + - `delete`: Removes the specified configuration file from the target hosts. + + You can optionally use `target_packages` to apply the configuration change only to specific package versions. + + The deployment is created and started automatically. You can specify multiple configuration + operations to execute in order on each target host. Use the filter query to target + specific hosts using the Datadog query syntax. + + Set `dry_run` to `true` to validate the configuration and resolve target hosts and packages without deploying anything. A dry run returns a 200 with the validation result instead of creating and starting a deployment. + + Returns a 400 if `filter_query` or `config_operations` is missing, a target package is missing a name or version or cannot be resolved, the configuration fails validation, or the filter query does not match any host eligible for the deployment. + operationId: CreateFleetDeploymentConfigureV2 + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + config_operations: + - file_op: merge-patch + file_path: /datadog.yaml + patch: + apm_config: + enabled: true + log_level: info + logs_enabled: true + filter_query: env:prod AND datacenter:us-east-1 + type: deployment + dry_run: + summary: Dry run + value: + data: + attributes: + config_operations: + - file_op: merge-patch + file_path: /datadog.yaml + patch: + log_level: info + dry_run: true + filter_query: env:prod AND datacenter:us-east-1 + type: deployment + schema: + $ref: "#/components/schemas/FleetDeploymentConfigureV2CreateRequest" + description: Request payload containing the deployment details. + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + dry_run: + config_validated: true + non_upgradable_hosts: 0 + query: "env:prod AND datacenter:us-east-1" + total_hosts: 42 + id: dry-run + type: deployment + schema: + $ref: "#/components/schemas/FleetDeploymentConfigureV2DryRunResponse" + description: OK + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + author: "alice@datadoghq.com" + duration_seconds: 0 + error_summary: "" + estimated_finished_at: 0 + finished_at: 0 + is_scheduled: false + query: "env:prod AND datacenter:us-east-1" + started_at: 1699990000 + status: pending + target_versions: [] + update_type: update_config_operations + id: k7Q-3mX-p9Z + type: deployment + schema: + $ref: "#/components/schemas/FleetDeploymentV2CreateResponse" + description: CREATED + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create a configuration deployment + tags: + - Fleet Automation + "x-permission": + operator: AND + permissions: + - agent_upgrade_write + - fleet_policies_write + /api/v2/fleet/deployments/upgrade: + post: + description: |- + Create and immediately start a new package upgrade + on hosts matching the specified filter query. + + This endpoint allows you to upgrade the Datadog Agent to a specific version + on hosts matching the specified filter query. + + The deployment is created and started automatically. The system: + 1. Identifies all hosts matching the filter query. + 2. Validates that the specified version is available. + 3. Begins rolling out the package upgrade to the target hosts. + + Returns a 400 if `filter_query` or `target_packages` is missing, a target package is missing a name or version, or the filter query does not match any host eligible for the upgrade. Returns a 409 if a conflicting upgrade is already running on one or more target hosts. + operationId: CreateFleetDeploymentUpgradeV2 + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + filter_query: env:prod AND service:web + target_packages: + - name: datadog-agent + version: 7.52.0 + type: deployment + schema: + $ref: "#/components/schemas/FleetDeploymentPackageUpgradeV2CreateRequest" + description: Request payload containing the package upgrade details. + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + author: "alice@datadoghq.com" + duration_seconds: 0 + error_summary: "" + estimated_finished_at: 0 + finished_at: 0 + is_scheduled: false + query: "env:prod AND service:web" + started_at: 1699990000 + status: pending + target_versions: ["7.52.0"] + update_type: update_package + id: k7Q-3mX-p9Z + type: deployment + schema: + $ref: "#/components/schemas/FleetDeploymentV2CreateResponse" + description: CREATED + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "409": + $ref: "#/components/responses/ConflictResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Upgrade hosts + tags: + - Fleet Automation + "x-permission": + operator: AND + permissions: + - agent_upgrade_write + - fleet_policies_write + /api/v2/fleet/deployments/{deployment_id}: + get: + description: |- + Retrieve detailed information about a specific deployment, including its current status, + configuration operations, and per-host execution status. + + Returns a 404 if no deployment matches the given ID or if you do not have access to it. + operationId: GetFleetDeploymentV2 + parameters: + - description: The unique identifier of the deployment to retrieve. + example: "k7Q-3mX-p9Z" + in: path + name: deployment_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + author: "carol@datadoghq.com" + canceled_hosts: 1 + config_operations: + - file_op: merge-patch + file_path: "/datadog.yaml" + patch: + logs_enabled: true + duration_seconds: 0 + error_summary: "" + estimated_finished_at: 1699999999 + failed_hosts: 1 + high_level_status: running + hosts: + - hostname: web-01.example.com + running_step: applying_config + status: running + status_details: "step 2/3" + versions: + - current_version: "7.50.0" + package_name: datadog-agent + target_version: "7.52.0" + - hostname: web-02.example.com + status: succeeded + versions: + - current_version: "7.52.0" + package_name: datadog-agent + target_version: "7.52.0" + is_scheduled: true + query: "env:prod AND service:web" + running_hosts: 1 + schedule_id: "sched-789" + skipped_hosts: 1 + succeeded_hosts: 1 + target_versions: ["7.52.0"] + total_hosts: 5 + update_type: update_config_operations + id: k7Q-3mX-p9Z + type: deployment + schema: + $ref: "#/components/schemas/FleetDeploymentV2DetailResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get a deployment by ID + tags: + - Fleet Automation + "x-permission": + operator: AND + permissions: + - hosts_read + /api/v2/fleet/deployments/{deployment_id}/cancel: + post: + description: |- + Cancel an active deployment and stop all pending operations. + When you cancel a deployment: + - All pending operations on hosts that haven't started yet are stopped. + - Operations currently in progress on hosts may complete or be interrupted, depending on their current status. + - Configuration changes or package upgrades already applied to hosts are not rolled back. + + After cancellation, you can view the final state of the deployment using the GET endpoint to see which hosts + were successfully updated before the cancellation. + + Only deployments with a `pending` or `running` status can be canceled. Returns a 400 if the deployment is not in a cancelable status. Returns a 404 if no deployment matches the specified ID or if you do not have access to it. + operationId: CancelFleetDeploymentV2 + parameters: + - description: The unique identifier of the deployment to cancel. + example: "k7Q-3mX-p9Z" + in: path + name: deployment_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + message: "Cancellation has been requested; the deployment is stopping." + status: stopping + id: k7Q-3mX-p9Z + type: deployment + schema: + $ref: "#/components/schemas/FleetDeploymentV2CancelResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Cancel a deployment + tags: + - Fleet Automation + "x-permission": + operator: AND + permissions: + - agent_upgrade_write + - fleet_policies_write + /api/v2/fleet/schedules: + get: + description: |- + Retrieve all upgrade schedules for the organization. + + Schedules automate package upgrades by defining maintenance windows and recurrence rules. + Each schedule automatically creates deployments based on its configuration. + operationId: ListFleetSchedulesV2 + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: "2023-11-14T22:13:19Z" + created_by: user@example.com + is_default: false + name: Weekly Production Agent Updates + next_run: "2025-01-06T02:00:00Z" + query: env:prod AND service:web + rule: + days_of_week: + - Mon + - Wed + interval: 1 + maintenance_window_duration: 120 + start_maintenance_window: "02:00" + timezone: America/New_York + status: active + updated_at: "2023-11-14T22:13:19Z" + updated_by: user@example.com + version_to_latest: 0 + id: abc-def-ghi-123 + type: schedule + meta: + page: + total_count: 1 + schema: + $ref: "#/components/schemas/FleetSchedulesV2Response" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List all schedules + tags: + - Fleet Automation + "x-permission": + operator: OR + permissions: + - hosts_read + /api/v2/fleet/schedules/{id}: + get: + description: |- + Retrieve detailed information about a specific schedule by its unique identifier. + operationId: GetFleetScheduleV2 + parameters: + - description: The unique identifier of the schedule to retrieve. + example: "abc-def-ghi-123" + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: "2023-11-14T22:13:19Z" + created_by: user@example.com + is_default: false + name: Weekly Production Agent Updates + next_run: "2025-01-06T02:00:00Z" + query: env:prod AND service:web + rule: + days_of_week: + - Mon + - Wed + interval: 1 + maintenance_window_duration: 120 + start_maintenance_window: "02:00" + timezone: America/New_York + status: active + updated_at: "2023-11-14T22:13:19Z" + updated_by: user@example.com + version_to_latest: 0 + id: abc-def-ghi-123 + type: schedule + schema: + $ref: "#/components/schemas/FleetScheduleV2Response" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get a schedule by ID + tags: + - Fleet Automation + "x-permission": + operator: OR + permissions: + - hosts_read /api/v2/forms: get: description: Get all forms for the authenticated user's organization. diff --git a/features/v2/fleet_automation.feature b/features/v2/fleet_automation.feature index 3fede3c72f0b..06d0251beb98 100644 --- a/features/v2/fleet_automation.feature +++ b/features/v2/fleet_automation.feature @@ -14,46 +14,49 @@ Feature: Fleet Automation And a valid "appKeyAuth" key in the system And an instance of "FleetAutomation" API - @generated @skip @team:DataDog/fleet-automation + @skip @team:DataDog/fleet-automation Scenario: Cancel a deployment returns "Bad Request" response - Given operation "CancelFleetDeployment" enabled - And new "CancelFleetDeployment" request - And request contains "deployment_id" parameter from "REPLACE.ME" + Given new "CancelFleetDeploymentV2" request + And request contains "deployment_id" parameter with value "not-a-valid-deployment-id" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/fleet-automation - Scenario: Cancel a deployment returns "Deployment successfully canceled." response - Given operation "CancelFleetDeployment" enabled - And new "CancelFleetDeployment" request - And request contains "deployment_id" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 204 Deployment successfully canceled. - - @generated @skip @team:DataDog/fleet-automation + @skip @team:DataDog/fleet-automation Scenario: Cancel a deployment returns "Not Found" response - Given operation "CancelFleetDeployment" enabled - And new "CancelFleetDeployment" request - And request contains "deployment_id" parameter from "REPLACE.ME" + Given new "CancelFleetDeploymentV2" request + And request contains "deployment_id" parameter with value "000-000-000" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/fleet-automation + @skip @team:DataDog/fleet-automation + Scenario: Cancel a deployment returns "OK" response + Given there is a valid "deployment" in the system + And new "CancelFleetDeploymentV2" request + And request contains "deployment_id" parameter from "deployment.id" + When the request is sent + Then the response status is 200 OK + + @skip @team:DataDog/fleet-automation Scenario: Create a configuration deployment returns "Bad Request" response - Given operation "CreateFleetDeploymentConfigure" enabled - And new "CreateFleetDeploymentConfigure" request - And body with value {"data": {"attributes": {"config_operations": [{"file_op": "merge-patch", "file_path": "/datadog.yaml", "patch": {"apm_config": {"enabled": true}, "log_level": "debug", "logs_enabled": true}}], "filter_query": "env:prod AND service:web"}, "type": "deployment"}} + Given new "CreateFleetDeploymentConfigureV2" request + And body with value {"data": {"attributes": {"filter_query": "env:prod AND service:{{ unique_lower }}"}, "type": "deployment"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/fleet-automation + @skip @team:DataDog/fleet-automation Scenario: Create a configuration deployment returns "CREATED" response - Given operation "CreateFleetDeploymentConfigure" enabled - And new "CreateFleetDeploymentConfigure" request - And body with value {"data": {"attributes": {"config_operations": [{"file_op": "merge-patch", "file_path": "/datadog.yaml", "patch": {"apm_config": {"enabled": true}, "log_level": "debug", "logs_enabled": true}}], "filter_query": "env:prod AND service:web"}, "type": "deployment"}} + Given new "CreateFleetDeploymentConfigureV2" request + And body with value {"data": {"attributes": {"config_operations": [{"file_op": "merge-patch", "file_path": "/datadog.yaml", "patch": {"apm_config": {"enabled": true}, "log_level": "info", "logs_enabled": true}}], "filter_query": "env:prod AND service:{{ unique_lower }}"}, "type": "deployment"}} When the request is sent Then the response status is 201 CREATED + @skip @team:DataDog/fleet-automation + Scenario: Create a configuration deployment returns "OK" response + Given new "CreateFleetDeploymentConfigureV2" request + And body with value {"data": {"attributes": {"config_operations": [{"file_op": "merge-patch", "file_path": "/datadog.yaml", "patch": {"log_level": "info"}}], "dry_run": true, "filter_query": "env:prod AND service:{{ unique_lower }}"}, "type": "deployment"}} + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/fleet-automation Scenario: Create a schedule returns "Bad Request" response Given operation "CreateFleetSchedule" enabled @@ -94,141 +97,92 @@ Feature: Fleet Automation When the request is sent Then the response status is 204 Schedule successfully deleted. - @generated @skip @team:DataDog/fleet-automation - Scenario: Get a configuration deployment by ID returns "Bad Request" response - Given operation "GetFleetDeployment" enabled - And new "GetFleetDeployment" request - And request contains "deployment_id" parameter from "REPLACE.ME" + @skip @team:DataDog/fleet-automation + Scenario: Get a deployment by ID returns "Bad Request" response + Given new "GetFleetDeploymentV2" request + And request contains "deployment_id" parameter with value "not-a-valid-deployment-id" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/fleet-automation - Scenario: Get a configuration deployment by ID returns "Not Found" response - Given operation "GetFleetDeployment" enabled - And new "GetFleetDeployment" request - And request contains "deployment_id" parameter from "REPLACE.ME" + @skip @team:DataDog/fleet-automation + Scenario: Get a deployment by ID returns "Not Found" response + Given new "GetFleetDeploymentV2" request + And request contains "deployment_id" parameter with value "000-000-000" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/fleet-automation - Scenario: Get a configuration deployment by ID returns "OK" response - Given operation "GetFleetDeployment" enabled - And new "GetFleetDeployment" request - And request contains "deployment_id" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 200 OK - @skip @team:DataDog/fleet-automation Scenario: Get a deployment by ID returns "OK" response - Given operation "GetFleetDeployment" enabled - And there is a valid "deployment" in the system - And new "GetFleetDeployment" request + Given there is a valid "deployment" in the system + And new "GetFleetDeploymentV2" request And request contains "deployment_id" parameter from "deployment.id" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/fleet-automation + @skip @team:DataDog/fleet-automation Scenario: Get a schedule by ID returns "Bad Request" response - Given operation "GetFleetSchedule" enabled - And new "GetFleetSchedule" request - And request contains "id" parameter from "REPLACE.ME" + Given new "GetFleetScheduleV2" request + And request contains "id" parameter with value "not-a-valid-schedule-id" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/fleet-automation + @skip @team:DataDog/fleet-automation Scenario: Get a schedule by ID returns "Not Found" response - Given operation "GetFleetSchedule" enabled - And new "GetFleetSchedule" request - And request contains "id" parameter from "REPLACE.ME" + Given new "GetFleetScheduleV2" request + And request contains "id" parameter with value "000-000-000" When the request is sent Then the response status is 404 Not Found @skip @team:DataDog/fleet-automation Scenario: Get a schedule by ID returns "OK" response - Given operation "GetFleetSchedule" enabled - And there is a valid "fleet_schedule" in the system - And new "GetFleetSchedule" request - And request contains "id" parameter from "REPLACE.ME" + Given there is a valid "fleet_schedule" in the system + And new "GetFleetScheduleV2" request + And request contains "id" parameter from "schedule.id" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/fleet-automation + @skip @team:DataDog/fleet-automation Scenario: Get detailed information about an agent returns "Bad Request" response - Given operation "GetFleetAgentInfo" enabled - And new "GetFleetAgentInfo" request - And request contains "agent_key" parameter from "REPLACE.ME" + Given new "GetFleetAgentDetailV2" request + And request contains "agent_key" parameter with value "not-a-valid-agent-key" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/fleet-automation + @skip @team:DataDog/fleet-automation Scenario: Get detailed information about an agent returns "Not Found" response - Given operation "GetFleetAgentInfo" enabled - And new "GetFleetAgentInfo" request - And request contains "agent_key" parameter from "REPLACE.ME" + Given new "GetFleetAgentDetailV2" request + And request contains "agent_key" parameter with value "00000000000000000000000000000000" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/fleet-automation + @integration-only @skip @team:DataDog/fleet-automation Scenario: Get detailed information about an agent returns "OK" response - Given operation "GetFleetAgentInfo" enabled - And new "GetFleetAgentInfo" request - And request contains "agent_key" parameter from "REPLACE.ME" + Given new "GetFleetAgentDetailV2" request + And request contains "agent_key" parameter with value "a1b2c3d4e5f67890a1b2c3d4e5f67890" When the request is sent Then the response status is 200 OK @generated @skip @team:DataDog/fleet-automation Scenario: List all Datadog Agents returns "Bad Request" response - Given operation "ListFleetAgents" enabled - And new "ListFleetAgents" request + Given new "ListFleetAgentsV2" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/fleet-automation - Scenario: List all Datadog Agents returns "Not Found" response - Given operation "ListFleetAgents" enabled - And new "ListFleetAgents" request - When the request is sent - Then the response status is 404 Not Found - @generated @skip @team:DataDog/fleet-automation Scenario: List all Datadog Agents returns "OK" response - Given operation "ListFleetAgents" enabled - And new "ListFleetAgents" request - When the request is sent - Then the response status is 200 OK - - @generated @skip @team:DataDog/fleet-automation - Scenario: List all available Agent versions returns "Bad Request" response - Given operation "ListFleetAgentVersions" enabled - And new "ListFleetAgentVersions" request - When the request is sent - Then the response status is 400 Bad Request - - @generated @skip @team:DataDog/fleet-automation - Scenario: List all available Agent versions returns "Not Found" response - Given operation "ListFleetAgentVersions" enabled - And new "ListFleetAgentVersions" request - When the request is sent - Then the response status is 404 Not Found - - @generated @skip @team:DataDog/fleet-automation - Scenario: List all available Agent versions returns "OK" response - Given operation "ListFleetAgentVersions" enabled - And new "ListFleetAgentVersions" request + Given new "ListFleetAgentsV2" request When the request is sent Then the response status is 200 OK @generated @skip @team:DataDog/fleet-automation Scenario: List all deployments returns "Bad Request" response - Given operation "ListFleetDeployments" enabled - And new "ListFleetDeployments" request + Given new "ListFleetDeploymentsV2" request When the request is sent Then the response status is 400 Bad Request @generated @skip @team:DataDog/fleet-automation Scenario: List all deployments returns "OK" response - Given operation "ListFleetDeployments" enabled - And new "ListFleetDeployments" request + Given new "ListFleetDeploymentsV2" request When the request is sent Then the response status is 200 OK @@ -255,15 +209,25 @@ Feature: Fleet Automation @generated @skip @team:DataDog/fleet-automation Scenario: List all schedules returns "Bad Request" response - Given operation "ListFleetSchedules" enabled - And new "ListFleetSchedules" request + Given new "ListFleetSchedulesV2" request When the request is sent Then the response status is 400 Bad Request @generated @skip @team:DataDog/fleet-automation Scenario: List all schedules returns "OK" response - Given operation "ListFleetSchedules" enabled - And new "ListFleetSchedules" request + Given new "ListFleetSchedulesV2" request + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/fleet-automation + Scenario: List available Datadog Agent versions returns "Not Found" response + Given new "ListFleetAgentVersionsV2" request + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/fleet-automation + Scenario: List available Datadog Agent versions returns "OK" response + Given new "ListFleetAgentVersionsV2" request When the request is sent Then the response status is 200 OK @@ -342,26 +306,24 @@ Feature: Fleet Automation When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/fleet-automation + @skip @team:DataDog/fleet-automation Scenario: Upgrade hosts returns "Bad Request" response - Given operation "CreateFleetDeploymentUpgrade" enabled - And new "CreateFleetDeploymentUpgrade" request - And body with value {"data": {"attributes": {"filter_query": "env:prod AND service:web", "target_packages": [{"name": "datadog-agent", "version": "7.52.0"}]}, "type": "deployment"}} + Given new "CreateFleetDeploymentUpgradeV2" request + And body with value {"data": {"attributes": {"filter_query": "env:prod AND service:{{ unique_lower }}"}, "type": "deployment"}} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/fleet-automation + @skip @team:DataDog/fleet-automation Scenario: Upgrade hosts returns "CREATED" response - Given operation "CreateFleetDeploymentUpgrade" enabled - And new "CreateFleetDeploymentUpgrade" request - And body with value {"data": {"attributes": {"filter_query": "env:prod AND service:web", "target_packages": [{"name": "datadog-agent", "version": "7.52.0"}]}, "type": "deployment"}} + Given new "CreateFleetDeploymentUpgradeV2" request + And body with value {"data": {"attributes": {"filter_query": "env:prod AND service:{{ unique_lower }}", "target_packages": [{"name": "datadog-agent", "version": "7.52.0"}]}, "type": "deployment"}} When the request is sent Then the response status is 201 CREATED - @generated @skip @team:DataDog/fleet-automation - Scenario: Upgrade hosts returns "Not Found" response - Given operation "CreateFleetDeploymentUpgrade" enabled - And new "CreateFleetDeploymentUpgrade" request - And body with value {"data": {"attributes": {"filter_query": "env:prod AND service:web", "target_packages": [{"name": "datadog-agent", "version": "7.52.0"}]}, "type": "deployment"}} + @skip @team:DataDog/fleet-automation + Scenario: Upgrade hosts returns "Conflict" response + Given there is a valid "package_deployment" in the system + And new "CreateFleetDeploymentUpgradeV2" request + And body with value {"data": {"attributes": {"filter_query": "env:prod AND service:{{ unique_lower }}", "target_packages": [{"name": "datadog-agent", "version": "7.52.0"}]}, "type": "deployment"}} When the request is sent - Then the response status is 404 Not Found + Then the response status is 409 Conflict diff --git a/features/v2/given.json b/features/v2/given.json index 6f57cbefde83..6e48ed1fc534 100644 --- a/features/v2/given.json +++ b/features/v2/given.json @@ -1,30 +1,4 @@ [ - { - "parameters": [ - { - "name": "body", - "value": "{\n \"data\": {\n \"type\": \"deployment\",\n \"attributes\": {\n \"filter_query\": \"env:prod AND service:{{ unique_lower }}\",\n \"config_operations\": [\n {\n \"file_op\": \"merge-patch\",\n \"file_path\": \"/datadog.yaml\",\n \"patch\": {\n \"log_level\": \"info\"\n }\n }\n ]\n }\n }\n}" - } - ], - "source": "data", - "step": "there is a valid \"deployment\" in the system", - "key": "deployment", - "tag": "Fleet Automation", - "operationId": "CreateFleetDeploymentConfigure" - }, - { - "parameters": [ - { - "name": "body", - "value": "{\n \"data\": {\n \"type\": \"deployment\",\n \"attributes\": {\n \"filter_query\": \"env:prod AND service:{{ unique_lower }}\",\n \"target_packages\": [\n {\n \"name\": \"datadog-agent\",\n \"version\": \"7.52.0\"\n }\n ]\n }\n }\n}" - } - ], - "source": "data", - "step": "there is a valid \"package_deployment\" in the system", - "key": "package_deployment", - "tag": "Fleet Automation", - "operationId": "CreateFleetDeploymentUpgrade" - }, { "parameters": [ { @@ -498,6 +472,32 @@ "tag": "Feature Flags", "operationId": "UpdateAllocationsForFeatureFlagInEnvironment" }, + { + "parameters": [ + { + "name": "body", + "value": "{\n \"data\": {\n \"type\": \"deployment\",\n \"attributes\": {\n \"filter_query\": \"env:prod AND service:{{ unique_lower }}\",\n \"config_operations\": [\n {\n \"file_op\": \"merge-patch\",\n \"file_path\": \"/datadog.yaml\",\n \"patch\": {\n \"log_level\": \"info\"\n }\n }\n ]\n }\n }\n}" + } + ], + "source": "data", + "step": "there is a valid \"deployment\" in the system", + "key": "deployment", + "tag": "Fleet Automation", + "operationId": "CreateFleetDeploymentConfigureV2" + }, + { + "parameters": [ + { + "name": "body", + "value": "{\n \"data\": {\n \"type\": \"deployment\",\n \"attributes\": {\n \"filter_query\": \"env:prod AND service:{{ unique_lower }}\",\n \"target_packages\": [\n {\n \"name\": \"datadog-agent\",\n \"version\": \"7.52.0\"\n }\n ]\n }\n }\n}" + } + ], + "source": "data", + "step": "there is a valid \"package_deployment\" in the system", + "key": "package_deployment", + "tag": "Fleet Automation", + "operationId": "CreateFleetDeploymentUpgradeV2" + }, { "parameters": [ { diff --git a/features/v2/undo.json b/features/v2/undo.json index 9c1ff8a4f2fd..133ab9ade47d 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -1,78 +1,10 @@ { - "ListFleetAgentVersions": { - "tag": "Fleet Automation", - "undo": { - "type": "safe" - } - }, - "ListFleetAgents": { - "tag": "Fleet Automation", - "undo": { - "type": "safe" - } - }, - "GetFleetAgentInfo": { - "tag": "Fleet Automation", - "undo": { - "type": "safe" - } - }, "ListFleetAgentTracers": { "tag": "Fleet Automation", "undo": { "type": "safe" } }, - "ListFleetDeployments": { - "tag": "Fleet Automation", - "undo": { - "type": "safe" - } - }, - "CreateFleetDeploymentConfigure": { - "tag": "Fleet Automation", - "undo": { - "operationId": "CancelFleetDeployment", - "parameters": [ - { - "name": "deployment_id", - "source": "data.id" - } - ], - "type": "unsafe" - } - }, - "CreateFleetDeploymentUpgrade": { - "tag": "Fleet Automation", - "undo": { - "operationId": "CancelFleetDeployment", - "parameters": [ - { - "name": "deployment_id", - "source": "data.id" - } - ], - "type": "unsafe" - } - }, - "GetFleetDeployment": { - "tag": "Fleet Automation", - "undo": { - "type": "safe" - } - }, - "CancelFleetDeployment": { - "tag": "Fleet Automation", - "undo": { - "type": "idempotent" - } - }, - "ListFleetSchedules": { - "tag": "Fleet Automation", - "undo": { - "type": "safe" - } - }, "CreateFleetSchedule": { "tag": "Fleet Automation", "undo": { @@ -92,12 +24,6 @@ "type": "unsafe" } }, - "GetFleetSchedule": { - "tag": "Fleet Automation", - "undo": { - "type": "safe" - } - }, "UpdateFleetSchedule": { "tag": "Fleet Automation", "undo": { @@ -2747,6 +2673,80 @@ "type": "idempotent" } }, + "ListFleetAgentVersionsV2": { + "tag": "Fleet Automation", + "undo": { + "type": "safe" + } + }, + "ListFleetAgentsV2": { + "tag": "Fleet Automation", + "undo": { + "type": "safe" + } + }, + "GetFleetAgentDetailV2": { + "tag": "Fleet Automation", + "undo": { + "type": "safe" + } + }, + "ListFleetDeploymentsV2": { + "tag": "Fleet Automation", + "undo": { + "type": "safe" + } + }, + "CreateFleetDeploymentConfigureV2": { + "tag": "Fleet Automation", + "undo": { + "operationId": "CancelFleetDeploymentV2", + "parameters": [ + { + "name": "deployment_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "CreateFleetDeploymentUpgradeV2": { + "tag": "Fleet Automation", + "undo": { + "operationId": "CancelFleetDeploymentV2", + "parameters": [ + { + "name": "deployment_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "GetFleetDeploymentV2": { + "tag": "Fleet Automation", + "undo": { + "type": "safe" + } + }, + "CancelFleetDeploymentV2": { + "tag": "Fleet Automation", + "undo": { + "type": "idempotent" + } + }, + "ListFleetSchedulesV2": { + "tag": "Fleet Automation", + "undo": { + "type": "safe" + } + }, + "GetFleetScheduleV2": { + "tag": "Fleet Automation", + "undo": { + "type": "safe" + } + }, "ListForms": { "tag": "Forms", "undo": { diff --git a/private/bdd_runner/src/support/scenarios_model_mapping.ts b/private/bdd_runner/src/support/scenarios_model_mapping.ts index e9148aebaa3f..a4f67dfda145 100644 --- a/private/bdd_runner/src/support/scenarios_model_mapping.ts +++ b/private/bdd_runner/src/support/scenarios_model_mapping.ts @@ -2354,10 +2354,11 @@ export const ScenariosModelMappings: { [key: string]: OperationMapping } = { "AuthenticationApi.V1.Validate": { operationResponseType: "AuthenticationValidationResponse", }, - "FleetAutomationApi.V2.ListFleetAgentVersions": { - operationResponseType: "FleetAgentVersionsResponse", - }, - "FleetAutomationApi.V2.ListFleetAgents": { + "FleetAutomationApi.V2.ListFleetAgentTracers": { + agentKey: { + type: "string", + format: "", + }, pageNumber: { type: "number", format: "int64", @@ -2374,28 +2375,41 @@ export const ScenariosModelMappings: { [key: string]: OperationMapping } = { type: "boolean", format: "", }, - tags: { - type: "string", + operationResponseType: "FleetTracersResponse", + }, + "FleetAutomationApi.V2.CreateFleetSchedule": { + body: { + type: "FleetScheduleCreateRequest", format: "", }, - filter: { + operationResponseType: "FleetScheduleResponse", + }, + "FleetAutomationApi.V2.DeleteFleetSchedule": { + id: { type: "string", format: "", }, - operationResponseType: "FleetAgentsResponse", + operationResponseType: "{}", }, - "FleetAutomationApi.V2.GetFleetAgentInfo": { - agentKey: { + "FleetAutomationApi.V2.UpdateFleetSchedule": { + id: { type: "string", format: "", }, - operationResponseType: "FleetAgentInfoResponse", + body: { + type: "FleetSchedulePatchRequest", + format: "", + }, + operationResponseType: "FleetScheduleResponse", }, - "FleetAutomationApi.V2.ListFleetAgentTracers": { - agentKey: { + "FleetAutomationApi.V2.TriggerFleetSchedule": { + id: { type: "string", format: "", }, + operationResponseType: "FleetDeploymentResponse", + }, + "FleetAutomationApi.V2.ListFleetTracers": { pageNumber: { type: "number", format: "int64", @@ -2412,119 +2426,113 @@ export const ScenariosModelMappings: { [key: string]: OperationMapping } = { type: "boolean", format: "", }, + filter: { + type: "string", + format: "", + }, operationResponseType: "FleetTracersResponse", }, - "FleetAutomationApi.V2.ListFleetDeployments": { - pageSize: { + "FleetAutomationApi.V2.ListFleetAgentVersionsV2": { + operationResponseType: "FleetAgentVersionsV2Response", + }, + "FleetAutomationApi.V2.ListFleetAgentsV2": { + pageNumber: { type: "number", format: "int64", }, - pageOffset: { + pageSize: { type: "number", format: "int64", }, - operationResponseType: "FleetDeploymentsResponse", - }, - "FleetAutomationApi.V2.CreateFleetDeploymentConfigure": { - body: { - type: "FleetDeploymentConfigureCreateRequest", + filter: { + type: "string", format: "", }, - operationResponseType: "FleetDeploymentResponse", - }, - "FleetAutomationApi.V2.CreateFleetDeploymentUpgrade": { - body: { - type: "FleetDeploymentPackageUpgradeCreateRequest", + tags: { + type: "string", format: "", }, - operationResponseType: "FleetDeploymentResponse", + sortAttribute: { + type: "string", + format: "", + }, + sortDescending: { + type: "boolean", + format: "", + }, + operationResponseType: "FleetAgentsV2Response", }, - "FleetAutomationApi.V2.GetFleetDeployment": { - deploymentId: { + "FleetAutomationApi.V2.GetFleetAgentDetailV2": { + agentKey: { type: "string", format: "", }, - limit: { + include: { + type: "string", + format: "", + }, + operationResponseType: "FleetAgentDetailV2Response", + }, + "FleetAutomationApi.V2.ListFleetDeploymentsV2": { + pageSize: { type: "number", format: "int64", }, - page: { + pageNumber: { type: "number", format: "int64", }, - operationResponseType: "FleetDeploymentResponse", - }, - "FleetAutomationApi.V2.CancelFleetDeployment": { - deploymentId: { + sort: { type: "string", format: "", }, - operationResponseType: "{}", - }, - "FleetAutomationApi.V2.ListFleetSchedules": { - operationResponseType: "FleetSchedulesResponse", - }, - "FleetAutomationApi.V2.CreateFleetSchedule": { - body: { - type: "FleetScheduleCreateRequest", + ascending: { + type: "boolean", format: "", }, - operationResponseType: "FleetScheduleResponse", - }, - "FleetAutomationApi.V2.GetFleetSchedule": { - id: { + filter: { type: "string", format: "", }, - operationResponseType: "FleetScheduleResponse", + operationResponseType: "FleetDeploymentsV2Response", }, - "FleetAutomationApi.V2.DeleteFleetSchedule": { - id: { - type: "string", + "FleetAutomationApi.V2.CreateFleetDeploymentConfigureV2": { + body: { + type: "FleetDeploymentConfigureV2CreateRequest", format: "", }, - operationResponseType: "{}", + operationResponseType: "FleetDeploymentConfigureV2DryRunResponse", }, - "FleetAutomationApi.V2.UpdateFleetSchedule": { - id: { - type: "string", - format: "", - }, + "FleetAutomationApi.V2.CreateFleetDeploymentUpgradeV2": { body: { - type: "FleetSchedulePatchRequest", + type: "FleetDeploymentPackageUpgradeV2CreateRequest", format: "", }, - operationResponseType: "FleetScheduleResponse", + operationResponseType: "FleetDeploymentV2CreateResponse", }, - "FleetAutomationApi.V2.TriggerFleetSchedule": { - id: { + "FleetAutomationApi.V2.GetFleetDeploymentV2": { + deploymentId: { type: "string", format: "", }, - operationResponseType: "FleetDeploymentResponse", + operationResponseType: "FleetDeploymentV2DetailResponse", }, - "FleetAutomationApi.V2.ListFleetTracers": { - pageNumber: { - type: "number", - format: "int64", - }, - pageSize: { - type: "number", - format: "int64", - }, - sortAttribute: { + "FleetAutomationApi.V2.CancelFleetDeploymentV2": { + deploymentId: { type: "string", format: "", }, - sortDescending: { - type: "boolean", - format: "", - }, - filter: { + operationResponseType: "FleetDeploymentV2CancelResponse", + }, + "FleetAutomationApi.V2.ListFleetSchedulesV2": { + operationResponseType: "FleetSchedulesV2Response", + }, + "FleetAutomationApi.V2.GetFleetScheduleV2": { + id: { type: "string", format: "", }, - operationResponseType: "FleetTracersResponse", + operationResponseType: "FleetScheduleV2Response", }, "LLMObservabilityApi.V2.ListLLMObsCustomEvalConfigs": { operationResponseType: "LLMObsCustomEvalConfigListResponse", diff --git a/services/fleet_automation/README.md b/services/fleet_automation/README.md index a809cbd40b2e..1b13176b30e6 100644 --- a/services/fleet_automation/README.md +++ b/services/fleet_automation/README.md @@ -39,14 +39,15 @@ const configuration = createConfiguration(); // Enable unstable operations const configurationOpts = { unstableOperations: { - "FleetAutomationApi.v2.listFleetAgentVersions": true + "FleetAutomationApi.v2.listFleetAgentTracers": true } } const configuration = createConfiguration(configurationOpts); const apiInstance = new FleetAutomationApiV2(configuration); +const params = {/* parameters */}; -apiInstance.listFleetAgentVersions().then((data) => { +apiInstance.listFleetAgentTracers(params).then((data) => { console.log("API called successfully. Returned data: " + JSON.stringify(data)); }).catch((error) => { console.error("Error calling API: " + error); diff --git a/services/fleet_automation/src/v2/FleetAutomationApi.ts b/services/fleet_automation/src/v2/FleetAutomationApi.ts index 5d4e45c2f9b1..5f2ad2ce2514 100644 --- a/services/fleet_automation/src/v2/FleetAutomationApi.ts +++ b/services/fleet_automation/src/v2/FleetAutomationApi.ts @@ -23,17 +23,22 @@ import { import { TypingInfo } from "./models/TypingInfo"; import { APIErrorResponse } from "./models/APIErrorResponse"; -import { FleetAgentInfoResponse } from "./models/FleetAgentInfoResponse"; -import { FleetAgentsResponse } from "./models/FleetAgentsResponse"; -import { FleetAgentVersionsResponse } from "./models/FleetAgentVersionsResponse"; -import { FleetDeploymentConfigureCreateRequest } from "./models/FleetDeploymentConfigureCreateRequest"; -import { FleetDeploymentPackageUpgradeCreateRequest } from "./models/FleetDeploymentPackageUpgradeCreateRequest"; +import { FleetAgentDetailV2Response } from "./models/FleetAgentDetailV2Response"; +import { FleetAgentsV2Response } from "./models/FleetAgentsV2Response"; +import { FleetAgentVersionsV2Response } from "./models/FleetAgentVersionsV2Response"; +import { FleetDeploymentConfigureV2CreateRequest } from "./models/FleetDeploymentConfigureV2CreateRequest"; +import { FleetDeploymentConfigureV2DryRunResponse } from "./models/FleetDeploymentConfigureV2DryRunResponse"; +import { FleetDeploymentPackageUpgradeV2CreateRequest } from "./models/FleetDeploymentPackageUpgradeV2CreateRequest"; import { FleetDeploymentResponse } from "./models/FleetDeploymentResponse"; -import { FleetDeploymentsResponse } from "./models/FleetDeploymentsResponse"; +import { FleetDeploymentsV2Response } from "./models/FleetDeploymentsV2Response"; +import { FleetDeploymentV2CancelResponse } from "./models/FleetDeploymentV2CancelResponse"; +import { FleetDeploymentV2CreateResponse } from "./models/FleetDeploymentV2CreateResponse"; +import { FleetDeploymentV2DetailResponse } from "./models/FleetDeploymentV2DetailResponse"; import { FleetScheduleCreateRequest } from "./models/FleetScheduleCreateRequest"; import { FleetSchedulePatchRequest } from "./models/FleetSchedulePatchRequest"; import { FleetScheduleResponse } from "./models/FleetScheduleResponse"; -import { FleetSchedulesResponse } from "./models/FleetSchedulesResponse"; +import { FleetSchedulesV2Response } from "./models/FleetSchedulesV2Response"; +import { FleetScheduleV2Response } from "./models/FleetScheduleV2Response"; import { FleetTracersResponse } from "./models/FleetTracersResponse"; import { version } from "../version"; @@ -46,35 +51,27 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { this.userAgent = buildUserAgent("fleet-automation", version); } } - public async cancelFleetDeployment( + public async cancelFleetDeploymentV2( deploymentId: string, _options?: Configuration, ): Promise { const _config = _options || this.configuration; - if ( - !_config.unstableOperations["FleetAutomationApi.v2.cancelFleetDeployment"] - ) { - throw new Error( - "Unstable operation 'cancelFleetDeployment' is disabled. Enable it by setting `configuration.unstableOperations['FleetAutomationApi.v2.cancelFleetDeployment'] = true`", - ); - } - // verify required parameter 'deploymentId' is not null or undefined if (deploymentId === null || deploymentId === undefined) { - throw new RequiredError("deploymentId", "cancelFleetDeployment"); + throw new RequiredError("deploymentId", "cancelFleetDeploymentV2"); } // Path Params const localVarPath = - "/api/unstable/fleet/deployments/{deployment_id}/cancel".replace( + "/api/v2/fleet/deployments/{deployment_id}/cancel".replace( "{deployment_id}", encodeURIComponent(String(deploymentId)), ); // Make Request Context const { server, overrides } = _config.getServerAndOverrides( - "FleetAutomationApi.v2.cancelFleetDeployment", + "FleetAutomationApi.v2.cancelFleetDeploymentV2", FleetAutomationApi.operationServers, ); const requestContext = server.makeRequestContext( @@ -82,7 +79,7 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { HttpMethod.POST, overrides, ); - requestContext.setHeaderParam("Accept", "*/*"); + requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); // Set User-Agent @@ -99,33 +96,23 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } - public async createFleetDeploymentConfigure( - body: FleetDeploymentConfigureCreateRequest, + public async createFleetDeploymentConfigureV2( + body: FleetDeploymentConfigureV2CreateRequest, _options?: Configuration, ): Promise { const _config = _options || this.configuration; - if ( - !_config.unstableOperations[ - "FleetAutomationApi.v2.createFleetDeploymentConfigure" - ] - ) { - throw new Error( - "Unstable operation 'createFleetDeploymentConfigure' is disabled. Enable it by setting `configuration.unstableOperations['FleetAutomationApi.v2.createFleetDeploymentConfigure'] = true`", - ); - } - // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { - throw new RequiredError("body", "createFleetDeploymentConfigure"); + throw new RequiredError("body", "createFleetDeploymentConfigureV2"); } // Path Params - const localVarPath = "/api/unstable/fleet/deployments/configure"; + const localVarPath = "/api/v2/fleet/deployments/configure"; // Make Request Context const { server, overrides } = _config.getServerAndOverrides( - "FleetAutomationApi.v2.createFleetDeploymentConfigure", + "FleetAutomationApi.v2.createFleetDeploymentConfigureV2", FleetAutomationApi.operationServers, ); const requestContext = server.makeRequestContext( @@ -145,7 +132,12 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { const contentType = getPreferredMediaType(["application/json"]); requestContext.setHeaderParam("Content-Type", contentType); const serializedBody = stringify( - serialize(body, TypingInfo, "FleetDeploymentConfigureCreateRequest", ""), + serialize( + body, + TypingInfo, + "FleetDeploymentConfigureV2CreateRequest", + "", + ), contentType, ); requestContext.setBody(serializedBody); @@ -159,33 +151,23 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } - public async createFleetDeploymentUpgrade( - body: FleetDeploymentPackageUpgradeCreateRequest, + public async createFleetDeploymentUpgradeV2( + body: FleetDeploymentPackageUpgradeV2CreateRequest, _options?: Configuration, ): Promise { const _config = _options || this.configuration; - if ( - !_config.unstableOperations[ - "FleetAutomationApi.v2.createFleetDeploymentUpgrade" - ] - ) { - throw new Error( - "Unstable operation 'createFleetDeploymentUpgrade' is disabled. Enable it by setting `configuration.unstableOperations['FleetAutomationApi.v2.createFleetDeploymentUpgrade'] = true`", - ); - } - // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { - throw new RequiredError("body", "createFleetDeploymentUpgrade"); + throw new RequiredError("body", "createFleetDeploymentUpgradeV2"); } // Path Params - const localVarPath = "/api/unstable/fleet/deployments/upgrade"; + const localVarPath = "/api/v2/fleet/deployments/upgrade"; // Make Request Context const { server, overrides } = _config.getServerAndOverrides( - "FleetAutomationApi.v2.createFleetDeploymentUpgrade", + "FleetAutomationApi.v2.createFleetDeploymentUpgradeV2", FleetAutomationApi.operationServers, ); const requestContext = server.makeRequestContext( @@ -208,7 +190,7 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { serialize( body, TypingInfo, - "FleetDeploymentPackageUpgradeCreateRequest", + "FleetDeploymentPackageUpgradeV2CreateRequest", "", ), contentType, @@ -334,34 +316,27 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } - public async getFleetAgentInfo( + public async getFleetAgentDetailV2( agentKey: string, + include?: string, _options?: Configuration, ): Promise { const _config = _options || this.configuration; - if ( - !_config.unstableOperations["FleetAutomationApi.v2.getFleetAgentInfo"] - ) { - throw new Error( - "Unstable operation 'getFleetAgentInfo' is disabled. Enable it by setting `configuration.unstableOperations['FleetAutomationApi.v2.getFleetAgentInfo'] = true`", - ); - } - // verify required parameter 'agentKey' is not null or undefined if (agentKey === null || agentKey === undefined) { - throw new RequiredError("agentKey", "getFleetAgentInfo"); + throw new RequiredError("agentKey", "getFleetAgentDetailV2"); } // Path Params - const localVarPath = "/api/unstable/fleet/agents/{agent_key}".replace( + const localVarPath = "/api/v2/fleet/agents/{agent_key}".replace( "{agent_key}", encodeURIComponent(String(agentKey)), ); // Make Request Context const { server, overrides } = _config.getServerAndOverrides( - "FleetAutomationApi.v2.getFleetAgentInfo", + "FleetAutomationApi.v2.getFleetAgentDetailV2", FleetAutomationApi.operationServers, ); const requestContext = server.makeRequestContext( @@ -377,6 +352,15 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { requestContext.setHeaderParam("User-Agent", this.userAgent); } + // Query Params + if (include !== undefined) { + requestContext.setQueryParam( + "include", + serialize(include, TypingInfo, "string", ""), + "", + ); + } + // Apply auth methods applySecurityAuthentication(_config, requestContext, [ "apiKeyAuth", @@ -386,37 +370,26 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } - public async getFleetDeployment( + public async getFleetDeploymentV2( deploymentId: string, - limit?: number, - page?: number, _options?: Configuration, ): Promise { const _config = _options || this.configuration; - if ( - !_config.unstableOperations["FleetAutomationApi.v2.getFleetDeployment"] - ) { - throw new Error( - "Unstable operation 'getFleetDeployment' is disabled. Enable it by setting `configuration.unstableOperations['FleetAutomationApi.v2.getFleetDeployment'] = true`", - ); - } - // verify required parameter 'deploymentId' is not null or undefined if (deploymentId === null || deploymentId === undefined) { - throw new RequiredError("deploymentId", "getFleetDeployment"); + throw new RequiredError("deploymentId", "getFleetDeploymentV2"); } // Path Params - const localVarPath = - "/api/unstable/fleet/deployments/{deployment_id}".replace( - "{deployment_id}", - encodeURIComponent(String(deploymentId)), - ); + const localVarPath = "/api/v2/fleet/deployments/{deployment_id}".replace( + "{deployment_id}", + encodeURIComponent(String(deploymentId)), + ); // Make Request Context const { server, overrides } = _config.getServerAndOverrides( - "FleetAutomationApi.v2.getFleetDeployment", + "FleetAutomationApi.v2.getFleetDeploymentV2", FleetAutomationApi.operationServers, ); const requestContext = server.makeRequestContext( @@ -432,22 +405,6 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { requestContext.setHeaderParam("User-Agent", this.userAgent); } - // Query Params - if (limit !== undefined) { - requestContext.setQueryParam( - "limit", - serialize(limit, TypingInfo, "number", "int64"), - "", - ); - } - if (page !== undefined) { - requestContext.setQueryParam( - "page", - serialize(page, TypingInfo, "number", "int64"), - "", - ); - } - // Apply auth methods applySecurityAuthentication(_config, requestContext, [ "apiKeyAuth", @@ -457,32 +414,26 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } - public async getFleetSchedule( + public async getFleetScheduleV2( id: string, _options?: Configuration, ): Promise { const _config = _options || this.configuration; - if (!_config.unstableOperations["FleetAutomationApi.v2.getFleetSchedule"]) { - throw new Error( - "Unstable operation 'getFleetSchedule' is disabled. Enable it by setting `configuration.unstableOperations['FleetAutomationApi.v2.getFleetSchedule'] = true`", - ); - } - // verify required parameter 'id' is not null or undefined if (id === null || id === undefined) { - throw new RequiredError("id", "getFleetSchedule"); + throw new RequiredError("id", "getFleetScheduleV2"); } // Path Params - const localVarPath = "/api/unstable/fleet/schedules/{id}".replace( + const localVarPath = "/api/v2/fleet/schedules/{id}".replace( "{id}", encodeURIComponent(String(id)), ); // Make Request Context const { server, overrides } = _config.getServerAndOverrides( - "FleetAutomationApi.v2.getFleetSchedule", + "FleetAutomationApi.v2.getFleetScheduleV2", FleetAutomationApi.operationServers, ); const requestContext = server.makeRequestContext( @@ -507,29 +458,23 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } - public async listFleetAgents( + public async listFleetAgentsV2( pageNumber?: number, pageSize?: number, + filter?: string, + tags?: string, sortAttribute?: string, sortDescending?: boolean, - tags?: string, - filter?: string, _options?: Configuration, ): Promise { const _config = _options || this.configuration; - if (!_config.unstableOperations["FleetAutomationApi.v2.listFleetAgents"]) { - throw new Error( - "Unstable operation 'listFleetAgents' is disabled. Enable it by setting `configuration.unstableOperations['FleetAutomationApi.v2.listFleetAgents'] = true`", - ); - } - // Path Params - const localVarPath = "/api/unstable/fleet/agents"; + const localVarPath = "/api/v2/fleet/agents"; // Make Request Context const { server, overrides } = _config.getServerAndOverrides( - "FleetAutomationApi.v2.listFleetAgents", + "FleetAutomationApi.v2.listFleetAgentsV2", FleetAutomationApi.operationServers, ); const requestContext = server.makeRequestContext( @@ -560,31 +505,31 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { "", ); } - if (sortAttribute !== undefined) { + if (filter !== undefined) { requestContext.setQueryParam( - "sort_attribute", - serialize(sortAttribute, TypingInfo, "string", ""), + "filter", + serialize(filter, TypingInfo, "string", ""), "", ); } - if (sortDescending !== undefined) { + if (tags !== undefined) { requestContext.setQueryParam( - "sort_descending", - serialize(sortDescending, TypingInfo, "boolean", ""), + "tags", + serialize(tags, TypingInfo, "string", ""), "", ); } - if (tags !== undefined) { + if (sortAttribute !== undefined) { requestContext.setQueryParam( - "tags", - serialize(tags, TypingInfo, "string", ""), + "sort_attribute", + serialize(sortAttribute, TypingInfo, "string", ""), "", ); } - if (filter !== undefined) { + if (sortDescending !== undefined) { requestContext.setQueryParam( - "filter", - serialize(filter, TypingInfo, "string", ""), + "sort_descending", + serialize(sortDescending, TypingInfo, "boolean", ""), "", ); } @@ -685,27 +630,17 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } - public async listFleetAgentVersions( + public async listFleetAgentVersionsV2( _options?: Configuration, ): Promise { const _config = _options || this.configuration; - if ( - !_config.unstableOperations[ - "FleetAutomationApi.v2.listFleetAgentVersions" - ] - ) { - throw new Error( - "Unstable operation 'listFleetAgentVersions' is disabled. Enable it by setting `configuration.unstableOperations['FleetAutomationApi.v2.listFleetAgentVersions'] = true`", - ); - } - // Path Params - const localVarPath = "/api/unstable/fleet/agent_versions"; + const localVarPath = "/api/v2/fleet/agent_versions"; // Make Request Context const { server, overrides } = _config.getServerAndOverrides( - "FleetAutomationApi.v2.listFleetAgentVersions", + "FleetAutomationApi.v2.listFleetAgentVersionsV2", FleetAutomationApi.operationServers, ); const requestContext = server.makeRequestContext( @@ -730,27 +665,22 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } - public async listFleetDeployments( + public async listFleetDeploymentsV2( pageSize?: number, - pageOffset?: number, + pageNumber?: number, + sort?: string, + ascending?: boolean, + filter?: string, _options?: Configuration, ): Promise { const _config = _options || this.configuration; - if ( - !_config.unstableOperations["FleetAutomationApi.v2.listFleetDeployments"] - ) { - throw new Error( - "Unstable operation 'listFleetDeployments' is disabled. Enable it by setting `configuration.unstableOperations['FleetAutomationApi.v2.listFleetDeployments'] = true`", - ); - } - // Path Params - const localVarPath = "/api/unstable/fleet/deployments"; + const localVarPath = "/api/v2/fleet/deployments"; // Make Request Context const { server, overrides } = _config.getServerAndOverrides( - "FleetAutomationApi.v2.listFleetDeployments", + "FleetAutomationApi.v2.listFleetDeploymentsV2", FleetAutomationApi.operationServers, ); const requestContext = server.makeRequestContext( @@ -774,10 +704,31 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { "", ); } - if (pageOffset !== undefined) { + if (pageNumber !== undefined) { + requestContext.setQueryParam( + "page_number", + serialize(pageNumber, TypingInfo, "number", "int64"), + "", + ); + } + if (sort !== undefined) { + requestContext.setQueryParam( + "sort", + serialize(sort, TypingInfo, "string", ""), + "", + ); + } + if (ascending !== undefined) { + requestContext.setQueryParam( + "ascending", + serialize(ascending, TypingInfo, "boolean", ""), + "", + ); + } + if (filter !== undefined) { requestContext.setQueryParam( - "page_offset", - serialize(pageOffset, TypingInfo, "number", "int64"), + "filter", + serialize(filter, TypingInfo, "string", ""), "", ); } @@ -791,25 +742,17 @@ export class FleetAutomationApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } - public async listFleetSchedules( + public async listFleetSchedulesV2( _options?: Configuration, ): Promise { const _config = _options || this.configuration; - if ( - !_config.unstableOperations["FleetAutomationApi.v2.listFleetSchedules"] - ) { - throw new Error( - "Unstable operation 'listFleetSchedules' is disabled. Enable it by setting `configuration.unstableOperations['FleetAutomationApi.v2.listFleetSchedules'] = true`", - ); - } - // Path Params - const localVarPath = "/api/unstable/fleet/schedules"; + const localVarPath = "/api/v2/fleet/schedules"; // Make Request Context const { server, overrides } = _config.getServerAndOverrides( - "FleetAutomationApi.v2.listFleetSchedules", + "FleetAutomationApi.v2.listFleetSchedulesV2", FleetAutomationApi.operationServers, ); const requestContext = server.makeRequestContext( @@ -1042,13 +985,20 @@ export class FleetAutomationApiResponseProcessor { * 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 cancelFleetDeployment + * @params response Response returned by the server for a request to cancelFleetDeploymentV2 * @throws ApiException if the response code was not in [200, 299] */ - public async cancelFleetDeployment(response: ResponseContext): Promise { + public async cancelFleetDeploymentV2( + response: ResponseContext, + ): Promise { const contentType = normalizeMediaType(response.headers["content-type"]); - if (response.httpStatusCode === 204) { - return; + if (response.httpStatusCode === 200) { + const body: FleetDeploymentV2CancelResponse = deserialize( + parse(await response.body.text(), contentType), + TypingInfo, + "FleetDeploymentV2CancelResponse", + ) as FleetDeploymentV2CancelResponse; + return body; } if ( response.httpStatusCode === 400 || @@ -1077,7 +1027,13 @@ export class FleetAutomationApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - return; + const body: FleetDeploymentV2CancelResponse = deserialize( + parse(await response.body.text(), contentType), + TypingInfo, + "FleetDeploymentV2CancelResponse", + "", + ) as FleetDeploymentV2CancelResponse; + return body; } const body = (await response.body.text()) || ""; @@ -1091,19 +1047,27 @@ export class FleetAutomationApiResponseProcessor { * 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 createFleetDeploymentConfigure + * @params response Response returned by the server for a request to createFleetDeploymentConfigureV2 * @throws ApiException if the response code was not in [200, 299] */ - public async createFleetDeploymentConfigure( + public async createFleetDeploymentConfigureV2( response: ResponseContext, - ): Promise { + ): Promise { const contentType = normalizeMediaType(response.headers["content-type"]); + if (response.httpStatusCode === 200) { + const body: FleetDeploymentConfigureV2DryRunResponse = deserialize( + parse(await response.body.text(), contentType), + TypingInfo, + "FleetDeploymentConfigureV2DryRunResponse", + ) as FleetDeploymentConfigureV2DryRunResponse; + return body; + } if (response.httpStatusCode === 201) { - const body: FleetDeploymentResponse = deserialize( + const body: FleetDeploymentV2CreateResponse = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetDeploymentResponse", - ) as FleetDeploymentResponse; + "FleetDeploymentV2CreateResponse", + ) as FleetDeploymentV2CreateResponse; return body; } if ( @@ -1132,12 +1096,12 @@ export class FleetAutomationApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: FleetDeploymentResponse = deserialize( + const body: FleetDeploymentConfigureV2DryRunResponse = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetDeploymentResponse", + "FleetDeploymentConfigureV2DryRunResponse", "", - ) as FleetDeploymentResponse; + ) as FleetDeploymentConfigureV2DryRunResponse; return body; } @@ -1152,26 +1116,26 @@ export class FleetAutomationApiResponseProcessor { * 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 createFleetDeploymentUpgrade + * @params response Response returned by the server for a request to createFleetDeploymentUpgradeV2 * @throws ApiException if the response code was not in [200, 299] */ - public async createFleetDeploymentUpgrade( + public async createFleetDeploymentUpgradeV2( response: ResponseContext, - ): Promise { + ): Promise { const contentType = normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 201) { - const body: FleetDeploymentResponse = deserialize( + const body: FleetDeploymentV2CreateResponse = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetDeploymentResponse", - ) as FleetDeploymentResponse; + "FleetDeploymentV2CreateResponse", + ) as FleetDeploymentV2CreateResponse; return body; } if ( response.httpStatusCode === 400 || response.httpStatusCode === 401 || response.httpStatusCode === 403 || - response.httpStatusCode === 404 || + response.httpStatusCode === 409 || response.httpStatusCode === 429 ) { const bodyText = parse(await response.body.text(), contentType); @@ -1194,12 +1158,12 @@ export class FleetAutomationApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: FleetDeploymentResponse = deserialize( + const body: FleetDeploymentV2CreateResponse = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetDeploymentResponse", + "FleetDeploymentV2CreateResponse", "", - ) as FleetDeploymentResponse; + ) as FleetDeploymentV2CreateResponse; return body; } @@ -1324,19 +1288,19 @@ export class FleetAutomationApiResponseProcessor { * 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 getFleetAgentInfo + * @params response Response returned by the server for a request to getFleetAgentDetailV2 * @throws ApiException if the response code was not in [200, 299] */ - public async getFleetAgentInfo( + public async getFleetAgentDetailV2( response: ResponseContext, - ): Promise { + ): Promise { const contentType = normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { - const body: FleetAgentInfoResponse = deserialize( + const body: FleetAgentDetailV2Response = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetAgentInfoResponse", - ) as FleetAgentInfoResponse; + "FleetAgentDetailV2Response", + ) as FleetAgentDetailV2Response; return body; } if ( @@ -1366,12 +1330,12 @@ export class FleetAutomationApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: FleetAgentInfoResponse = deserialize( + const body: FleetAgentDetailV2Response = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetAgentInfoResponse", + "FleetAgentDetailV2Response", "", - ) as FleetAgentInfoResponse; + ) as FleetAgentDetailV2Response; return body; } @@ -1386,19 +1350,19 @@ export class FleetAutomationApiResponseProcessor { * 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 getFleetDeployment + * @params response Response returned by the server for a request to getFleetDeploymentV2 * @throws ApiException if the response code was not in [200, 299] */ - public async getFleetDeployment( + public async getFleetDeploymentV2( response: ResponseContext, - ): Promise { + ): Promise { const contentType = normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { - const body: FleetDeploymentResponse = deserialize( + const body: FleetDeploymentV2DetailResponse = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetDeploymentResponse", - ) as FleetDeploymentResponse; + "FleetDeploymentV2DetailResponse", + ) as FleetDeploymentV2DetailResponse; return body; } if ( @@ -1428,12 +1392,12 @@ export class FleetAutomationApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: FleetDeploymentResponse = deserialize( + const body: FleetDeploymentV2DetailResponse = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetDeploymentResponse", + "FleetDeploymentV2DetailResponse", "", - ) as FleetDeploymentResponse; + ) as FleetDeploymentV2DetailResponse; return body; } @@ -1448,19 +1412,19 @@ export class FleetAutomationApiResponseProcessor { * 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 getFleetSchedule + * @params response Response returned by the server for a request to getFleetScheduleV2 * @throws ApiException if the response code was not in [200, 299] */ - public async getFleetSchedule( + public async getFleetScheduleV2( response: ResponseContext, - ): Promise { + ): Promise { const contentType = normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { - const body: FleetScheduleResponse = deserialize( + const body: FleetScheduleV2Response = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetScheduleResponse", - ) as FleetScheduleResponse; + "FleetScheduleV2Response", + ) as FleetScheduleV2Response; return body; } if ( @@ -1490,12 +1454,12 @@ export class FleetAutomationApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: FleetScheduleResponse = deserialize( + const body: FleetScheduleV2Response = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetScheduleResponse", + "FleetScheduleV2Response", "", - ) as FleetScheduleResponse; + ) as FleetScheduleV2Response; return body; } @@ -1510,26 +1474,25 @@ export class FleetAutomationApiResponseProcessor { * 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 listFleetAgents + * @params response Response returned by the server for a request to listFleetAgentsV2 * @throws ApiException if the response code was not in [200, 299] */ - public async listFleetAgents( + public async listFleetAgentsV2( response: ResponseContext, - ): Promise { + ): Promise { const contentType = normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { - const body: FleetAgentsResponse = deserialize( + const body: FleetAgentsV2Response = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetAgentsResponse", - ) as FleetAgentsResponse; + "FleetAgentsV2Response", + ) as FleetAgentsV2Response; return body; } if ( response.httpStatusCode === 400 || response.httpStatusCode === 401 || response.httpStatusCode === 403 || - response.httpStatusCode === 404 || response.httpStatusCode === 429 ) { const bodyText = parse(await response.body.text(), contentType); @@ -1552,12 +1515,12 @@ export class FleetAutomationApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: FleetAgentsResponse = deserialize( + const body: FleetAgentsV2Response = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetAgentsResponse", + "FleetAgentsV2Response", "", - ) as FleetAgentsResponse; + ) as FleetAgentsV2Response; return body; } @@ -1634,23 +1597,22 @@ export class FleetAutomationApiResponseProcessor { * 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 listFleetAgentVersions + * @params response Response returned by the server for a request to listFleetAgentVersionsV2 * @throws ApiException if the response code was not in [200, 299] */ - public async listFleetAgentVersions( + public async listFleetAgentVersionsV2( response: ResponseContext, - ): Promise { + ): Promise { const contentType = normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { - const body: FleetAgentVersionsResponse = deserialize( + const body: FleetAgentVersionsV2Response = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetAgentVersionsResponse", - ) as FleetAgentVersionsResponse; + "FleetAgentVersionsV2Response", + ) as FleetAgentVersionsV2Response; return body; } if ( - response.httpStatusCode === 400 || response.httpStatusCode === 401 || response.httpStatusCode === 403 || response.httpStatusCode === 404 || @@ -1676,12 +1638,12 @@ export class FleetAutomationApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: FleetAgentVersionsResponse = deserialize( + const body: FleetAgentVersionsV2Response = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetAgentVersionsResponse", + "FleetAgentVersionsV2Response", "", - ) as FleetAgentVersionsResponse; + ) as FleetAgentVersionsV2Response; return body; } @@ -1696,19 +1658,19 @@ export class FleetAutomationApiResponseProcessor { * 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 listFleetDeployments + * @params response Response returned by the server for a request to listFleetDeploymentsV2 * @throws ApiException if the response code was not in [200, 299] */ - public async listFleetDeployments( + public async listFleetDeploymentsV2( response: ResponseContext, - ): Promise { + ): Promise { const contentType = normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { - const body: FleetDeploymentsResponse = deserialize( + const body: FleetDeploymentsV2Response = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetDeploymentsResponse", - ) as FleetDeploymentsResponse; + "FleetDeploymentsV2Response", + ) as FleetDeploymentsV2Response; return body; } if ( @@ -1737,12 +1699,12 @@ export class FleetAutomationApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: FleetDeploymentsResponse = deserialize( + const body: FleetDeploymentsV2Response = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetDeploymentsResponse", + "FleetDeploymentsV2Response", "", - ) as FleetDeploymentsResponse; + ) as FleetDeploymentsV2Response; return body; } @@ -1757,19 +1719,19 @@ export class FleetAutomationApiResponseProcessor { * 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 listFleetSchedules + * @params response Response returned by the server for a request to listFleetSchedulesV2 * @throws ApiException if the response code was not in [200, 299] */ - public async listFleetSchedules( + public async listFleetSchedulesV2( response: ResponseContext, - ): Promise { + ): Promise { const contentType = normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { - const body: FleetSchedulesResponse = deserialize( + const body: FleetSchedulesV2Response = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetSchedulesResponse", - ) as FleetSchedulesResponse; + "FleetSchedulesV2Response", + ) as FleetSchedulesV2Response; return body; } if ( @@ -1798,12 +1760,12 @@ export class FleetAutomationApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: FleetSchedulesResponse = deserialize( + const body: FleetSchedulesV2Response = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "FleetSchedulesResponse", + "FleetSchedulesV2Response", "", - ) as FleetSchedulesResponse; + ) as FleetSchedulesV2Response; return body; } @@ -2001,7 +1963,7 @@ export class FleetAutomationApiResponseProcessor { } } -export interface FleetAutomationApiCancelFleetDeploymentRequest { +export interface FleetAutomationApiCancelFleetDeploymentV2Request { /** * The unique identifier of the deployment to cancel. * @type string @@ -2009,20 +1971,20 @@ export interface FleetAutomationApiCancelFleetDeploymentRequest { deploymentId: string; } -export interface FleetAutomationApiCreateFleetDeploymentConfigureRequest { +export interface FleetAutomationApiCreateFleetDeploymentConfigureV2Request { /** * Request payload containing the deployment details. - * @type FleetDeploymentConfigureCreateRequest + * @type FleetDeploymentConfigureV2CreateRequest */ - body: FleetDeploymentConfigureCreateRequest; + body: FleetDeploymentConfigureV2CreateRequest; } -export interface FleetAutomationApiCreateFleetDeploymentUpgradeRequest { +export interface FleetAutomationApiCreateFleetDeploymentUpgradeV2Request { /** * Request payload containing the package upgrade details. - * @type FleetDeploymentPackageUpgradeCreateRequest + * @type FleetDeploymentPackageUpgradeV2CreateRequest */ - body: FleetDeploymentPackageUpgradeCreateRequest; + body: FleetDeploymentPackageUpgradeV2CreateRequest; } export interface FleetAutomationApiCreateFleetScheduleRequest { @@ -2041,33 +2003,28 @@ export interface FleetAutomationApiDeleteFleetScheduleRequest { id: string; } -export interface FleetAutomationApiGetFleetAgentInfoRequest { +export interface FleetAutomationApiGetFleetAgentDetailV2Request { /** - * The unique identifier (agent key) for the Datadog Agent. + * The unique identifier (Agent key) for the Datadog Agent. Must be a 32-character lowercase hexadecimal string. * @type string */ agentKey: string; + /** + * Comma-separated list of additional fields to include in the response. Valid values are `integrations` and `configuration_files`. Omitting this parameter returns only `agent_infos`. Unrecognized values are silently ignored rather than causing an error. + * @type string + */ + include?: string; } -export interface FleetAutomationApiGetFleetDeploymentRequest { +export interface FleetAutomationApiGetFleetDeploymentV2Request { /** * The unique identifier of the deployment to retrieve. * @type string */ deploymentId: string; - /** - * Maximum number of hosts to return per page. Default is 50, maximum is 100. - * @type number - */ - limit?: number; - /** - * Page index for pagination (zero-based). Use this to retrieve subsequent pages of hosts. - * @type number - */ - page?: number; } -export interface FleetAutomationApiGetFleetScheduleRequest { +export interface FleetAutomationApiGetFleetScheduleV2Request { /** * The unique identifier of the schedule to retrieve. * @type string @@ -2075,37 +2032,37 @@ export interface FleetAutomationApiGetFleetScheduleRequest { id: string; } -export interface FleetAutomationApiListFleetAgentsRequest { +export interface FleetAutomationApiListFleetAgentsV2Request { /** - * Page number for pagination (starts at 0). + * Page number for pagination, starting at 0. * @type number */ pageNumber?: number; /** - * Number of results per page (must be greater than 0 and less than or equal to 100). + * Number of agents to return per page. Maximum value is 100. Defaults to 10. * @type number */ pageSize?: number; /** - * Attribute to sort by. + * Filter string to narrow down agent results. * @type string */ - sortAttribute?: string; - /** - * Sort order (true for descending, false for ascending). - * @type boolean - */ - sortDescending?: boolean; + filter?: string; /** - * Comma-separated list of tags to filter agents. + * Comma-separated list of tag keys to select which tags are included in each agent's `tags` attribute. Does not filter which agents are returned. * @type string */ tags?: string; /** - * Filter string for narrowing down agent results. + * Agent attribute to sort results by. Must be a supported attribute name; unsupported values return a 400 error. * @type string */ - filter?: string; + sortAttribute?: string; + /** + * Set to `true` to sort results in descending order. Defaults to ascending. + * @type boolean + */ + sortDescending?: boolean; } export interface FleetAutomationApiListFleetAgentTracersRequest { @@ -2136,17 +2093,38 @@ export interface FleetAutomationApiListFleetAgentTracersRequest { sortDescending?: boolean; } -export interface FleetAutomationApiListFleetDeploymentsRequest { +export interface FleetAutomationApiListFleetDeploymentsV2Request { /** * Number of deployments to return per page. Maximum value is 100. * @type number */ pageSize?: number; /** - * Index of the first deployment to return. Use this with `page_size` to paginate through results. + * Page number for pagination, starting at 0. * @type number */ - pageOffset?: number; + pageNumber?: number; + /** + * Field to sort results by (for example, `start_date`). Must be a supported field + * name; unsupported values return a 400 error. + * @type string + */ + sort?: string; + /** + * Set to `true` to sort in ascending order. This setting has no effect unless `sort` is also set. + * Defaults to descending order. + * @type boolean + */ + ascending?: boolean; + /** + * Query used to filter deployments. Uses the Datadog query syntax. Filtering on an + * unsupported field returns a 400 error. For example: + * - `status:failed` or `status:done_with_errors`: deployments that need investigation. + * - `status:running`: deployments currently in flight. + * - `update_type:update_package` or `update_type:update_config_operations`: deployments of a given type. + * @type string + */ + filter?: string; } export interface FleetAutomationApiListFleetTracersRequest { @@ -2221,19 +2199,21 @@ export class FleetAutomationApi { /** * Cancel an active deployment and stop all pending operations. * When you cancel a deployment: - * - All pending operations on hosts that haven't started yet are stopped - * - Operations currently in progress on hosts may complete or be interrupted, depending on their current state - * - Configuration changes or package upgrades already applied to hosts are not rolled back + * - All pending operations on hosts that haven't started yet are stopped. + * - Operations currently in progress on hosts may complete or be interrupted, depending on their current status. + * - Configuration changes or package upgrades already applied to hosts are not rolled back. * * After cancellation, you can view the final state of the deployment using the GET endpoint to see which hosts * were successfully updated before the cancellation. + * + * Only deployments with a `pending` or `running` status can be canceled. Returns a 400 if the deployment is not in a cancelable status. Returns a 404 if no deployment matches the specified ID or if you do not have access to it. * @param param The request object */ - public cancelFleetDeployment( - param: FleetAutomationApiCancelFleetDeploymentRequest, + public cancelFleetDeploymentV2( + param: FleetAutomationApiCancelFleetDeploymentV2Request, options?: Configuration, - ): Promise { - const requestContextPromise = this.requestFactory.cancelFleetDeployment( + ): Promise { + const requestContextPromise = this.requestFactory.cancelFleetDeploymentV2( param.deploymentId, options, ); @@ -2241,7 +2221,9 @@ export class FleetAutomationApi { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { - return this.responseProcessor.cancelFleetDeployment(responseContext); + return this.responseProcessor.cancelFleetDeploymentV2( + responseContext, + ); }); }); } @@ -2252,25 +2234,31 @@ export class FleetAutomationApi { * * This endpoint supports two types of configuration operations: * - `merge-patch`: Merges the provided patch data with the existing configuration file, - * creating the file if it doesn't exist - * - `delete`: Removes the specified configuration file from the target hosts + * creating the file if it doesn't exist. + * - `delete`: Removes the specified configuration file from the target hosts. + * + * You can optionally use `target_packages` to apply the configuration change only to specific package versions. * * The deployment is created and started automatically. You can specify multiple configuration - * operations that will be executed in order on each target host. Use the filter query to target + * operations to execute in order on each target host. Use the filter query to target * specific hosts using the Datadog query syntax. + * + * Set `dry_run` to `true` to validate the configuration and resolve target hosts and packages without deploying anything. A dry run returns a 200 with the validation result instead of creating and starting a deployment. + * + * Returns a 400 if `filter_query` or `config_operations` is missing, a target package is missing a name or version or cannot be resolved, the configuration fails validation, or the filter query does not match any host eligible for the deployment. * @param param The request object */ - public createFleetDeploymentConfigure( - param: FleetAutomationApiCreateFleetDeploymentConfigureRequest, + public createFleetDeploymentConfigureV2( + param: FleetAutomationApiCreateFleetDeploymentConfigureV2Request, options?: Configuration, - ): Promise { + ): Promise { const requestContextPromise = - this.requestFactory.createFleetDeploymentConfigure(param.body, options); + this.requestFactory.createFleetDeploymentConfigureV2(param.body, options); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { - return this.responseProcessor.createFleetDeploymentConfigure( + return this.responseProcessor.createFleetDeploymentConfigureV2( responseContext, ); }); @@ -2284,23 +2272,25 @@ export class FleetAutomationApi { * This endpoint allows you to upgrade the Datadog Agent to a specific version * on hosts matching the specified filter query. * - * The deployment is created and started automatically. The system will: - * 1. Identify all hosts matching the filter query - * 2. Validate that the specified version is available - * 3. Begin rolling out the package upgrade to the target hosts + * The deployment is created and started automatically. The system: + * 1. Identifies all hosts matching the filter query. + * 2. Validates that the specified version is available. + * 3. Begins rolling out the package upgrade to the target hosts. + * + * Returns a 400 if `filter_query` or `target_packages` is missing, a target package is missing a name or version, or the filter query does not match any host eligible for the upgrade. Returns a 409 if a conflicting upgrade is already running on one or more target hosts. * @param param The request object */ - public createFleetDeploymentUpgrade( - param: FleetAutomationApiCreateFleetDeploymentUpgradeRequest, + public createFleetDeploymentUpgradeV2( + param: FleetAutomationApiCreateFleetDeploymentUpgradeV2Request, options?: Configuration, - ): Promise { + ): Promise { const requestContextPromise = - this.requestFactory.createFleetDeploymentUpgrade(param.body, options); + this.requestFactory.createFleetDeploymentUpgradeV2(param.body, options); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { - return this.responseProcessor.createFleetDeploymentUpgrade( + return this.responseProcessor.createFleetDeploymentUpgradeV2( responseContext, ); }); @@ -2368,88 +2358,62 @@ export class FleetAutomationApi { /** * Retrieve detailed information about a specific Datadog Agent. - * This endpoint returns comprehensive information about an agent including: - * - Agent details and metadata - * - Configured integrations organized by status (working, warning, error, missing) - * - Detected integrations - * - Configuration files and layers + * + * By default, only `agent_infos` is returned. Use the `include` query parameter to + * request additional data: `integrations` and/or `configuration_files`. * @param param The request object */ - public getFleetAgentInfo( - param: FleetAutomationApiGetFleetAgentInfoRequest, + public getFleetAgentDetailV2( + param: FleetAutomationApiGetFleetAgentDetailV2Request, options?: Configuration, - ): Promise { - const requestContextPromise = this.requestFactory.getFleetAgentInfo( + ): Promise { + const requestContextPromise = this.requestFactory.getFleetAgentDetailV2( param.agentKey, + param.include, options, ); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { - return this.responseProcessor.getFleetAgentInfo(responseContext); + return this.responseProcessor.getFleetAgentDetailV2(responseContext); }); }); } /** - * Retrieve detailed information about a specific deployment using its unique identifier. - * This endpoint returns comprehensive information about a deployment, including: - * - Deployment metadata (ID, type, filter query) - * - Total number of target hosts - * - Current high-level status (pending, running, succeeded, failed) - * - Estimated completion time - * - Configuration operations that were or are being applied - * - Detailed host list: A paginated array of hosts included in this deployment with individual - * host status, current package versions, and any errors - * - * The host list provides visibility into the per-host execution status, allowing you to: - * - Monitor which hosts have completed successfully - * - Identify hosts that are still in progress - * - Investigate failures on specific hosts - * - View current package versions installed on each host (including initial, target, and current - * versions for each package) + * Retrieve detailed information about a specific deployment, including its current status, + * configuration operations, and per-host execution status. * - * Pagination: Use the `limit` and `page` query parameters to paginate through hosts. The response - * includes pagination metadata in the `meta.hosts` field with information about the current page, - * total pages, and total host count. The default page size is 50 hosts, with a maximum of 100. + * Returns a 404 if no deployment matches the given ID or if you do not have access to it. * @param param The request object */ - public getFleetDeployment( - param: FleetAutomationApiGetFleetDeploymentRequest, + public getFleetDeploymentV2( + param: FleetAutomationApiGetFleetDeploymentV2Request, options?: Configuration, - ): Promise { - const requestContextPromise = this.requestFactory.getFleetDeployment( + ): Promise { + const requestContextPromise = this.requestFactory.getFleetDeploymentV2( param.deploymentId, - param.limit, - param.page, options, ); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { - return this.responseProcessor.getFleetDeployment(responseContext); + return this.responseProcessor.getFleetDeploymentV2(responseContext); }); }); } /** - * Retrieve detailed information about a specific schedule using its unique identifier. - * - * This endpoint returns comprehensive information about a schedule, including: - * - Schedule metadata (ID, name, creation/update timestamps) - * - Filter query for selecting target hosts - * - Recurrence rule defining when deployments are triggered - * - Version strategy for package upgrades - * - Current status (active or inactive) + * Retrieve detailed information about a specific schedule by its unique identifier. * @param param The request object */ - public getFleetSchedule( - param: FleetAutomationApiGetFleetScheduleRequest, + public getFleetScheduleV2( + param: FleetAutomationApiGetFleetScheduleV2Request, options?: Configuration, - ): Promise { - const requestContextPromise = this.requestFactory.getFleetSchedule( + ): Promise { + const requestContextPromise = this.requestFactory.getFleetScheduleV2( param.id, options, ); @@ -2457,35 +2421,37 @@ export class FleetAutomationApi { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { - return this.responseProcessor.getFleetSchedule(responseContext); + return this.responseProcessor.getFleetScheduleV2(responseContext); }); }); } /** - * Retrieve a paginated list of all Datadog Agents. - * This endpoint returns a paginated list of all Datadog Agents with support for pagination, sorting, and filtering. - * Use the `page_number` and `page_size` query parameters to paginate through results. + * Retrieve a paginated list of Datadog Agents. + * + * Returns agents with support for pagination, sorting, and filtering. + * Use `page_number` and `page_size` to navigate pages, `filter` to narrow by field values, + * and `tags` to filter by agent tags. * @param param The request object */ - public listFleetAgents( - param: FleetAutomationApiListFleetAgentsRequest = {}, + public listFleetAgentsV2( + param: FleetAutomationApiListFleetAgentsV2Request = {}, options?: Configuration, - ): Promise { - const requestContextPromise = this.requestFactory.listFleetAgents( + ): Promise { + const requestContextPromise = this.requestFactory.listFleetAgentsV2( param.pageNumber, param.pageSize, + param.filter, + param.tags, param.sortAttribute, param.sortDescending, - param.tags, - param.filter, options, ); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { - return this.responseProcessor.listFleetAgents(responseContext); + return this.responseProcessor.listFleetAgentsV2(responseContext); }); }); } @@ -2519,68 +2485,71 @@ export class FleetAutomationApi { } /** - * Retrieve a list of all available Datadog Agent versions. + * Retrieve the list of Datadog Agent versions available for deployment. * - * This endpoint returns the available Agent versions that can be deployed to your fleet. - * These versions are used when creating deployments or configuring schedules for - * automated Agent upgrades. + * Returns `200` with an empty `data` array if the Agent package exists in the catalog + * but has no available versions, and `404` only if the Agent package itself is absent + * from the catalog. * @param param The request object */ - public listFleetAgentVersions( + public listFleetAgentVersionsV2( options?: Configuration, - ): Promise { + ): Promise { const requestContextPromise = - this.requestFactory.listFleetAgentVersions(options); + this.requestFactory.listFleetAgentVersionsV2(options); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { - return this.responseProcessor.listFleetAgentVersions(responseContext); + return this.responseProcessor.listFleetAgentVersionsV2( + responseContext, + ); }); }); } /** - * Retrieve a list of all deployments for fleet automation. - * Use the `page_size` and `page_offset` parameters to paginate results. + * Retrieve a paginated list of all deployments for fleet automation. * @param param The request object */ - public listFleetDeployments( - param: FleetAutomationApiListFleetDeploymentsRequest = {}, + public listFleetDeploymentsV2( + param: FleetAutomationApiListFleetDeploymentsV2Request = {}, options?: Configuration, - ): Promise { - const requestContextPromise = this.requestFactory.listFleetDeployments( + ): Promise { + const requestContextPromise = this.requestFactory.listFleetDeploymentsV2( param.pageSize, - param.pageOffset, + param.pageNumber, + param.sort, + param.ascending, + param.filter, options, ); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { - return this.responseProcessor.listFleetDeployments(responseContext); + return this.responseProcessor.listFleetDeploymentsV2(responseContext); }); }); } /** - * Retrieve a list of all schedules for automated fleet deployments. + * Retrieve all upgrade schedules for the organization. * - * Schedules allow you to automate package upgrades by defining maintenance windows - * and recurrence rules. Each schedule automatically creates deployments based on its - * configuration. + * Schedules automate package upgrades by defining maintenance windows and recurrence rules. + * Each schedule automatically creates deployments based on its configuration. * @param param The request object */ - public listFleetSchedules( + public listFleetSchedulesV2( options?: Configuration, - ): Promise { + ): Promise { const requestContextPromise = - this.requestFactory.listFleetSchedules(options); + this.requestFactory.listFleetSchedulesV2(options); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { - return this.responseProcessor.listFleetSchedules(responseContext); + return this.responseProcessor.listFleetSchedulesV2(responseContext); }); }); } diff --git a/services/fleet_automation/src/v2/index.ts b/services/fleet_automation/src/v2/index.ts index b8dceb93fbeb..4ea5d3c7345b 100644 --- a/services/fleet_automation/src/v2/index.ts +++ b/services/fleet_automation/src/v2/index.ts @@ -1,15 +1,15 @@ export { - FleetAutomationApiCancelFleetDeploymentRequest, - FleetAutomationApiCreateFleetDeploymentConfigureRequest, - FleetAutomationApiCreateFleetDeploymentUpgradeRequest, + FleetAutomationApiCancelFleetDeploymentV2Request, + FleetAutomationApiCreateFleetDeploymentConfigureV2Request, + FleetAutomationApiCreateFleetDeploymentUpgradeV2Request, FleetAutomationApiCreateFleetScheduleRequest, FleetAutomationApiDeleteFleetScheduleRequest, - FleetAutomationApiGetFleetAgentInfoRequest, - FleetAutomationApiGetFleetDeploymentRequest, - FleetAutomationApiGetFleetScheduleRequest, + FleetAutomationApiGetFleetAgentDetailV2Request, + FleetAutomationApiGetFleetDeploymentV2Request, + FleetAutomationApiGetFleetScheduleV2Request, FleetAutomationApiListFleetAgentTracersRequest, - FleetAutomationApiListFleetAgentsRequest, - FleetAutomationApiListFleetDeploymentsRequest, + FleetAutomationApiListFleetAgentsV2Request, + FleetAutomationApiListFleetDeploymentsV2Request, FleetAutomationApiListFleetTracersRequest, FleetAutomationApiTriggerFleetScheduleRequest, FleetAutomationApiUpdateFleetScheduleRequest, @@ -17,46 +17,66 @@ export { } from "./FleetAutomationApi"; export { APIErrorResponse } from "./models/APIErrorResponse"; -export { FleetAgentAttributes } from "./models/FleetAgentAttributes"; export { FleetAgentAttributesTagsItems } from "./models/FleetAgentAttributesTagsItems"; -export { FleetAgentInfo } from "./models/FleetAgentInfo"; -export { FleetAgentInfoAttributes } from "./models/FleetAgentInfoAttributes"; -export { FleetAgentInfoDetails } from "./models/FleetAgentInfoDetails"; -export { FleetAgentInfoResourceType } from "./models/FleetAgentInfoResourceType"; -export { FleetAgentInfoResponse } from "./models/FleetAgentInfoResponse"; -export { FleetAgentsResponse } from "./models/FleetAgentsResponse"; -export { FleetAgentsResponseData } from "./models/FleetAgentsResponseData"; -export { FleetAgentsResponseDataAttributes } from "./models/FleetAgentsResponseDataAttributes"; -export { FleetAgentsResponseMeta } from "./models/FleetAgentsResponseMeta"; -export { FleetAgentVersion } from "./models/FleetAgentVersion"; -export { FleetAgentVersionAttributes } from "./models/FleetAgentVersionAttributes"; -export { FleetAgentVersionResourceType } from "./models/FleetAgentVersionResourceType"; -export { FleetAgentVersionsResponse } from "./models/FleetAgentVersionsResponse"; -export { FleetConfigurationFile } from "./models/FleetConfigurationFile"; +export { FleetAgentConfigurationFilesV2 } from "./models/FleetAgentConfigurationFilesV2"; +export { FleetAgentDetailV2 } from "./models/FleetAgentDetailV2"; +export { FleetAgentDetailV2Attributes } from "./models/FleetAgentDetailV2Attributes"; +export { FleetAgentDetailV2Response } from "./models/FleetAgentDetailV2Response"; +export { FleetAgentInfoDetailsV2 } from "./models/FleetAgentInfoDetailsV2"; +export { FleetAgentsV2Page } from "./models/FleetAgentsV2Page"; +export { FleetAgentsV2Response } from "./models/FleetAgentsV2Response"; +export { FleetAgentsV2ResponseMeta } from "./models/FleetAgentsV2ResponseMeta"; +export { FleetAgentV2 } from "./models/FleetAgentV2"; +export { FleetAgentV2Attributes } from "./models/FleetAgentV2Attributes"; +export { FleetAgentV2AttributesInstrumentationStatus } from "./models/FleetAgentV2AttributesInstrumentationStatus"; +export { FleetAgentV2ResourceType } from "./models/FleetAgentV2ResourceType"; +export { FleetAgentVersionsV2Page } from "./models/FleetAgentVersionsV2Page"; +export { FleetAgentVersionsV2Response } from "./models/FleetAgentVersionsV2Response"; +export { FleetAgentVersionsV2ResponseMeta } from "./models/FleetAgentVersionsV2ResponseMeta"; +export { FleetAgentVersionV2 } from "./models/FleetAgentVersionV2"; +export { FleetAgentVersionV2Attributes } from "./models/FleetAgentVersionV2Attributes"; +export { FleetAgentVersionV2ResourceType } from "./models/FleetAgentVersionV2ResourceType"; +export { FleetConfigurationFileV2 } from "./models/FleetConfigurationFileV2"; export { FleetConfigurationLayer } from "./models/FleetConfigurationLayer"; export { FleetDeployment } from "./models/FleetDeployment"; export { FleetDeploymentAttributes } from "./models/FleetDeploymentAttributes"; -export { FleetDeploymentConfigureAttributes } from "./models/FleetDeploymentConfigureAttributes"; -export { FleetDeploymentConfigureCreate } from "./models/FleetDeploymentConfigureCreate"; -export { FleetDeploymentConfigureCreateRequest } from "./models/FleetDeploymentConfigureCreateRequest"; +export { FleetDeploymentConfigureV2Attributes } from "./models/FleetDeploymentConfigureV2Attributes"; +export { FleetDeploymentConfigureV2Create } from "./models/FleetDeploymentConfigureV2Create"; +export { FleetDeploymentConfigureV2CreateRequest } from "./models/FleetDeploymentConfigureV2CreateRequest"; +export { FleetDeploymentConfigureV2DryRun } from "./models/FleetDeploymentConfigureV2DryRun"; +export { FleetDeploymentConfigureV2DryRunAttributes } from "./models/FleetDeploymentConfigureV2DryRunAttributes"; +export { FleetDeploymentConfigureV2DryRunResponse } from "./models/FleetDeploymentConfigureV2DryRunResponse"; +export { FleetDeploymentConfigureV2DryRunResult } from "./models/FleetDeploymentConfigureV2DryRunResult"; +export { FleetDeploymentConfigureV2Package } from "./models/FleetDeploymentConfigureV2Package"; export { FleetDeploymentFileOp } from "./models/FleetDeploymentFileOp"; export { FleetDeploymentHost } from "./models/FleetDeploymentHost"; export { FleetDeploymentHostPackage } from "./models/FleetDeploymentHostPackage"; export { FleetDeploymentHostsPage } from "./models/FleetDeploymentHostsPage"; export { FleetDeploymentOperation } from "./models/FleetDeploymentOperation"; export { FleetDeploymentPackage } from "./models/FleetDeploymentPackage"; -export { FleetDeploymentPackageUpgradeAttributes } from "./models/FleetDeploymentPackageUpgradeAttributes"; -export { FleetDeploymentPackageUpgradeCreate } from "./models/FleetDeploymentPackageUpgradeCreate"; -export { FleetDeploymentPackageUpgradeCreateRequest } from "./models/FleetDeploymentPackageUpgradeCreateRequest"; +export { FleetDeploymentPackageUpgradeV2Attributes } from "./models/FleetDeploymentPackageUpgradeV2Attributes"; +export { FleetDeploymentPackageUpgradeV2Create } from "./models/FleetDeploymentPackageUpgradeV2Create"; +export { FleetDeploymentPackageUpgradeV2CreateRequest } from "./models/FleetDeploymentPackageUpgradeV2CreateRequest"; export { FleetDeploymentResourceType } from "./models/FleetDeploymentResourceType"; export { FleetDeploymentResponse } from "./models/FleetDeploymentResponse"; export { FleetDeploymentResponseMeta } from "./models/FleetDeploymentResponseMeta"; -export { FleetDeploymentsPage } from "./models/FleetDeploymentsPage"; -export { FleetDeploymentsResponse } from "./models/FleetDeploymentsResponse"; -export { FleetDeploymentsResponseMeta } from "./models/FleetDeploymentsResponseMeta"; +export { FleetDeploymentsV2Page } from "./models/FleetDeploymentsV2Page"; +export { FleetDeploymentsV2Response } from "./models/FleetDeploymentsV2Response"; +export { FleetDeploymentsV2ResponseMeta } from "./models/FleetDeploymentsV2ResponseMeta"; +export { FleetDeploymentV2 } from "./models/FleetDeploymentV2"; +export { FleetDeploymentV2Attributes } from "./models/FleetDeploymentV2Attributes"; +export { FleetDeploymentV2Cancel } from "./models/FleetDeploymentV2Cancel"; +export { FleetDeploymentV2CancelAttributes } from "./models/FleetDeploymentV2CancelAttributes"; +export { FleetDeploymentV2CancelResponse } from "./models/FleetDeploymentV2CancelResponse"; +export { FleetDeploymentV2CreateResponse } from "./models/FleetDeploymentV2CreateResponse"; +export { FleetDeploymentV2Detail } from "./models/FleetDeploymentV2Detail"; +export { FleetDeploymentV2DetailAgent } from "./models/FleetDeploymentV2DetailAgent"; +export { FleetDeploymentV2DetailAttributes } from "./models/FleetDeploymentV2DetailAttributes"; +export { FleetDeploymentV2DetailResponse } from "./models/FleetDeploymentV2DetailResponse"; export { FleetDetectedIntegration } from "./models/FleetDetectedIntegration"; -export { FleetIntegrationDetails } from "./models/FleetIntegrationDetails"; -export { FleetIntegrationsByStatus } from "./models/FleetIntegrationsByStatus"; +export { FleetIntegrationDetailsV2 } from "./models/FleetIntegrationDetailsV2"; +export { FleetIntegrationsByStatusV2 } from "./models/FleetIntegrationsByStatusV2"; +export { FleetOtelCollectorConfigurationV2 } from "./models/FleetOtelCollectorConfigurationV2"; export { FleetSchedule } from "./models/FleetSchedule"; export { FleetScheduleAttributes } from "./models/FleetScheduleAttributes"; export { FleetScheduleCreate } from "./models/FleetScheduleCreate"; @@ -68,8 +88,15 @@ export { FleetSchedulePatchRequest } from "./models/FleetSchedulePatchRequest"; export { FleetScheduleRecurrenceRule } from "./models/FleetScheduleRecurrenceRule"; export { FleetScheduleResourceType } from "./models/FleetScheduleResourceType"; export { FleetScheduleResponse } from "./models/FleetScheduleResponse"; -export { FleetSchedulesResponse } from "./models/FleetSchedulesResponse"; export { FleetScheduleStatus } from "./models/FleetScheduleStatus"; +export { FleetSchedulesV2Page } from "./models/FleetSchedulesV2Page"; +export { FleetSchedulesV2Response } from "./models/FleetSchedulesV2Response"; +export { FleetSchedulesV2ResponseMeta } from "./models/FleetSchedulesV2ResponseMeta"; +export { FleetScheduleV2 } from "./models/FleetScheduleV2"; +export { FleetScheduleV2Attributes } from "./models/FleetScheduleV2Attributes"; +export { FleetScheduleV2NotificationRule } from "./models/FleetScheduleV2NotificationRule"; +export { FleetScheduleV2RecurrenceRule } from "./models/FleetScheduleV2RecurrenceRule"; +export { FleetScheduleV2Response } from "./models/FleetScheduleV2Response"; export { FleetTracerAttributes } from "./models/FleetTracerAttributes"; export { FleetTracersResponse } from "./models/FleetTracersResponse"; export { FleetTracersResponseData } from "./models/FleetTracersResponseData"; diff --git a/services/fleet_automation/src/v2/models/FleetAgentConfigurationFilesV2.ts b/services/fleet_automation/src/v2/models/FleetAgentConfigurationFilesV2.ts new file mode 100644 index 000000000000..bf74e50df451 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetAgentConfigurationFilesV2.ts @@ -0,0 +1,95 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetConfigurationLayer } from "./FleetConfigurationLayer"; +import { FleetOtelCollectorConfigurationV2 } from "./FleetOtelCollectorConfigurationV2"; + +/** + * Configuration details for an agent, organized by configuration layer. + */ +export class FleetAgentConfigurationFilesV2 { + /** + * Configuration information organized by layers. + */ + "agentConfiguration"?: FleetConfigurationLayer; + /** + * Configuration information organized by layers. + */ + "applicationMonitoringConfiguration"?: FleetConfigurationLayer; + /** + * The unique agent key identifier. + */ + "datadogAgentKey"?: string; + /** + * Configuration for OpenTelemetry collectors associated with the agent. Present only when the agent has associated OpenTelemetry collectors. + */ + "otelCollectorsConfiguration"?: Array; + /** + * Configuration information organized by layers. + */ + "securityAgentConfiguration"?: FleetConfigurationLayer; + /** + * Configuration information organized by layers. + */ + "systemProbeConfiguration"?: FleetConfigurationLayer; + /** + * The configuration version. + */ + "version"?: 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 = { + agentConfiguration: { + baseName: "agent_configuration", + type: "FleetConfigurationLayer", + }, + applicationMonitoringConfiguration: { + baseName: "application_monitoring_configuration", + type: "FleetConfigurationLayer", + }, + datadogAgentKey: { + baseName: "datadog_agent_key", + type: "string", + }, + otelCollectorsConfiguration: { + baseName: "otel_collectors_configuration", + type: "Array", + }, + securityAgentConfiguration: { + baseName: "security_agent_configuration", + type: "FleetConfigurationLayer", + }, + systemProbeConfiguration: { + baseName: "system_probe_configuration", + type: "FleetConfigurationLayer", + }, + version: { + baseName: "version", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetAgentConfigurationFilesV2.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetAgentsResponseData.ts b/services/fleet_automation/src/v2/models/FleetAgentDetailV2.ts similarity index 62% rename from services/fleet_automation/src/v2/models/FleetAgentsResponseData.ts rename to services/fleet_automation/src/v2/models/FleetAgentDetailV2.ts index 4daf148638a4..3a5977c084d3 100644 --- a/services/fleet_automation/src/v2/models/FleetAgentsResponseData.ts +++ b/services/fleet_automation/src/v2/models/FleetAgentDetailV2.ts @@ -1,23 +1,24 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetAgentsResponseDataAttributes } from "./FleetAgentsResponseDataAttributes"; +import { FleetAgentDetailV2Attributes } from "./FleetAgentDetailV2Attributes"; +import { FleetAgentV2ResourceType } from "./FleetAgentV2ResourceType"; /** - * The response data containing status and agents array. + * Detailed information about a specific Datadog Agent. */ -export class FleetAgentsResponseData { +export class FleetAgentDetailV2 { /** - * Attributes of the fleet agents response containing the list of agents. + * Attributes for the v2 agent detail response. */ - "attributes": FleetAgentsResponseDataAttributes; + "attributes": FleetAgentDetailV2Attributes; /** - * Status identifier. + * The unique agent key identifier. */ "id": string; /** - * Resource type. + * The type of the agent resource. */ - "type": string; + "type": FleetAgentV2ResourceType; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -35,7 +36,7 @@ export class FleetAgentsResponseData { static readonly attributeTypeMap: AttributeTypeMap = { attributes: { baseName: "attributes", - type: "FleetAgentsResponseDataAttributes", + type: "FleetAgentDetailV2Attributes", required: true, }, id: { @@ -45,7 +46,7 @@ export class FleetAgentsResponseData { }, type: { baseName: "type", - type: "string", + type: "FleetAgentV2ResourceType", required: true, }, additionalProperties: { @@ -58,7 +59,7 @@ export class FleetAgentsResponseData { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetAgentsResponseData.attributeTypeMap; + return FleetAgentDetailV2.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetAgentInfoAttributes.ts b/services/fleet_automation/src/v2/models/FleetAgentDetailV2Attributes.ts similarity index 51% rename from services/fleet_automation/src/v2/models/FleetAgentInfoAttributes.ts rename to services/fleet_automation/src/v2/models/FleetAgentDetailV2Attributes.ts index 94b18d712b4d..6c7b6f80fd4f 100644 --- a/services/fleet_automation/src/v2/models/FleetAgentInfoAttributes.ts +++ b/services/fleet_automation/src/v2/models/FleetAgentDetailV2Attributes.ts @@ -1,30 +1,25 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetAgentInfoDetails } from "./FleetAgentInfoDetails"; -import { FleetConfigurationLayer } from "./FleetConfigurationLayer"; -import { FleetDetectedIntegration } from "./FleetDetectedIntegration"; -import { FleetIntegrationsByStatus } from "./FleetIntegrationsByStatus"; +import { FleetAgentConfigurationFilesV2 } from "./FleetAgentConfigurationFilesV2"; +import { FleetAgentInfoDetailsV2 } from "./FleetAgentInfoDetailsV2"; +import { FleetIntegrationsByStatusV2 } from "./FleetIntegrationsByStatusV2"; /** - * Attributes for agent information. + * Attributes for the v2 agent detail response. */ -export class FleetAgentInfoAttributes { +export class FleetAgentDetailV2Attributes { /** * Detailed information about a Datadog Agent. */ - "agentInfos"?: FleetAgentInfoDetails; + "agentInfos": FleetAgentInfoDetailsV2; /** - * Configuration information organized by layers. + * Configuration details for an agent, organized by configuration layer. */ - "configurationFiles"?: FleetConfigurationLayer; - /** - * List of detected integrations. - */ - "detectedIntegrations"?: Array; + "configurationFiles"?: FleetAgentConfigurationFilesV2; /** * Integrations organized by their status. */ - "integrations"?: FleetIntegrationsByStatus; + "integrations"?: FleetIntegrationsByStatusV2; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -42,19 +37,16 @@ export class FleetAgentInfoAttributes { static readonly attributeTypeMap: AttributeTypeMap = { agentInfos: { baseName: "agent_infos", - type: "FleetAgentInfoDetails", + type: "FleetAgentInfoDetailsV2", + required: true, }, configurationFiles: { baseName: "configuration_files", - type: "FleetConfigurationLayer", - }, - detectedIntegrations: { - baseName: "detected_integrations", - type: "Array", + type: "FleetAgentConfigurationFilesV2", }, integrations: { baseName: "integrations", - type: "FleetIntegrationsByStatus", + type: "FleetIntegrationsByStatusV2", }, additionalProperties: { baseName: "additionalProperties", @@ -66,7 +58,7 @@ export class FleetAgentInfoAttributes { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetAgentInfoAttributes.attributeTypeMap; + return FleetAgentDetailV2Attributes.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetAgentInfoResponse.ts b/services/fleet_automation/src/v2/models/FleetAgentDetailV2Response.ts similarity index 68% rename from services/fleet_automation/src/v2/models/FleetAgentInfoResponse.ts rename to services/fleet_automation/src/v2/models/FleetAgentDetailV2Response.ts index 7acfb6c64a9b..6eb0185d49de 100644 --- a/services/fleet_automation/src/v2/models/FleetAgentInfoResponse.ts +++ b/services/fleet_automation/src/v2/models/FleetAgentDetailV2Response.ts @@ -1,15 +1,15 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetAgentInfo } from "./FleetAgentInfo"; +import { FleetAgentDetailV2 } from "./FleetAgentDetailV2"; /** - * Response containing detailed information about a specific agent. + * Response containing detailed information about a specific Datadog Agent. */ -export class FleetAgentInfoResponse { +export class FleetAgentDetailV2Response { /** - * Represents detailed information about a specific Datadog Agent. + * Detailed information about a specific Datadog Agent. */ - "data": FleetAgentInfo; + "data": FleetAgentDetailV2; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -27,7 +27,7 @@ export class FleetAgentInfoResponse { static readonly attributeTypeMap: AttributeTypeMap = { data: { baseName: "data", - type: "FleetAgentInfo", + type: "FleetAgentDetailV2", required: true, }, additionalProperties: { @@ -40,7 +40,7 @@ export class FleetAgentInfoResponse { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetAgentInfoResponse.attributeTypeMap; + return FleetAgentDetailV2Response.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetAgentInfoDetails.ts b/services/fleet_automation/src/v2/models/FleetAgentInfoDetailsV2.ts similarity index 68% rename from services/fleet_automation/src/v2/models/FleetAgentInfoDetails.ts rename to services/fleet_automation/src/v2/models/FleetAgentInfoDetailsV2.ts index 9993c9e86734..6f2918bc1f73 100644 --- a/services/fleet_automation/src/v2/models/FleetAgentInfoDetails.ts +++ b/services/fleet_automation/src/v2/models/FleetAgentInfoDetailsV2.ts @@ -3,7 +3,11 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; /** * Detailed information about a Datadog Agent. */ -export class FleetAgentInfoDetails { +export class FleetAgentInfoDetailsV2 { + /** + * The currently active agent in the high-availability group. + */ + "activeHaAgent"?: string; /** * The Datadog Agent version. */ @@ -24,10 +28,26 @@ export class FleetAgentInfoDetails { * Kubernetes cluster name (if applicable). */ "clusterName"?: string; + /** + * The configuration identifier applied to the agent. + */ + "configId"?: string; /** * The unique agent key identifier. */ "datadogAgentKey"?: string; + /** + * The Datadog data center the agent reports to. + */ + "datadogDataCenter"?: string; + /** + * The ECS Fargate cluster name, if the agent runs in an ECS Fargate environment. + */ + "ecsFargateClusterName"?: string; + /** + * The ECS Fargate task ARN, if the agent runs in an ECS Fargate environment. + */ + "ecsFargateTaskArn"?: string; /** * Datadog products enabled on the agent. */ @@ -40,6 +60,14 @@ export class FleetAgentInfoDetails { * Timestamp when the agent was first seen. */ "firstSeenAt"?: number; + /** + * Hosts participating in the agent's high-availability group. + */ + "haAgentHosts"?: Array; + /** + * The high-availability state of the agent. + */ + "haAgentState"?: string; /** * The hostname of the agent. */ @@ -76,6 +104,14 @@ export class FleetAgentInfoDetails { * The operating system version. */ "osVersion"?: string; + /** + * OpenTelemetry collector deployment types associated with the agent. + */ + "otelCollectorDeploymentTypes"?: Array; + /** + * OpenTelemetry collector distributions associated with the agent. + */ + "otelCollectorDistributions"?: Array; /** * OpenTelemetry collector version (if applicable). */ @@ -88,10 +124,18 @@ export class FleetAgentInfoDetails { * OpenTelemetry collectors associated with the agent (if applicable). */ "otelCollectors"?: Array<{ [key: string]: any }>; + /** + * OpenTelemetry resource attributes reported by the agent. + */ + "otelResourceAttributes"?: Array; /** * Kubernetes pod name (if applicable). */ "podName"?: string; + /** + * The preferred active agent in the high-availability group. + */ + "preferredHaActiveAgent"?: string; /** * The Python version used by the agent. */ @@ -112,6 +156,10 @@ export class FleetAgentInfoDetails { * Services running on the agent. */ "services"?: Array; + /** + * Whether the agent supports remote agent upgrade. + */ + "supportAgentUpgrade"?: boolean; /** * Tags associated with the agent. */ @@ -135,6 +183,10 @@ export class FleetAgentInfoDetails { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + activeHaAgent: { + baseName: "active_ha_agent", + type: "string", + }, agentVersion: { baseName: "agent_version", type: "string", @@ -155,10 +207,26 @@ export class FleetAgentInfoDetails { baseName: "cluster_name", type: "string", }, + configId: { + baseName: "config_id", + type: "string", + }, datadogAgentKey: { baseName: "datadog_agent_key", type: "string", }, + datadogDataCenter: { + baseName: "datadog_data_center", + type: "string", + }, + ecsFargateClusterName: { + baseName: "ecs_fargate_cluster_name", + type: "string", + }, + ecsFargateTaskArn: { + baseName: "ecs_fargate_task_arn", + type: "string", + }, enabledProducts: { baseName: "enabled_products", type: "Array", @@ -172,6 +240,14 @@ export class FleetAgentInfoDetails { type: "number", format: "int64", }, + haAgentHosts: { + baseName: "ha_agent_hosts", + type: "Array", + }, + haAgentState: { + baseName: "ha_agent_state", + type: "string", + }, hostname: { baseName: "hostname", type: "string", @@ -209,6 +285,14 @@ export class FleetAgentInfoDetails { baseName: "os_version", type: "string", }, + otelCollectorDeploymentTypes: { + baseName: "otel_collector_deployment_types", + type: "Array", + }, + otelCollectorDistributions: { + baseName: "otel_collector_distributions", + type: "Array", + }, otelCollectorVersion: { baseName: "otel_collector_version", type: "string", @@ -221,10 +305,18 @@ export class FleetAgentInfoDetails { baseName: "otel_collectors", type: "Array<{ [key: string]: any; }>", }, + otelResourceAttributes: { + baseName: "otel_resource_attributes", + type: "Array", + }, podName: { baseName: "pod_name", type: "string", }, + preferredHaActiveAgent: { + baseName: "preferred_ha_active_agent", + type: "string", + }, pythonVersion: { baseName: "python_version", type: "string", @@ -245,6 +337,10 @@ export class FleetAgentInfoDetails { baseName: "services", type: "Array", }, + supportAgentUpgrade: { + baseName: "support_agent_upgrade", + type: "boolean", + }, tags: { baseName: "tags", type: "Array", @@ -263,7 +359,7 @@ export class FleetAgentInfoDetails { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetAgentInfoDetails.attributeTypeMap; + return FleetAgentInfoDetailsV2.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetAgentInfoResourceType.ts b/services/fleet_automation/src/v2/models/FleetAgentInfoResourceType.ts deleted file mode 100644 index 56a6146a7ba2..000000000000 --- a/services/fleet_automation/src/v2/models/FleetAgentInfoResourceType.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { UnparsedObject } from "@datadog/datadog-api-client"; - -/** - * The type of Agent info resource. - */ -export type FleetAgentInfoResourceType = - | typeof DATADOG_AGENT_KEY - | UnparsedObject; -export const DATADOG_AGENT_KEY = "datadog_agent_key"; diff --git a/services/fleet_automation/src/v2/models/FleetAgentInfo.ts b/services/fleet_automation/src/v2/models/FleetAgentV2.ts similarity index 65% rename from services/fleet_automation/src/v2/models/FleetAgentInfo.ts rename to services/fleet_automation/src/v2/models/FleetAgentV2.ts index 5916aa6b0191..c8c8a0c6fd35 100644 --- a/services/fleet_automation/src/v2/models/FleetAgentInfo.ts +++ b/services/fleet_automation/src/v2/models/FleetAgentV2.ts @@ -1,24 +1,24 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetAgentInfoAttributes } from "./FleetAgentInfoAttributes"; -import { FleetAgentInfoResourceType } from "./FleetAgentInfoResourceType"; +import { FleetAgentV2Attributes } from "./FleetAgentV2Attributes"; +import { FleetAgentV2ResourceType } from "./FleetAgentV2ResourceType"; /** - * Represents detailed information about a specific Datadog Agent. + * A Datadog Agent resource in the v2 list response. */ -export class FleetAgentInfo { +export class FleetAgentV2 { /** - * Attributes for agent information. + * Attributes of a Datadog Agent in the v2 list response. */ - "attributes": FleetAgentInfoAttributes; + "attributes": FleetAgentV2Attributes; /** * The unique agent key identifier. */ "id": string; /** - * The type of Agent info resource. + * The type of the agent resource. */ - "type": FleetAgentInfoResourceType; + "type": FleetAgentV2ResourceType; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -36,7 +36,7 @@ export class FleetAgentInfo { static readonly attributeTypeMap: AttributeTypeMap = { attributes: { baseName: "attributes", - type: "FleetAgentInfoAttributes", + type: "FleetAgentV2Attributes", required: true, }, id: { @@ -46,7 +46,7 @@ export class FleetAgentInfo { }, type: { baseName: "type", - type: "FleetAgentInfoResourceType", + type: "FleetAgentV2ResourceType", required: true, }, additionalProperties: { @@ -59,7 +59,7 @@ export class FleetAgentInfo { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetAgentInfo.attributeTypeMap; + return FleetAgentV2.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetAgentAttributes.ts b/services/fleet_automation/src/v2/models/FleetAgentV2Attributes.ts similarity index 51% rename from services/fleet_automation/src/v2/models/FleetAgentAttributes.ts rename to services/fleet_automation/src/v2/models/FleetAgentV2Attributes.ts index eb77cf658ee5..a80b8d85f7ce 100644 --- a/services/fleet_automation/src/v2/models/FleetAgentAttributes.ts +++ b/services/fleet_automation/src/v2/models/FleetAgentV2Attributes.ts @@ -1,21 +1,22 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; import { FleetAgentAttributesTagsItems } from "./FleetAgentAttributesTagsItems"; +import { FleetAgentV2AttributesInstrumentationStatus } from "./FleetAgentV2AttributesInstrumentationStatus"; /** - * Attributes of a Datadog Agent in the list view. + * Attributes of a Datadog Agent in the v2 list response. */ -export class FleetAgentAttributes { +export class FleetAgentV2Attributes { /** * The Datadog Agent version. */ "agentVersion"?: string; /** - * The API key name (if available and not redacted). + * The name of the API key used by the agent, if available and not redacted. */ "apiKeyName"?: string; /** - * The API key UUID. + * The UUID of the API key used by the agent. */ "apiKeyUuid"?: string; /** @@ -23,13 +24,21 @@ export class FleetAgentAttributes { */ "cloudProvider"?: string; /** - * Kubernetes cluster name (if applicable). + * The Kubernetes cluster name, if the agent runs in a cluster. */ "clusterName"?: string; /** - * The unique agent key identifier. + * The Datadog data center the agent reports to. */ - "datadogAgentKey"?: string; + "datadogDataCenter"?: string; + /** + * The ECS Fargate cluster name, if the agent runs in an ECS Fargate environment. + */ + "ecsFargateClusterName"?: string; + /** + * The ECS Fargate task ARN, if the agent runs in an ECS Fargate environment. + */ + "ecsFargateTaskArn"?: string; /** * Datadog products enabled on the agent. */ @@ -37,49 +46,77 @@ export class FleetAgentAttributes { /** * Environments the agent is reporting from. */ - "envs"?: Array; + "env"?: Array; /** - * Timestamp when the agent was first seen. + * Unix timestamp when the agent was first seen. */ "firstSeenAt"?: number; + /** + * Identifiers of fleet policies applied to the agent. + */ + "fleetPolicies"?: Array; /** * The hostname of the agent. */ "hostname"?: string; /** - * IP addresses of the agent. + * Number of instrumentation errors on the agent. Absent from the response when the count is zero. + */ + "instrumentationErrorCounts"?: number; + /** + * The single-step instrumentation status of the Agent. + */ + "instrumentationStatus"?: FleetAgentV2AttributesInstrumentationStatus; + /** + * Names of integrations configured on the agent. + */ + "integrations"?: Array; + /** + * IP addresses of the agent host. */ "ipAddresses"?: Array; /** - * Whether single-step instrumentation is enabled. + * Whether single-step instrumentation is enabled on the agent. */ "isSingleStepInstrumentationEnabled"?: boolean; /** - * Timestamp of the last agent restart. + * Unix timestamp of the last agent restart. */ "lastRestartAt"?: number; /** - * The operating system. + * The operating system of the host. */ "os"?: string; /** - * OpenTelemetry collector version (if applicable). + * OpenTelemetry collector deployment types associated with the agent. + */ + "otelCollectorDeploymentTypes"?: Array; + /** + * OpenTelemetry collector distributions associated with the agent. + */ + "otelCollectorDistributions"?: Array; + /** + * The primary OpenTelemetry collector version, if applicable. */ "otelCollectorVersion"?: string; /** - * List of OpenTelemetry collector versions (if applicable). + * All OpenTelemetry collector versions associated with the agent. */ "otelCollectorVersions"?: Array; /** - * Kubernetes pod name (if applicable). + * OpenTelemetry resource attributes reported by the agent. + */ + "otelResourceAttributes"?: Array; + /** + * The Kubernetes pod name, if the agent runs as a pod. */ "podName"?: string; /** - * Remote agent management status. + * The remote agent management status. */ "remoteAgentManagement"?: string; /** - * Remote configuration status. + * The remote configuration connection status of the agent. */ "remoteConfigStatus"?: string; /** @@ -87,11 +124,11 @@ export class FleetAgentAttributes { */ "services"?: Array; /** - * Tags associated with the agent. + * Tags associated with the agent. Returned as an empty array when the agent has no tags. */ "tags"?: Array; /** - * Team associated with the agent. + * The team associated with the agent. */ "team"?: string; /** @@ -129,16 +166,24 @@ export class FleetAgentAttributes { baseName: "cluster_name", type: "string", }, - datadogAgentKey: { - baseName: "datadog_agent_key", + datadogDataCenter: { + baseName: "datadog_data_center", + type: "string", + }, + ecsFargateClusterName: { + baseName: "ecs_fargate_cluster_name", + type: "string", + }, + ecsFargateTaskArn: { + baseName: "ecs_fargate_task_arn", type: "string", }, enabledProducts: { baseName: "enabled_products", type: "Array", }, - envs: { - baseName: "envs", + env: { + baseName: "env", type: "Array", }, firstSeenAt: { @@ -146,10 +191,27 @@ export class FleetAgentAttributes { type: "number", format: "int64", }, + fleetPolicies: { + baseName: "fleet_policies", + type: "Array", + }, hostname: { baseName: "hostname", type: "string", }, + instrumentationErrorCounts: { + baseName: "instrumentation_error_counts", + type: "number", + format: "int64", + }, + instrumentationStatus: { + baseName: "instrumentation_status", + type: "FleetAgentV2AttributesInstrumentationStatus", + }, + integrations: { + baseName: "integrations", + type: "Array", + }, ipAddresses: { baseName: "ip_addresses", type: "Array", @@ -167,6 +229,14 @@ export class FleetAgentAttributes { baseName: "os", type: "string", }, + otelCollectorDeploymentTypes: { + baseName: "otel_collector_deployment_types", + type: "Array", + }, + otelCollectorDistributions: { + baseName: "otel_collector_distributions", + type: "Array", + }, otelCollectorVersion: { baseName: "otel_collector_version", type: "string", @@ -175,6 +245,10 @@ export class FleetAgentAttributes { baseName: "otel_collector_versions", type: "Array", }, + otelResourceAttributes: { + baseName: "otel_resource_attributes", + type: "Array", + }, podName: { baseName: "pod_name", type: "string", @@ -209,7 +283,7 @@ export class FleetAgentAttributes { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetAgentAttributes.attributeTypeMap; + return FleetAgentV2Attributes.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetAgentV2AttributesInstrumentationStatus.ts b/services/fleet_automation/src/v2/models/FleetAgentV2AttributesInstrumentationStatus.ts new file mode 100644 index 000000000000..5bdd81efb576 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetAgentV2AttributesInstrumentationStatus.ts @@ -0,0 +1,11 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * The single-step instrumentation status of the Agent. + */ +export type FleetAgentV2AttributesInstrumentationStatus = + | typeof SUCCESS + | typeof FAILURE + | UnparsedObject; +export const SUCCESS = "success"; +export const FAILURE = "failure"; diff --git a/services/fleet_automation/src/v2/models/FleetAgentV2ResourceType.ts b/services/fleet_automation/src/v2/models/FleetAgentV2ResourceType.ts new file mode 100644 index 000000000000..835bb09b69bd --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetAgentV2ResourceType.ts @@ -0,0 +1,7 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * The type of the agent resource. + */ +export type FleetAgentV2ResourceType = typeof AGENT | UnparsedObject; +export const AGENT = "agent"; diff --git a/services/fleet_automation/src/v2/models/FleetAgentVersion.ts b/services/fleet_automation/src/v2/models/FleetAgentVersionV2.ts similarity index 62% rename from services/fleet_automation/src/v2/models/FleetAgentVersion.ts rename to services/fleet_automation/src/v2/models/FleetAgentVersionV2.ts index 9d292729e6d5..a3dfad2b6d41 100644 --- a/services/fleet_automation/src/v2/models/FleetAgentVersion.ts +++ b/services/fleet_automation/src/v2/models/FleetAgentVersionV2.ts @@ -1,24 +1,24 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetAgentVersionAttributes } from "./FleetAgentVersionAttributes"; -import { FleetAgentVersionResourceType } from "./FleetAgentVersionResourceType"; +import { FleetAgentVersionV2Attributes } from "./FleetAgentVersionV2Attributes"; +import { FleetAgentVersionV2ResourceType } from "./FleetAgentVersionV2ResourceType"; /** - * Represents an available Datadog Agent version. + * An available Datadog Agent version resource. */ -export class FleetAgentVersion { +export class FleetAgentVersionV2 { /** * Attributes of an available Datadog Agent version. */ - "attributes"?: FleetAgentVersionAttributes; + "attributes": FleetAgentVersionV2Attributes; /** - * Unique identifier for the Agent version (same as version). + * The agent version string used as the unique identifier. */ "id": string; /** - * The type of Agent version resource. + * The type of the agent version resource. */ - "type": FleetAgentVersionResourceType; + "type": FleetAgentVersionV2ResourceType; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -36,7 +36,8 @@ export class FleetAgentVersion { static readonly attributeTypeMap: AttributeTypeMap = { attributes: { baseName: "attributes", - type: "FleetAgentVersionAttributes", + type: "FleetAgentVersionV2Attributes", + required: true, }, id: { baseName: "id", @@ -45,7 +46,7 @@ export class FleetAgentVersion { }, type: { baseName: "type", - type: "FleetAgentVersionResourceType", + type: "FleetAgentVersionV2ResourceType", required: true, }, additionalProperties: { @@ -58,7 +59,7 @@ export class FleetAgentVersion { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetAgentVersion.attributeTypeMap; + return FleetAgentVersionV2.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetAgentVersionAttributes.ts b/services/fleet_automation/src/v2/models/FleetAgentVersionV2Attributes.ts similarity index 86% rename from services/fleet_automation/src/v2/models/FleetAgentVersionAttributes.ts rename to services/fleet_automation/src/v2/models/FleetAgentVersionV2Attributes.ts index f0efff22c7aa..ef6c7205b812 100644 --- a/services/fleet_automation/src/v2/models/FleetAgentVersionAttributes.ts +++ b/services/fleet_automation/src/v2/models/FleetAgentVersionV2Attributes.ts @@ -3,9 +3,9 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; /** * Attributes of an available Datadog Agent version. */ -export class FleetAgentVersionAttributes { +export class FleetAgentVersionV2Attributes { /** - * The Agent version string. + * The agent version string. */ "version"?: string; /** @@ -37,7 +37,7 @@ export class FleetAgentVersionAttributes { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetAgentVersionAttributes.attributeTypeMap; + return FleetAgentVersionV2Attributes.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetAgentVersionResourceType.ts b/services/fleet_automation/src/v2/models/FleetAgentVersionV2ResourceType.ts similarity index 64% rename from services/fleet_automation/src/v2/models/FleetAgentVersionResourceType.ts rename to services/fleet_automation/src/v2/models/FleetAgentVersionV2ResourceType.ts index 1084b13f25b5..685095ae1ccb 100644 --- a/services/fleet_automation/src/v2/models/FleetAgentVersionResourceType.ts +++ b/services/fleet_automation/src/v2/models/FleetAgentVersionV2ResourceType.ts @@ -1,9 +1,9 @@ import { UnparsedObject } from "@datadog/datadog-api-client"; /** - * The type of Agent version resource. + * The type of the agent version resource. */ -export type FleetAgentVersionResourceType = +export type FleetAgentVersionV2ResourceType = | typeof AGENT_VERSION | UnparsedObject; export const AGENT_VERSION = "agent_version"; diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentsPage.ts b/services/fleet_automation/src/v2/models/FleetAgentVersionsV2Page.ts similarity index 80% rename from services/fleet_automation/src/v2/models/FleetDeploymentsPage.ts rename to services/fleet_automation/src/v2/models/FleetAgentVersionsV2Page.ts index aeaa964ca24a..4ad9f68a0989 100644 --- a/services/fleet_automation/src/v2/models/FleetDeploymentsPage.ts +++ b/services/fleet_automation/src/v2/models/FleetAgentVersionsV2Page.ts @@ -1,11 +1,11 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; /** - * Pagination details for the list of deployments. + * Pagination details for the v2 list of agent versions. */ -export class FleetDeploymentsPage { +export class FleetAgentVersionsV2Page { /** - * Total number of deployments available across all pages. + * Total number of available agent versions. */ "totalCount"?: number; /** @@ -38,7 +38,7 @@ export class FleetDeploymentsPage { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetDeploymentsPage.attributeTypeMap; + return FleetAgentVersionsV2Page.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetAgentVersionsV2Response.ts b/services/fleet_automation/src/v2/models/FleetAgentVersionsV2Response.ts new file mode 100644 index 000000000000..4e08d3c3d5f2 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetAgentVersionsV2Response.ts @@ -0,0 +1,56 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetAgentVersionsV2ResponseMeta } from "./FleetAgentVersionsV2ResponseMeta"; +import { FleetAgentVersionV2 } from "./FleetAgentVersionV2"; + +/** + * Response containing a list of available Datadog Agent versions. + */ +export class FleetAgentVersionsV2Response { + /** + * Array of available agent versions. + */ + "data": Array; + /** + * Metadata for the v2 list of agent versions. + */ + "meta"?: FleetAgentVersionsV2ResponseMeta; + /** + * 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, + }, + meta: { + baseName: "meta", + type: "FleetAgentVersionsV2ResponseMeta", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetAgentVersionsV2Response.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetAgentVersionsV2ResponseMeta.ts b/services/fleet_automation/src/v2/models/FleetAgentVersionsV2ResponseMeta.ts new file mode 100644 index 000000000000..db68a5448d52 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetAgentVersionsV2ResponseMeta.ts @@ -0,0 +1,46 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetAgentVersionsV2Page } from "./FleetAgentVersionsV2Page"; + +/** + * Metadata for the v2 list of agent versions. + */ +export class FleetAgentVersionsV2ResponseMeta { + /** + * Pagination details for the v2 list of agent versions. + */ + "page"?: FleetAgentVersionsV2Page; + /** + * 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 = { + page: { + baseName: "page", + type: "FleetAgentVersionsV2Page", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetAgentVersionsV2ResponseMeta.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetAgentsV2Page.ts b/services/fleet_automation/src/v2/models/FleetAgentsV2Page.ts new file mode 100644 index 000000000000..795f6b103bfb --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetAgentsV2Page.ts @@ -0,0 +1,54 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +/** + * Pagination details for the v2 list of agents. + */ +export class FleetAgentsV2Page { + /** + * Total number of agents in the fleet, regardless of any filter. + */ + "totalCount"?: number; + /** + * Total number of agents matching the current filter criteria. + */ + "totalFilteredCount"?: 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 = { + totalCount: { + baseName: "total_count", + type: "number", + format: "int64", + }, + totalFilteredCount: { + baseName: "total_filtered_count", + type: "number", + format: "int64", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetAgentsV2Page.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetAgentsResponse.ts b/services/fleet_automation/src/v2/models/FleetAgentsV2Response.ts similarity index 64% rename from services/fleet_automation/src/v2/models/FleetAgentsResponse.ts rename to services/fleet_automation/src/v2/models/FleetAgentsV2Response.ts index 377c9af6d13b..2c59c27d8a9a 100644 --- a/services/fleet_automation/src/v2/models/FleetAgentsResponse.ts +++ b/services/fleet_automation/src/v2/models/FleetAgentsV2Response.ts @@ -1,20 +1,20 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetAgentsResponseData } from "./FleetAgentsResponseData"; -import { FleetAgentsResponseMeta } from "./FleetAgentsResponseMeta"; +import { FleetAgentsV2ResponseMeta } from "./FleetAgentsV2ResponseMeta"; +import { FleetAgentV2 } from "./FleetAgentV2"; /** * Response containing a paginated list of Datadog Agents. */ -export class FleetAgentsResponse { +export class FleetAgentsV2Response { /** - * The response data containing status and agents array. + * Array of agents matching the query criteria. */ - "data": FleetAgentsResponseData; + "data": Array; /** - * Metadata for the list of agents response. + * Metadata for the v2 list of agents, including pagination information. */ - "meta"?: FleetAgentsResponseMeta; + "meta"?: FleetAgentsV2ResponseMeta; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -32,12 +32,12 @@ export class FleetAgentsResponse { static readonly attributeTypeMap: AttributeTypeMap = { data: { baseName: "data", - type: "FleetAgentsResponseData", + type: "Array", required: true, }, meta: { baseName: "meta", - type: "FleetAgentsResponseMeta", + type: "FleetAgentsV2ResponseMeta", }, additionalProperties: { baseName: "additionalProperties", @@ -49,7 +49,7 @@ export class FleetAgentsResponse { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetAgentsResponse.attributeTypeMap; + return FleetAgentsV2Response.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentsResponseMeta.ts b/services/fleet_automation/src/v2/models/FleetAgentsV2ResponseMeta.ts similarity index 67% rename from services/fleet_automation/src/v2/models/FleetDeploymentsResponseMeta.ts rename to services/fleet_automation/src/v2/models/FleetAgentsV2ResponseMeta.ts index 533e2d05e87f..e7e8433c4c1d 100644 --- a/services/fleet_automation/src/v2/models/FleetDeploymentsResponseMeta.ts +++ b/services/fleet_automation/src/v2/models/FleetAgentsV2ResponseMeta.ts @@ -1,15 +1,15 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetDeploymentsPage } from "./FleetDeploymentsPage"; +import { FleetAgentsV2Page } from "./FleetAgentsV2Page"; /** - * Metadata for the list of deployments, including pagination information. + * Metadata for the v2 list of agents, including pagination information. */ -export class FleetDeploymentsResponseMeta { +export class FleetAgentsV2ResponseMeta { /** - * Pagination details for the list of deployments. + * Pagination details for the v2 list of agents. */ - "page"?: FleetDeploymentsPage; + "page"?: FleetAgentsV2Page; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -27,7 +27,7 @@ export class FleetDeploymentsResponseMeta { static readonly attributeTypeMap: AttributeTypeMap = { page: { baseName: "page", - type: "FleetDeploymentsPage", + type: "FleetAgentsV2Page", }, additionalProperties: { baseName: "additionalProperties", @@ -39,7 +39,7 @@ export class FleetDeploymentsResponseMeta { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetDeploymentsResponseMeta.attributeTypeMap; + return FleetAgentsV2ResponseMeta.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetConfigurationFile.ts b/services/fleet_automation/src/v2/models/FleetConfigurationFileV2.ts similarity index 72% rename from services/fleet_automation/src/v2/models/FleetConfigurationFile.ts rename to services/fleet_automation/src/v2/models/FleetConfigurationFileV2.ts index 9c189f68eb43..8a8de08ab1f8 100644 --- a/services/fleet_automation/src/v2/models/FleetConfigurationFile.ts +++ b/services/fleet_automation/src/v2/models/FleetConfigurationFileV2.ts @@ -3,7 +3,11 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; /** * A configuration file for an integration. */ -export class FleetConfigurationFile { +export class FleetConfigurationFileV2 { + /** + * Hash of the configuration file as seen by the agent. + */ + "agentHash"?: string; /** * The raw content of the configuration file. */ @@ -16,6 +20,10 @@ export class FleetConfigurationFile { * Name of the configuration file. */ "filename"?: string; + /** + * Hash of the configuration file as applied by fleet management. + */ + "fleetHash"?: string; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -31,6 +39,10 @@ export class FleetConfigurationFile { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + agentHash: { + baseName: "agent_hash", + type: "string", + }, fileContent: { baseName: "file_content", type: "string", @@ -43,6 +55,10 @@ export class FleetConfigurationFile { baseName: "filename", type: "string", }, + fleetHash: { + baseName: "fleet_hash", + type: "string", + }, additionalProperties: { baseName: "additionalProperties", type: "{ [key: string]: any; }", @@ -53,7 +69,7 @@ export class FleetConfigurationFile { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetConfigurationFile.attributeTypeMap; + return FleetConfigurationFileV2.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentConfigureAttributes.ts b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2Attributes.ts similarity index 56% rename from services/fleet_automation/src/v2/models/FleetDeploymentConfigureAttributes.ts rename to services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2Attributes.ts index 99ab0d4b2f89..a62d39b8eba3 100644 --- a/services/fleet_automation/src/v2/models/FleetDeploymentConfigureAttributes.ts +++ b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2Attributes.ts @@ -1,19 +1,31 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; +import { FleetDeploymentConfigureV2Package } from "./FleetDeploymentConfigureV2Package"; import { FleetDeploymentOperation } from "./FleetDeploymentOperation"; /** - * Attributes for creating a new configuration deployment. + * Attributes for creating a new v2 configuration deployment. */ -export class FleetDeploymentConfigureAttributes { +export class FleetDeploymentConfigureV2Attributes { /** * Ordered list of configuration file operations to perform on the target hosts. */ "configOperations": Array; + /** + * Set to `true` to validate the configuration and resolve target hosts and packages + * without deploying anything. Returns a 200 with the validation result instead of + * creating and starting a real deployment. + */ + "dryRun"?: boolean; /** * Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax. */ - "filterQuery"?: string; + "filterQuery": string; + /** + * List of packages and their target versions to additionally deploy alongside + * the configuration change. + */ + "targetPackages"?: Array; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -34,9 +46,18 @@ export class FleetDeploymentConfigureAttributes { type: "Array", required: true, }, + dryRun: { + baseName: "dry_run", + type: "boolean", + }, filterQuery: { baseName: "filter_query", type: "string", + required: true, + }, + targetPackages: { + baseName: "target_packages", + type: "Array", }, additionalProperties: { baseName: "additionalProperties", @@ -48,7 +69,7 @@ export class FleetDeploymentConfigureAttributes { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetDeploymentConfigureAttributes.attributeTypeMap; + return FleetDeploymentConfigureV2Attributes.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentConfigureCreate.ts b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2Create.ts similarity index 70% rename from services/fleet_automation/src/v2/models/FleetDeploymentConfigureCreate.ts rename to services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2Create.ts index 04b95ccd9de1..0217c8000910 100644 --- a/services/fleet_automation/src/v2/models/FleetDeploymentConfigureCreate.ts +++ b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2Create.ts @@ -1,16 +1,16 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetDeploymentConfigureAttributes } from "./FleetDeploymentConfigureAttributes"; +import { FleetDeploymentConfigureV2Attributes } from "./FleetDeploymentConfigureV2Attributes"; import { FleetDeploymentResourceType } from "./FleetDeploymentResourceType"; /** - * Data for creating a new configuration deployment. + * Data for creating a new v2 configuration deployment. */ -export class FleetDeploymentConfigureCreate { +export class FleetDeploymentConfigureV2Create { /** - * Attributes for creating a new configuration deployment. + * Attributes for creating a new v2 configuration deployment. */ - "attributes": FleetDeploymentConfigureAttributes; + "attributes": FleetDeploymentConfigureV2Attributes; /** * The type of deployment resource. */ @@ -32,7 +32,7 @@ export class FleetDeploymentConfigureCreate { static readonly attributeTypeMap: AttributeTypeMap = { attributes: { baseName: "attributes", - type: "FleetDeploymentConfigureAttributes", + type: "FleetDeploymentConfigureV2Attributes", required: true, }, type: { @@ -50,7 +50,7 @@ export class FleetDeploymentConfigureCreate { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetDeploymentConfigureCreate.attributeTypeMap; + return FleetDeploymentConfigureV2Create.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2CreateRequest.ts b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2CreateRequest.ts new file mode 100644 index 000000000000..180e7b9b3d75 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2CreateRequest.ts @@ -0,0 +1,47 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetDeploymentConfigureV2Create } from "./FleetDeploymentConfigureV2Create"; + +/** + * Request payload for creating a new v2 configuration deployment. + */ +export class FleetDeploymentConfigureV2CreateRequest { + /** + * Data for creating a new v2 configuration deployment. + */ + "data": FleetDeploymentConfigureV2Create; + /** + * 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: "FleetDeploymentConfigureV2Create", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentConfigureV2CreateRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2DryRun.ts b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2DryRun.ts new file mode 100644 index 000000000000..98a7809f6ec0 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2DryRun.ts @@ -0,0 +1,67 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetDeploymentConfigureV2DryRunAttributes } from "./FleetDeploymentConfigureV2DryRunAttributes"; +import { FleetDeploymentResourceType } from "./FleetDeploymentResourceType"; + +/** + * The result of a configuration deployment dry run. + */ +export class FleetDeploymentConfigureV2DryRun { + /** + * Attributes of a configuration deployment dry-run response. + */ + "attributes": FleetDeploymentConfigureV2DryRunAttributes; + /** + * Always `"dry-run"` for a dry-run response. Does not identify a real deployment + * and cannot be used to fetch a deployment by ID. + */ + "id": string; + /** + * The type of deployment resource. + */ + "type": FleetDeploymentResourceType; + /** + * 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: "FleetDeploymentConfigureV2DryRunAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "FleetDeploymentResourceType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentConfigureV2DryRun.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2DryRunAttributes.ts b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2DryRunAttributes.ts new file mode 100644 index 000000000000..6e33a245665c --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2DryRunAttributes.ts @@ -0,0 +1,63 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetDeploymentConfigureV2DryRunResult } from "./FleetDeploymentConfigureV2DryRunResult"; + +/** + * Attributes of a configuration deployment dry-run response. + */ +export class FleetDeploymentConfigureV2DryRunAttributes { + /** + * Validation result of a configuration deployment dry run. + */ + "dryRun"?: FleetDeploymentConfigureV2DryRunResult; + /** + * Query used to filter and select target hosts for the deployment. + */ + "query"?: string; + /** + * Total number of hosts targeted by the dry run. + */ + "totalHosts"?: 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 = { + dryRun: { + baseName: "dry_run", + type: "FleetDeploymentConfigureV2DryRunResult", + }, + query: { + baseName: "query", + type: "string", + }, + totalHosts: { + baseName: "total_hosts", + type: "number", + format: "int64", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentConfigureV2DryRunAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2DryRunResponse.ts b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2DryRunResponse.ts new file mode 100644 index 000000000000..145e39df4e80 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2DryRunResponse.ts @@ -0,0 +1,47 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetDeploymentConfigureV2DryRun } from "./FleetDeploymentConfigureV2DryRun"; + +/** + * Response containing the result of a configuration deployment dry run. + */ +export class FleetDeploymentConfigureV2DryRunResponse { + /** + * The result of a configuration deployment dry run. + */ + "data": FleetDeploymentConfigureV2DryRun; + /** + * 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: "FleetDeploymentConfigureV2DryRun", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentConfigureV2DryRunResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2DryRunResult.ts b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2DryRunResult.ts new file mode 100644 index 000000000000..eb9c23ca8d29 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2DryRunResult.ts @@ -0,0 +1,62 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +/** + * Validation result of a configuration deployment dry run. + */ +export class FleetDeploymentConfigureV2DryRunResult { + /** + * Whether the configuration passed schema validation. + */ + "configValidated"?: boolean; + /** + * Breakdown of ineligible host counts by reason. Only includes reasons with a + * non-zero count. Absent from the response when no targeted host is ineligible. + */ + "nonUpgradableByReason"?: { [key: string]: number }; + /** + * Number of targeted hosts that are not eligible to receive this configuration. + */ + "nonUpgradableHosts"?: 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 = { + configValidated: { + baseName: "config_validated", + type: "boolean", + }, + nonUpgradableByReason: { + baseName: "non_upgradable_by_reason", + type: "{ [key: string]: number; }", + }, + nonUpgradableHosts: { + baseName: "non_upgradable_hosts", + type: "number", + format: "int64", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentConfigureV2DryRunResult.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2Package.ts b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2Package.ts new file mode 100644 index 000000000000..348e4904ecc5 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentConfigureV2Package.ts @@ -0,0 +1,62 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +/** + * A package and its target version to additionally deploy alongside a configuration change. + */ +export class FleetDeploymentConfigureV2Package { + /** + * APM auto-instrumentation mode to enable for this package, if applicable. + */ + "apmInstrumentation"?: string; + /** + * The name of the package to deploy. + */ + "name": string; + /** + * The target version of the package to deploy. + */ + "version": 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 = { + apmInstrumentation: { + baseName: "apm_instrumentation", + type: "string", + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + version: { + baseName: "version", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentConfigureV2Package.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeAttributes.ts b/services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeV2Attributes.ts similarity index 83% rename from services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeAttributes.ts rename to services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeV2Attributes.ts index afff83c6fede..25e369ca852d 100644 --- a/services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeAttributes.ts +++ b/services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeV2Attributes.ts @@ -3,13 +3,13 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; import { FleetDeploymentPackage } from "./FleetDeploymentPackage"; /** - * Attributes for creating a new package upgrade deployment. + * Attributes for creating a new v2 package upgrade deployment. */ -export class FleetDeploymentPackageUpgradeAttributes { +export class FleetDeploymentPackageUpgradeV2Attributes { /** * Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax. */ - "filterQuery"?: string; + "filterQuery": string; /** * List of packages and their target versions to deploy to the selected hosts. */ @@ -32,6 +32,7 @@ export class FleetDeploymentPackageUpgradeAttributes { filterQuery: { baseName: "filter_query", type: "string", + required: true, }, targetPackages: { baseName: "target_packages", @@ -48,7 +49,7 @@ export class FleetDeploymentPackageUpgradeAttributes { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetDeploymentPackageUpgradeAttributes.attributeTypeMap; + return FleetDeploymentPackageUpgradeV2Attributes.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeCreate.ts b/services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeV2Create.ts similarity index 69% rename from services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeCreate.ts rename to services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeV2Create.ts index f9a5c21b3819..ea0131a31e36 100644 --- a/services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeCreate.ts +++ b/services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeV2Create.ts @@ -1,16 +1,16 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetDeploymentPackageUpgradeAttributes } from "./FleetDeploymentPackageUpgradeAttributes"; +import { FleetDeploymentPackageUpgradeV2Attributes } from "./FleetDeploymentPackageUpgradeV2Attributes"; import { FleetDeploymentResourceType } from "./FleetDeploymentResourceType"; /** - * Data for creating a new package upgrade deployment. + * Data for creating a new v2 package upgrade deployment. */ -export class FleetDeploymentPackageUpgradeCreate { +export class FleetDeploymentPackageUpgradeV2Create { /** - * Attributes for creating a new package upgrade deployment. + * Attributes for creating a new v2 package upgrade deployment. */ - "attributes": FleetDeploymentPackageUpgradeAttributes; + "attributes": FleetDeploymentPackageUpgradeV2Attributes; /** * The type of deployment resource. */ @@ -32,7 +32,7 @@ export class FleetDeploymentPackageUpgradeCreate { static readonly attributeTypeMap: AttributeTypeMap = { attributes: { baseName: "attributes", - type: "FleetDeploymentPackageUpgradeAttributes", + type: "FleetDeploymentPackageUpgradeV2Attributes", required: true, }, type: { @@ -50,7 +50,7 @@ export class FleetDeploymentPackageUpgradeCreate { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetDeploymentPackageUpgradeCreate.attributeTypeMap; + return FleetDeploymentPackageUpgradeV2Create.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeCreateRequest.ts b/services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeV2CreateRequest.ts similarity index 62% rename from services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeCreateRequest.ts rename to services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeV2CreateRequest.ts index ecbf64e52427..6bf89517b971 100644 --- a/services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeCreateRequest.ts +++ b/services/fleet_automation/src/v2/models/FleetDeploymentPackageUpgradeV2CreateRequest.ts @@ -1,15 +1,15 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetDeploymentPackageUpgradeCreate } from "./FleetDeploymentPackageUpgradeCreate"; +import { FleetDeploymentPackageUpgradeV2Create } from "./FleetDeploymentPackageUpgradeV2Create"; /** - * Request payload for creating a new package upgrade deployment. + * Request payload for creating a new v2 package upgrade deployment. */ -export class FleetDeploymentPackageUpgradeCreateRequest { +export class FleetDeploymentPackageUpgradeV2CreateRequest { /** - * Data for creating a new package upgrade deployment. + * Data for creating a new v2 package upgrade deployment. */ - "data": FleetDeploymentPackageUpgradeCreate; + "data": FleetDeploymentPackageUpgradeV2Create; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -27,7 +27,7 @@ export class FleetDeploymentPackageUpgradeCreateRequest { static readonly attributeTypeMap: AttributeTypeMap = { data: { baseName: "data", - type: "FleetDeploymentPackageUpgradeCreate", + type: "FleetDeploymentPackageUpgradeV2Create", required: true, }, additionalProperties: { @@ -40,7 +40,7 @@ export class FleetDeploymentPackageUpgradeCreateRequest { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetDeploymentPackageUpgradeCreateRequest.attributeTypeMap; + return FleetDeploymentPackageUpgradeV2CreateRequest.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentV2.ts b/services/fleet_automation/src/v2/models/FleetDeploymentV2.ts new file mode 100644 index 000000000000..f2b143346bbb --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentV2.ts @@ -0,0 +1,66 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetDeploymentResourceType } from "./FleetDeploymentResourceType"; +import { FleetDeploymentV2Attributes } from "./FleetDeploymentV2Attributes"; + +/** + * A deployment in the v2 API response. + */ +export class FleetDeploymentV2 { + /** + * Attributes of a deployment in the v2 API response. + */ + "attributes": FleetDeploymentV2Attributes; + /** + * Unique identifier for the deployment. + */ + "id": string; + /** + * The type of deployment resource. + */ + "type": FleetDeploymentResourceType; + /** + * 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: "FleetDeploymentV2Attributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "FleetDeploymentResourceType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentV2.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentV2Attributes.ts b/services/fleet_automation/src/v2/models/FleetDeploymentV2Attributes.ts new file mode 100644 index 000000000000..4021cb78aad1 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentV2Attributes.ts @@ -0,0 +1,159 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetDeploymentOperation } from "./FleetDeploymentOperation"; + +/** + * Attributes of a deployment in the v2 API response. + */ +export class FleetDeploymentV2Attributes { + /** + * Handle of the user who triggered the deployment. + */ + "author"?: string; + /** + * Ordered list of configuration file operations applied by this deployment. + * Absent for package deployments, which have no configuration file operations. + */ + "configOperations"?: Array; + /** + * Duration of the deployment in seconds, computed as `finished_at - started_at`. + * Zero if the deployment has not finished. + */ + "durationSeconds"?: number; + /** + * Top-level error message for the deployment. Populated only when the deployment has failed. + */ + "errorSummary"?: string; + /** + * Estimated completion time of the deployment as a Unix timestamp. Zero if not available. + */ + "estimatedFinishedAt"?: number; + /** + * Time the deployment finished as a Unix timestamp. Zero if not yet finished. + */ + "finishedAt"?: number; + /** + * Whether this deployment was triggered by a schedule (`schedule_id` is non-empty). + */ + "isScheduled"?: boolean; + /** + * Query used to filter and select target hosts for the deployment. + */ + "query"?: string; + /** + * Identifier of the schedule that triggered this deployment. Empty if triggered manually. + */ + "scheduleId"?: string; + /** + * Time the deployment started as a Unix timestamp. Zero if not yet started. + */ + "startedAt"?: number; + /** + * Current high-level status of the deployment (for example, "pending", "running", + * "completed", "failed"). + */ + "status"?: string; + /** + * Package versions targeted by this deployment. + */ + "targetVersions"?: Array; + /** + * Total number of hosts targeted by this deployment. + */ + "totalHosts"?: number; + /** + * Type of update operation performed by this deployment + * (for example, "update_config_operations", "update_package"). + */ + "updateType"?: 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 = { + author: { + baseName: "author", + type: "string", + }, + configOperations: { + baseName: "config_operations", + type: "Array", + }, + durationSeconds: { + baseName: "duration_seconds", + type: "number", + format: "int64", + }, + errorSummary: { + baseName: "error_summary", + type: "string", + }, + estimatedFinishedAt: { + baseName: "estimated_finished_at", + type: "number", + format: "int64", + }, + finishedAt: { + baseName: "finished_at", + type: "number", + format: "int64", + }, + isScheduled: { + baseName: "is_scheduled", + type: "boolean", + }, + query: { + baseName: "query", + type: "string", + }, + scheduleId: { + baseName: "schedule_id", + type: "string", + }, + startedAt: { + baseName: "started_at", + type: "number", + format: "int64", + }, + status: { + baseName: "status", + type: "string", + }, + targetVersions: { + baseName: "target_versions", + type: "Array", + }, + totalHosts: { + baseName: "total_hosts", + type: "number", + format: "int64", + }, + updateType: { + baseName: "update_type", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentV2Attributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentV2Cancel.ts b/services/fleet_automation/src/v2/models/FleetDeploymentV2Cancel.ts new file mode 100644 index 000000000000..f089da105e40 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentV2Cancel.ts @@ -0,0 +1,66 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetDeploymentResourceType } from "./FleetDeploymentResourceType"; +import { FleetDeploymentV2CancelAttributes } from "./FleetDeploymentV2CancelAttributes"; + +/** + * A deployment cancellation response. + */ +export class FleetDeploymentV2Cancel { + /** + * Attributes of a deployment cancellation response. + */ + "attributes": FleetDeploymentV2CancelAttributes; + /** + * Unique identifier for the deployment. + */ + "id": string; + /** + * The type of deployment resource. + */ + "type": FleetDeploymentResourceType; + /** + * 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: "FleetDeploymentV2CancelAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "FleetDeploymentResourceType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentV2Cancel.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetAgentsResponseDataAttributes.ts b/services/fleet_automation/src/v2/models/FleetDeploymentV2CancelAttributes.ts similarity index 58% rename from services/fleet_automation/src/v2/models/FleetAgentsResponseDataAttributes.ts rename to services/fleet_automation/src/v2/models/FleetDeploymentV2CancelAttributes.ts index 7b24cfefd6ac..8623bb12c769 100644 --- a/services/fleet_automation/src/v2/models/FleetAgentsResponseDataAttributes.ts +++ b/services/fleet_automation/src/v2/models/FleetDeploymentV2CancelAttributes.ts @@ -1,15 +1,17 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetAgentAttributes } from "./FleetAgentAttributes"; - /** - * Attributes of the fleet agents response containing the list of agents. + * Attributes of a deployment cancellation response. */ -export class FleetAgentsResponseDataAttributes { +export class FleetDeploymentV2CancelAttributes { + /** + * Human-readable message describing the outcome of the cancellation request. + */ + "message"?: string; /** - * Array of agents matching the query criteria. + * Status of the deployment after the cancellation request. */ - "agents"?: Array; + "status"?: string; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -25,9 +27,13 @@ export class FleetAgentsResponseDataAttributes { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { - agents: { - baseName: "agents", - type: "Array", + message: { + baseName: "message", + type: "string", + }, + status: { + baseName: "status", + type: "string", }, additionalProperties: { baseName: "additionalProperties", @@ -39,7 +45,7 @@ export class FleetAgentsResponseDataAttributes { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetAgentsResponseDataAttributes.attributeTypeMap; + return FleetDeploymentV2CancelAttributes.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentConfigureCreateRequest.ts b/services/fleet_automation/src/v2/models/FleetDeploymentV2CancelResponse.ts similarity index 65% rename from services/fleet_automation/src/v2/models/FleetDeploymentConfigureCreateRequest.ts rename to services/fleet_automation/src/v2/models/FleetDeploymentV2CancelResponse.ts index 630f36f9ff6c..cea93ae481ad 100644 --- a/services/fleet_automation/src/v2/models/FleetDeploymentConfigureCreateRequest.ts +++ b/services/fleet_automation/src/v2/models/FleetDeploymentV2CancelResponse.ts @@ -1,15 +1,15 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetDeploymentConfigureCreate } from "./FleetDeploymentConfigureCreate"; +import { FleetDeploymentV2Cancel } from "./FleetDeploymentV2Cancel"; /** - * Request payload for creating a new configuration deployment. + * Response containing the result of a deployment cancellation request. */ -export class FleetDeploymentConfigureCreateRequest { +export class FleetDeploymentV2CancelResponse { /** - * Data for creating a new configuration deployment. + * A deployment cancellation response. */ - "data": FleetDeploymentConfigureCreate; + "data": FleetDeploymentV2Cancel; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -27,7 +27,7 @@ export class FleetDeploymentConfigureCreateRequest { static readonly attributeTypeMap: AttributeTypeMap = { data: { baseName: "data", - type: "FleetDeploymentConfigureCreate", + type: "FleetDeploymentV2Cancel", required: true, }, additionalProperties: { @@ -40,7 +40,7 @@ export class FleetDeploymentConfigureCreateRequest { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetDeploymentConfigureCreateRequest.attributeTypeMap; + return FleetDeploymentV2CancelResponse.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetAgentVersionsResponse.ts b/services/fleet_automation/src/v2/models/FleetDeploymentV2CreateResponse.ts similarity index 69% rename from services/fleet_automation/src/v2/models/FleetAgentVersionsResponse.ts rename to services/fleet_automation/src/v2/models/FleetDeploymentV2CreateResponse.ts index 9b3171fff613..fc2ab5c0e9bd 100644 --- a/services/fleet_automation/src/v2/models/FleetAgentVersionsResponse.ts +++ b/services/fleet_automation/src/v2/models/FleetDeploymentV2CreateResponse.ts @@ -1,15 +1,15 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetAgentVersion } from "./FleetAgentVersion"; +import { FleetDeploymentV2 } from "./FleetDeploymentV2"; /** - * Response containing a list of available Agent versions. + * Response containing the newly created deployment. */ -export class FleetAgentVersionsResponse { +export class FleetDeploymentV2CreateResponse { /** - * Array of available Agent versions. + * A deployment in the v2 API response. */ - "data": Array; + "data": FleetDeploymentV2; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -27,7 +27,7 @@ export class FleetAgentVersionsResponse { static readonly attributeTypeMap: AttributeTypeMap = { data: { baseName: "data", - type: "Array", + type: "FleetDeploymentV2", required: true, }, additionalProperties: { @@ -40,7 +40,7 @@ export class FleetAgentVersionsResponse { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetAgentVersionsResponse.attributeTypeMap; + return FleetDeploymentV2CreateResponse.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentV2Detail.ts b/services/fleet_automation/src/v2/models/FleetDeploymentV2Detail.ts new file mode 100644 index 000000000000..ae78e04c0532 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentV2Detail.ts @@ -0,0 +1,66 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetDeploymentResourceType } from "./FleetDeploymentResourceType"; +import { FleetDeploymentV2DetailAttributes } from "./FleetDeploymentV2DetailAttributes"; + +/** + * Detailed information about a deployment. + */ +export class FleetDeploymentV2Detail { + /** + * Attributes of a deployment detail response. + */ + "attributes": FleetDeploymentV2DetailAttributes; + /** + * Unique identifier for the deployment. + */ + "id": string; + /** + * The type of deployment resource. + */ + "type": FleetDeploymentResourceType; + /** + * 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: "FleetDeploymentV2DetailAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "FleetDeploymentResourceType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentV2Detail.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentV2DetailAgent.ts b/services/fleet_automation/src/v2/models/FleetDeploymentV2DetailAgent.ts new file mode 100644 index 000000000000..1ef63b249cf1 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentV2DetailAgent.ts @@ -0,0 +1,86 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetDeploymentHostPackage } from "./FleetDeploymentHostPackage"; + +/** + * Per-host status entry for a deployment. + */ +export class FleetDeploymentV2DetailAgent { + /** + * Error message if the deployment failed on this host. + */ + "error"?: string; + /** + * Hostname of the agent. + */ + "hostname"?: string; + /** + * Name of the step currently executing on this host. + */ + "runningStep"?: string; + /** + * Deployment status for this host (for example, "pending", "running", "succeeded", "failed"). + */ + "status"?: string; + /** + * Additional details about the current deployment status on this host. + */ + "statusDetails"?: string; + /** + * Package version details for this host. + */ + "versions"?: 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 = { + error: { + baseName: "error", + type: "string", + }, + hostname: { + baseName: "hostname", + type: "string", + }, + runningStep: { + baseName: "running_step", + type: "string", + }, + status: { + baseName: "status", + type: "string", + }, + statusDetails: { + baseName: "status_details", + type: "string", + }, + versions: { + baseName: "versions", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentV2DetailAgent.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentV2DetailAttributes.ts b/services/fleet_automation/src/v2/models/FleetDeploymentV2DetailAttributes.ts new file mode 100644 index 000000000000..329756b1dbb0 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentV2DetailAttributes.ts @@ -0,0 +1,195 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetDeploymentOperation } from "./FleetDeploymentOperation"; +import { FleetDeploymentV2DetailAgent } from "./FleetDeploymentV2DetailAgent"; + +/** + * Attributes of a deployment detail response. + */ +export class FleetDeploymentV2DetailAttributes { + /** + * Handle of the user who triggered the deployment. + */ + "author"?: string; + /** + * Number of hosts on which the deployment was canceled. + */ + "canceledHosts"?: number; + /** + * Ordered list of configuration file operations applied by this deployment. + * Absent for package deployments, which have no configuration file operations. + */ + "configOperations"?: Array; + /** + * Duration of the deployment in seconds, computed as `finished_at - started_at`. + * Zero if the deployment has not finished. + */ + "durationSeconds"?: number; + /** + * Top-level error message for the deployment. Populated only when the deployment has failed. + */ + "errorSummary"?: string; + /** + * Estimated completion time of the deployment as a Unix timestamp. Zero if not available. + */ + "estimatedFinishedAt"?: number; + /** + * Number of hosts on which the deployment failed. + */ + "failedHosts"?: number; + /** + * Current high-level status of the deployment (for example, "pending", "running", + * "completed", "failed"). + */ + "highLevelStatus"?: string; + /** + * Per-host status list for this deployment. + */ + "hosts"?: Array; + /** + * Whether this deployment was triggered by a schedule (`schedule_id` is non-empty). + */ + "isScheduled"?: boolean; + /** + * Query used to filter and select target hosts for the deployment. + */ + "query"?: string; + /** + * Number of hosts on which the deployment is currently running. + */ + "runningHosts"?: number; + /** + * Identifier of the schedule that triggered this deployment. Empty if triggered manually. + */ + "scheduleId"?: string; + /** + * Number of hosts that were skipped during the deployment. + */ + "skippedHosts"?: number; + /** + * Number of hosts on which the deployment succeeded. + */ + "succeededHosts"?: number; + /** + * Distinct package versions targeted by this deployment, in first-seen order. + */ + "targetVersions"?: Array; + /** + * Total number of hosts targeted by this deployment. + */ + "totalHosts"?: number; + /** + * Type of update operation performed by this deployment + * (for example, "update_config_operations", "update_package"). + */ + "updateType"?: 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 = { + author: { + baseName: "author", + type: "string", + }, + canceledHosts: { + baseName: "canceled_hosts", + type: "number", + format: "int64", + }, + configOperations: { + baseName: "config_operations", + type: "Array", + }, + durationSeconds: { + baseName: "duration_seconds", + type: "number", + format: "int64", + }, + errorSummary: { + baseName: "error_summary", + type: "string", + }, + estimatedFinishedAt: { + baseName: "estimated_finished_at", + type: "number", + format: "int64", + }, + failedHosts: { + baseName: "failed_hosts", + type: "number", + format: "int64", + }, + highLevelStatus: { + baseName: "high_level_status", + type: "string", + }, + hosts: { + baseName: "hosts", + type: "Array", + }, + isScheduled: { + baseName: "is_scheduled", + type: "boolean", + }, + query: { + baseName: "query", + type: "string", + }, + runningHosts: { + baseName: "running_hosts", + type: "number", + format: "int64", + }, + scheduleId: { + baseName: "schedule_id", + type: "string", + }, + skippedHosts: { + baseName: "skipped_hosts", + type: "number", + format: "int64", + }, + succeededHosts: { + baseName: "succeeded_hosts", + type: "number", + format: "int64", + }, + targetVersions: { + baseName: "target_versions", + type: "Array", + }, + totalHosts: { + baseName: "total_hosts", + type: "number", + format: "int64", + }, + updateType: { + baseName: "update_type", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentV2DetailAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentV2DetailResponse.ts b/services/fleet_automation/src/v2/models/FleetDeploymentV2DetailResponse.ts new file mode 100644 index 000000000000..d174197608c3 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentV2DetailResponse.ts @@ -0,0 +1,47 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetDeploymentV2Detail } from "./FleetDeploymentV2Detail"; + +/** + * Response containing detailed information about a single deployment. + */ +export class FleetDeploymentV2DetailResponse { + /** + * Detailed information about a deployment. + */ + "data": FleetDeploymentV2Detail; + /** + * 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: "FleetDeploymentV2Detail", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentV2DetailResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentsV2Page.ts b/services/fleet_automation/src/v2/models/FleetDeploymentsV2Page.ts new file mode 100644 index 000000000000..5abddd1bd7cc --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentsV2Page.ts @@ -0,0 +1,54 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +/** + * Pagination details for the v2 list of deployments. + */ +export class FleetDeploymentsV2Page { + /** + * Total number of deployments available across all pages. + */ + "totalCount"?: number; + /** + * Total number of deployments matching the current filter query. + */ + "totalFilteredCount"?: 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 = { + totalCount: { + baseName: "total_count", + type: "number", + format: "int64", + }, + totalFilteredCount: { + baseName: "total_filtered_count", + type: "number", + format: "int64", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentsV2Page.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentsResponse.ts b/services/fleet_automation/src/v2/models/FleetDeploymentsV2Response.ts similarity index 65% rename from services/fleet_automation/src/v2/models/FleetDeploymentsResponse.ts rename to services/fleet_automation/src/v2/models/FleetDeploymentsV2Response.ts index 69991fc161bd..1a402cb3c755 100644 --- a/services/fleet_automation/src/v2/models/FleetDeploymentsResponse.ts +++ b/services/fleet_automation/src/v2/models/FleetDeploymentsV2Response.ts @@ -1,20 +1,20 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetDeployment } from "./FleetDeployment"; -import { FleetDeploymentsResponseMeta } from "./FleetDeploymentsResponseMeta"; +import { FleetDeploymentsV2ResponseMeta } from "./FleetDeploymentsV2ResponseMeta"; +import { FleetDeploymentV2 } from "./FleetDeploymentV2"; /** * Response containing a paginated list of deployments. */ -export class FleetDeploymentsResponse { +export class FleetDeploymentsV2Response { /** * Array of deployments matching the query criteria. */ - "data": Array; + "data": Array; /** - * Metadata for the list of deployments, including pagination information. + * Metadata for the v2 list of deployments, including pagination information. */ - "meta"?: FleetDeploymentsResponseMeta; + "meta"?: FleetDeploymentsV2ResponseMeta; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -32,12 +32,12 @@ export class FleetDeploymentsResponse { static readonly attributeTypeMap: AttributeTypeMap = { data: { baseName: "data", - type: "Array", + type: "Array", required: true, }, meta: { baseName: "meta", - type: "FleetDeploymentsResponseMeta", + type: "FleetDeploymentsV2ResponseMeta", }, additionalProperties: { baseName: "additionalProperties", @@ -49,7 +49,7 @@ export class FleetDeploymentsResponse { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetDeploymentsResponse.attributeTypeMap; + return FleetDeploymentsV2Response.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetDeploymentsV2ResponseMeta.ts b/services/fleet_automation/src/v2/models/FleetDeploymentsV2ResponseMeta.ts new file mode 100644 index 000000000000..e54861e1f1af --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetDeploymentsV2ResponseMeta.ts @@ -0,0 +1,46 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetDeploymentsV2Page } from "./FleetDeploymentsV2Page"; + +/** + * Metadata for the v2 list of deployments, including pagination information. + */ +export class FleetDeploymentsV2ResponseMeta { + /** + * Pagination details for the v2 list of deployments. + */ + "page"?: FleetDeploymentsV2Page; + /** + * 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 = { + page: { + baseName: "page", + type: "FleetDeploymentsV2Page", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetDeploymentsV2ResponseMeta.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetIntegrationDetails.ts b/services/fleet_automation/src/v2/models/FleetIntegrationDetailsV2.ts similarity index 76% rename from services/fleet_automation/src/v2/models/FleetIntegrationDetails.ts rename to services/fleet_automation/src/v2/models/FleetIntegrationDetailsV2.ts index 398e289dfe63..cc6f53e82879 100644 --- a/services/fleet_automation/src/v2/models/FleetIntegrationDetails.ts +++ b/services/fleet_automation/src/v2/models/FleetIntegrationDetailsV2.ts @@ -3,9 +3,9 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; /** * Detailed information about a single integration. */ -export class FleetIntegrationDetails { +export class FleetIntegrationDetailsV2 { /** - * Type of data collected (metrics, logs). + * Type of data collected, such as metrics or logs. */ "dataType"?: string; /** @@ -24,6 +24,14 @@ export class FleetIntegrationDetails { * Whether this is a custom integration. */ "isCustomCheck"?: boolean; + /** + * Whether this is a default integration instance. + */ + "isDefault"?: boolean; + /** + * Whether this integration configuration is an init config. + */ + "isInit"?: boolean; /** * Log collection configuration (YAML format). */ @@ -32,6 +40,10 @@ export class FleetIntegrationDetails { * Name of the integration instance. */ "name"?: string; + /** + * Number of pods running this integration. Absent from the response when the count is zero. + */ + "podCount"?: number; /** * Index in the configuration file. */ @@ -79,6 +91,14 @@ export class FleetIntegrationDetails { baseName: "is_custom_check", type: "boolean", }, + isDefault: { + baseName: "is_default", + type: "boolean", + }, + isInit: { + baseName: "is_init", + type: "boolean", + }, logConfig: { baseName: "log_config", type: "string", @@ -87,6 +107,11 @@ export class FleetIntegrationDetails { baseName: "name", type: "string", }, + podCount: { + baseName: "pod_count", + type: "number", + format: "int64", + }, sourceIndex: { baseName: "source_index", type: "number", @@ -110,7 +135,7 @@ export class FleetIntegrationDetails { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetIntegrationDetails.attributeTypeMap; + return FleetIntegrationDetailsV2.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetIntegrationsByStatus.ts b/services/fleet_automation/src/v2/models/FleetIntegrationsByStatusV2.ts similarity index 61% rename from services/fleet_automation/src/v2/models/FleetIntegrationsByStatus.ts rename to services/fleet_automation/src/v2/models/FleetIntegrationsByStatusV2.ts index 03dde79d8a5d..a4bacc3227bd 100644 --- a/services/fleet_automation/src/v2/models/FleetIntegrationsByStatus.ts +++ b/services/fleet_automation/src/v2/models/FleetIntegrationsByStatusV2.ts @@ -1,17 +1,21 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetConfigurationFile } from "./FleetConfigurationFile"; +import { FleetConfigurationFileV2 } from "./FleetConfigurationFileV2"; import { FleetDetectedIntegration } from "./FleetDetectedIntegration"; -import { FleetIntegrationDetails } from "./FleetIntegrationDetails"; +import { FleetIntegrationDetailsV2 } from "./FleetIntegrationDetailsV2"; /** * Integrations organized by their status. */ -export class FleetIntegrationsByStatus { +export class FleetIntegrationsByStatusV2 { + /** + * The Kubernetes cluster name, if the agent runs in a cluster. + */ + "clusterName"?: string; /** * Configuration files for integrations. */ - "configurationFiles"?: Array; + "configurationFiles"?: Array; /** * The unique agent key identifier. */ @@ -19,7 +23,11 @@ export class FleetIntegrationsByStatus { /** * Integrations with errors. */ - "errorIntegrations"?: Array; + "errorIntegrations"?: Array; + /** + * The Kubernetes cluster key, if the agent runs in a cluster. + */ + "k8sClusterKey"?: string; /** * Detected but not configured integrations. */ @@ -27,11 +35,11 @@ export class FleetIntegrationsByStatus { /** * Integrations with warnings. */ - "warningIntegrations"?: Array; + "warningIntegrations"?: Array; /** * Integrations that are working correctly. */ - "workingIntegrations"?: Array; + "workingIntegrations"?: Array; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -47,9 +55,13 @@ export class FleetIntegrationsByStatus { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + clusterName: { + baseName: "cluster_name", + type: "string", + }, configurationFiles: { baseName: "configuration_files", - type: "Array", + type: "Array", }, datadogAgentKey: { baseName: "datadog_agent_key", @@ -57,7 +69,11 @@ export class FleetIntegrationsByStatus { }, errorIntegrations: { baseName: "error_integrations", - type: "Array", + type: "Array", + }, + k8sClusterKey: { + baseName: "k8s_cluster_key", + type: "string", }, missingIntegrations: { baseName: "missing_integrations", @@ -65,11 +81,11 @@ export class FleetIntegrationsByStatus { }, warningIntegrations: { baseName: "warning_integrations", - type: "Array", + type: "Array", }, workingIntegrations: { baseName: "working_integrations", - type: "Array", + type: "Array", }, additionalProperties: { baseName: "additionalProperties", @@ -81,7 +97,7 @@ export class FleetIntegrationsByStatus { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetIntegrationsByStatus.attributeTypeMap; + return FleetIntegrationsByStatusV2.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetOtelCollectorConfigurationV2.ts b/services/fleet_automation/src/v2/models/FleetOtelCollectorConfigurationV2.ts new file mode 100644 index 000000000000..ed2b5522976f --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetOtelCollectorConfigurationV2.ts @@ -0,0 +1,60 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +/** + * Configuration for a single OpenTelemetry collector associated with the agent. + */ +export class FleetOtelCollectorConfigurationV2 { + /** + * The unique identifier of the OpenTelemetry collector. + */ + "collectorId"?: string; + /** + * The final compiled configuration of the OpenTelemetry collector. + */ + "compiledConfiguration"?: string; + /** + * The distribution of the OpenTelemetry collector. + */ + "distribution"?: 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 = { + collectorId: { + baseName: "collector_id", + type: "string", + }, + compiledConfiguration: { + baseName: "compiled_configuration", + type: "string", + }, + distribution: { + baseName: "distribution", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetOtelCollectorConfigurationV2.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetScheduleV2.ts b/services/fleet_automation/src/v2/models/FleetScheduleV2.ts new file mode 100644 index 000000000000..9869a8785ca7 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetScheduleV2.ts @@ -0,0 +1,66 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetScheduleResourceType } from "./FleetScheduleResourceType"; +import { FleetScheduleV2Attributes } from "./FleetScheduleV2Attributes"; + +/** + * A fleet upgrade schedule resource in the v2 API response. + */ +export class FleetScheduleV2 { + /** + * Attributes of a fleet schedule in the v2 API response. + */ + "attributes": FleetScheduleV2Attributes; + /** + * Unique identifier for the schedule. + */ + "id": string; + /** + * The type of schedule resource. + */ + "type": FleetScheduleResourceType; + /** + * 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: "FleetScheduleV2Attributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "FleetScheduleResourceType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetScheduleV2.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetScheduleV2Attributes.ts b/services/fleet_automation/src/v2/models/FleetScheduleV2Attributes.ts new file mode 100644 index 000000000000..ab571fdf480f --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetScheduleV2Attributes.ts @@ -0,0 +1,147 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetScheduleStatus } from "./FleetScheduleStatus"; +import { FleetScheduleV2NotificationRule } from "./FleetScheduleV2NotificationRule"; +import { FleetScheduleV2RecurrenceRule } from "./FleetScheduleV2RecurrenceRule"; + +/** + * Attributes of a fleet schedule in the v2 API response. + */ +export class FleetScheduleV2Attributes { + /** + * RFC3339 timestamp when the schedule was created. + */ + "createdAt"?: string; + /** + * User handle of the person who created the schedule. + */ + "createdBy"?: string; + /** + * Whether this is the default schedule for the organization. + */ + "isDefault"?: boolean; + /** + * Human-readable name for the schedule. + */ + "name"?: string; + /** + * RFC3339 timestamp of the next scheduled maintenance window start time. + * Absent when the next run time cannot be computed. + */ + "nextRun"?: string; + /** + * Notification configuration attached to a schedule. + * + * Included when available. If the notification rule cannot be retrieved, this field is + * omitted and the schedule is still returned. If the notification rule is retrieved but its + * handles cannot be resolved, it is still included with an empty `handles` array. + */ + "notificationRule"?: FleetScheduleV2NotificationRule; + /** + * Query used to filter and select target hosts for scheduled deployments. + */ + "query"?: string; + /** + * Defines the recurrence pattern for the schedule. + */ + "rule"?: FleetScheduleV2RecurrenceRule; + /** + * The status of the schedule. + * - `active`: The schedule is active and will create deployments according to its recurrence rule. + * - `inactive`: The schedule is inactive and will not create any deployments. + */ + "status"?: FleetScheduleStatus; + /** + * RFC3339 timestamp when the schedule was last updated. + */ + "updatedAt"?: string; + /** + * User handle of the person who last updated the schedule. + */ + "updatedBy"?: string; + /** + * Number of major versions behind the latest to target for upgrades. + * - 0: Always upgrade to the latest version. + * - 1: Upgrade to latest minus 1 major version. + * - 2: Upgrade to latest minus 2 major versions. + */ + "versionToLatest"?: 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 = { + createdAt: { + baseName: "created_at", + type: "string", + }, + createdBy: { + baseName: "created_by", + type: "string", + }, + isDefault: { + baseName: "is_default", + type: "boolean", + }, + name: { + baseName: "name", + type: "string", + }, + nextRun: { + baseName: "next_run", + type: "string", + }, + notificationRule: { + baseName: "notification_rule", + type: "FleetScheduleV2NotificationRule", + }, + query: { + baseName: "query", + type: "string", + }, + rule: { + baseName: "rule", + type: "FleetScheduleV2RecurrenceRule", + }, + status: { + baseName: "status", + type: "FleetScheduleStatus", + }, + updatedAt: { + baseName: "updated_at", + type: "string", + }, + updatedBy: { + baseName: "updated_by", + type: "string", + }, + versionToLatest: { + baseName: "version_to_latest", + type: "number", + format: "int64", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetScheduleV2Attributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetScheduleV2NotificationRule.ts b/services/fleet_automation/src/v2/models/FleetScheduleV2NotificationRule.ts new file mode 100644 index 000000000000..4800403e6a2f --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetScheduleV2NotificationRule.ts @@ -0,0 +1,56 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +/** + * Notification configuration attached to a schedule. + * + * Included when available. If the notification rule cannot be retrieved, this field is + * omitted and the schedule is still returned. If the notification rule is retrieved but its + * handles cannot be resolved, it is still included with an empty `handles` array. + */ +export class FleetScheduleV2NotificationRule { + /** + * Notification handles (for example, Slack channels or PagerDuty integrations). + */ + "handles"?: Array; + /** + * Tags associated with the notification rule. + */ + "tags"?: 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 = { + handles: { + baseName: "handles", + type: "Array", + }, + tags: { + baseName: "tags", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetScheduleV2NotificationRule.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetScheduleV2RecurrenceRule.ts b/services/fleet_automation/src/v2/models/FleetScheduleV2RecurrenceRule.ts new file mode 100644 index 000000000000..dbd5d490deb3 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetScheduleV2RecurrenceRule.ts @@ -0,0 +1,81 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +/** + * Defines the recurrence pattern for the schedule. + */ +export class FleetScheduleV2RecurrenceRule { + /** + * Days of the week when the schedule triggers. Valid values are + * "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun". + */ + "daysOfWeek"?: Array; + /** + * Interval between schedule runs in weeks. 1 means the schedule runs every week + * on the specified days. Higher values repeat every N weeks. + */ + "interval"?: number; + /** + * Duration of the maintenance window in minutes. + */ + "maintenanceWindowDuration"?: number; + /** + * Start time of the maintenance window in 24-hour clock format (HH:MM). + * Deployments are triggered at this time on the specified days. + */ + "startMaintenanceWindow"?: string; + /** + * Timezone in IANA Time Zone Database format. + */ + "timezone"?: 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 = { + daysOfWeek: { + baseName: "days_of_week", + type: "Array", + }, + interval: { + baseName: "interval", + type: "number", + format: "int64", + }, + maintenanceWindowDuration: { + baseName: "maintenance_window_duration", + type: "number", + format: "int64", + }, + startMaintenanceWindow: { + baseName: "start_maintenance_window", + type: "string", + }, + timezone: { + baseName: "timezone", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetScheduleV2RecurrenceRule.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetSchedulesResponse.ts b/services/fleet_automation/src/v2/models/FleetScheduleV2Response.ts similarity index 70% rename from services/fleet_automation/src/v2/models/FleetSchedulesResponse.ts rename to services/fleet_automation/src/v2/models/FleetScheduleV2Response.ts index c4e0c8c0de66..2c4c4e1bab99 100644 --- a/services/fleet_automation/src/v2/models/FleetSchedulesResponse.ts +++ b/services/fleet_automation/src/v2/models/FleetScheduleV2Response.ts @@ -1,15 +1,15 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { FleetSchedule } from "./FleetSchedule"; +import { FleetScheduleV2 } from "./FleetScheduleV2"; /** - * Response containing a list of schedules. + * Response containing a single fleet schedule. */ -export class FleetSchedulesResponse { +export class FleetScheduleV2Response { /** - * Array of schedules. + * A fleet upgrade schedule resource in the v2 API response. */ - "data": Array; + "data": FleetScheduleV2; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -27,7 +27,7 @@ export class FleetSchedulesResponse { static readonly attributeTypeMap: AttributeTypeMap = { data: { baseName: "data", - type: "Array", + type: "FleetScheduleV2", required: true, }, additionalProperties: { @@ -40,7 +40,7 @@ export class FleetSchedulesResponse { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetSchedulesResponse.attributeTypeMap; + return FleetScheduleV2Response.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetAgentsResponseMeta.ts b/services/fleet_automation/src/v2/models/FleetSchedulesV2Page.ts similarity index 70% rename from services/fleet_automation/src/v2/models/FleetAgentsResponseMeta.ts rename to services/fleet_automation/src/v2/models/FleetSchedulesV2Page.ts index 9ea9dc2327ac..ac4d9aa6999b 100644 --- a/services/fleet_automation/src/v2/models/FleetAgentsResponseMeta.ts +++ b/services/fleet_automation/src/v2/models/FleetSchedulesV2Page.ts @@ -1,13 +1,13 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; /** - * Metadata for the list of agents response. + * Pagination details for the v2 list of schedules. */ -export class FleetAgentsResponseMeta { +export class FleetSchedulesV2Page { /** - * Total number of agents matching the filter criteria across all pages. + * Total number of schedules returned. */ - "totalFilteredCount"?: number; + "totalCount"?: number; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -23,8 +23,8 @@ export class FleetAgentsResponseMeta { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { - totalFilteredCount: { - baseName: "total_filtered_count", + totalCount: { + baseName: "total_count", type: "number", format: "int64", }, @@ -38,7 +38,7 @@ export class FleetAgentsResponseMeta { * @ignore */ static getAttributeTypeMap(): AttributeTypeMap { - return FleetAgentsResponseMeta.attributeTypeMap; + return FleetSchedulesV2Page.attributeTypeMap; } public constructor() {} diff --git a/services/fleet_automation/src/v2/models/FleetSchedulesV2Response.ts b/services/fleet_automation/src/v2/models/FleetSchedulesV2Response.ts new file mode 100644 index 000000000000..2425284280a7 --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetSchedulesV2Response.ts @@ -0,0 +1,56 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetSchedulesV2ResponseMeta } from "./FleetSchedulesV2ResponseMeta"; +import { FleetScheduleV2 } from "./FleetScheduleV2"; + +/** + * Response containing a list of fleet schedules. + */ +export class FleetSchedulesV2Response { + /** + * Array of schedules for the organization. + */ + "data": Array; + /** + * Metadata for the v2 list of schedules response. + */ + "meta"?: FleetSchedulesV2ResponseMeta; + /** + * 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, + }, + meta: { + baseName: "meta", + type: "FleetSchedulesV2ResponseMeta", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetSchedulesV2Response.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/FleetSchedulesV2ResponseMeta.ts b/services/fleet_automation/src/v2/models/FleetSchedulesV2ResponseMeta.ts new file mode 100644 index 000000000000..1de700d58ffa --- /dev/null +++ b/services/fleet_automation/src/v2/models/FleetSchedulesV2ResponseMeta.ts @@ -0,0 +1,46 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { FleetSchedulesV2Page } from "./FleetSchedulesV2Page"; + +/** + * Metadata for the v2 list of schedules response. + */ +export class FleetSchedulesV2ResponseMeta { + /** + * Pagination details for the v2 list of schedules. + */ + "page"?: FleetSchedulesV2Page; + /** + * 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 = { + page: { + baseName: "page", + type: "FleetSchedulesV2Page", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FleetSchedulesV2ResponseMeta.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/fleet_automation/src/v2/models/TypingInfo.ts b/services/fleet_automation/src/v2/models/TypingInfo.ts index 0fa2445c6785..4892ecc42c64 100644 --- a/services/fleet_automation/src/v2/models/TypingInfo.ts +++ b/services/fleet_automation/src/v2/models/TypingInfo.ts @@ -1,42 +1,61 @@ import { ModelTypingInfo } from "@datadog/datadog-api-client"; import { APIErrorResponse } from "./APIErrorResponse"; -import { FleetAgentAttributes } from "./FleetAgentAttributes"; import { FleetAgentAttributesTagsItems } from "./FleetAgentAttributesTagsItems"; -import { FleetAgentInfo } from "./FleetAgentInfo"; -import { FleetAgentInfoAttributes } from "./FleetAgentInfoAttributes"; -import { FleetAgentInfoDetails } from "./FleetAgentInfoDetails"; -import { FleetAgentInfoResponse } from "./FleetAgentInfoResponse"; -import { FleetAgentVersion } from "./FleetAgentVersion"; -import { FleetAgentVersionAttributes } from "./FleetAgentVersionAttributes"; -import { FleetAgentVersionsResponse } from "./FleetAgentVersionsResponse"; -import { FleetAgentsResponse } from "./FleetAgentsResponse"; -import { FleetAgentsResponseData } from "./FleetAgentsResponseData"; -import { FleetAgentsResponseDataAttributes } from "./FleetAgentsResponseDataAttributes"; -import { FleetAgentsResponseMeta } from "./FleetAgentsResponseMeta"; -import { FleetConfigurationFile } from "./FleetConfigurationFile"; +import { FleetAgentConfigurationFilesV2 } from "./FleetAgentConfigurationFilesV2"; +import { FleetAgentDetailV2 } from "./FleetAgentDetailV2"; +import { FleetAgentDetailV2Attributes } from "./FleetAgentDetailV2Attributes"; +import { FleetAgentDetailV2Response } from "./FleetAgentDetailV2Response"; +import { FleetAgentInfoDetailsV2 } from "./FleetAgentInfoDetailsV2"; +import { FleetAgentV2 } from "./FleetAgentV2"; +import { FleetAgentV2Attributes } from "./FleetAgentV2Attributes"; +import { FleetAgentVersionV2 } from "./FleetAgentVersionV2"; +import { FleetAgentVersionV2Attributes } from "./FleetAgentVersionV2Attributes"; +import { FleetAgentVersionsV2Page } from "./FleetAgentVersionsV2Page"; +import { FleetAgentVersionsV2Response } from "./FleetAgentVersionsV2Response"; +import { FleetAgentVersionsV2ResponseMeta } from "./FleetAgentVersionsV2ResponseMeta"; +import { FleetAgentsV2Page } from "./FleetAgentsV2Page"; +import { FleetAgentsV2Response } from "./FleetAgentsV2Response"; +import { FleetAgentsV2ResponseMeta } from "./FleetAgentsV2ResponseMeta"; +import { FleetConfigurationFileV2 } from "./FleetConfigurationFileV2"; import { FleetConfigurationLayer } from "./FleetConfigurationLayer"; import { FleetDeployment } from "./FleetDeployment"; import { FleetDeploymentAttributes } from "./FleetDeploymentAttributes"; -import { FleetDeploymentConfigureAttributes } from "./FleetDeploymentConfigureAttributes"; -import { FleetDeploymentConfigureCreate } from "./FleetDeploymentConfigureCreate"; -import { FleetDeploymentConfigureCreateRequest } from "./FleetDeploymentConfigureCreateRequest"; +import { FleetDeploymentConfigureV2Attributes } from "./FleetDeploymentConfigureV2Attributes"; +import { FleetDeploymentConfigureV2Create } from "./FleetDeploymentConfigureV2Create"; +import { FleetDeploymentConfigureV2CreateRequest } from "./FleetDeploymentConfigureV2CreateRequest"; +import { FleetDeploymentConfigureV2DryRun } from "./FleetDeploymentConfigureV2DryRun"; +import { FleetDeploymentConfigureV2DryRunAttributes } from "./FleetDeploymentConfigureV2DryRunAttributes"; +import { FleetDeploymentConfigureV2DryRunResponse } from "./FleetDeploymentConfigureV2DryRunResponse"; +import { FleetDeploymentConfigureV2DryRunResult } from "./FleetDeploymentConfigureV2DryRunResult"; +import { FleetDeploymentConfigureV2Package } from "./FleetDeploymentConfigureV2Package"; import { FleetDeploymentHost } from "./FleetDeploymentHost"; import { FleetDeploymentHostPackage } from "./FleetDeploymentHostPackage"; import { FleetDeploymentHostsPage } from "./FleetDeploymentHostsPage"; import { FleetDeploymentOperation } from "./FleetDeploymentOperation"; import { FleetDeploymentPackage } from "./FleetDeploymentPackage"; -import { FleetDeploymentPackageUpgradeAttributes } from "./FleetDeploymentPackageUpgradeAttributes"; -import { FleetDeploymentPackageUpgradeCreate } from "./FleetDeploymentPackageUpgradeCreate"; -import { FleetDeploymentPackageUpgradeCreateRequest } from "./FleetDeploymentPackageUpgradeCreateRequest"; +import { FleetDeploymentPackageUpgradeV2Attributes } from "./FleetDeploymentPackageUpgradeV2Attributes"; +import { FleetDeploymentPackageUpgradeV2Create } from "./FleetDeploymentPackageUpgradeV2Create"; +import { FleetDeploymentPackageUpgradeV2CreateRequest } from "./FleetDeploymentPackageUpgradeV2CreateRequest"; import { FleetDeploymentResponse } from "./FleetDeploymentResponse"; import { FleetDeploymentResponseMeta } from "./FleetDeploymentResponseMeta"; -import { FleetDeploymentsPage } from "./FleetDeploymentsPage"; -import { FleetDeploymentsResponse } from "./FleetDeploymentsResponse"; -import { FleetDeploymentsResponseMeta } from "./FleetDeploymentsResponseMeta"; +import { FleetDeploymentV2 } from "./FleetDeploymentV2"; +import { FleetDeploymentV2Attributes } from "./FleetDeploymentV2Attributes"; +import { FleetDeploymentV2Cancel } from "./FleetDeploymentV2Cancel"; +import { FleetDeploymentV2CancelAttributes } from "./FleetDeploymentV2CancelAttributes"; +import { FleetDeploymentV2CancelResponse } from "./FleetDeploymentV2CancelResponse"; +import { FleetDeploymentV2CreateResponse } from "./FleetDeploymentV2CreateResponse"; +import { FleetDeploymentV2Detail } from "./FleetDeploymentV2Detail"; +import { FleetDeploymentV2DetailAgent } from "./FleetDeploymentV2DetailAgent"; +import { FleetDeploymentV2DetailAttributes } from "./FleetDeploymentV2DetailAttributes"; +import { FleetDeploymentV2DetailResponse } from "./FleetDeploymentV2DetailResponse"; +import { FleetDeploymentsV2Page } from "./FleetDeploymentsV2Page"; +import { FleetDeploymentsV2Response } from "./FleetDeploymentsV2Response"; +import { FleetDeploymentsV2ResponseMeta } from "./FleetDeploymentsV2ResponseMeta"; import { FleetDetectedIntegration } from "./FleetDetectedIntegration"; -import { FleetIntegrationDetails } from "./FleetIntegrationDetails"; -import { FleetIntegrationsByStatus } from "./FleetIntegrationsByStatus"; +import { FleetIntegrationDetailsV2 } from "./FleetIntegrationDetailsV2"; +import { FleetIntegrationsByStatusV2 } from "./FleetIntegrationsByStatusV2"; +import { FleetOtelCollectorConfigurationV2 } from "./FleetOtelCollectorConfigurationV2"; import { FleetSchedule } from "./FleetSchedule"; import { FleetScheduleAttributes } from "./FleetScheduleAttributes"; import { FleetScheduleCreate } from "./FleetScheduleCreate"; @@ -47,7 +66,14 @@ import { FleetSchedulePatchAttributes } from "./FleetSchedulePatchAttributes"; import { FleetSchedulePatchRequest } from "./FleetSchedulePatchRequest"; import { FleetScheduleRecurrenceRule } from "./FleetScheduleRecurrenceRule"; import { FleetScheduleResponse } from "./FleetScheduleResponse"; -import { FleetSchedulesResponse } from "./FleetSchedulesResponse"; +import { FleetScheduleV2 } from "./FleetScheduleV2"; +import { FleetScheduleV2Attributes } from "./FleetScheduleV2Attributes"; +import { FleetScheduleV2NotificationRule } from "./FleetScheduleV2NotificationRule"; +import { FleetScheduleV2RecurrenceRule } from "./FleetScheduleV2RecurrenceRule"; +import { FleetScheduleV2Response } from "./FleetScheduleV2Response"; +import { FleetSchedulesV2Page } from "./FleetSchedulesV2Page"; +import { FleetSchedulesV2Response } from "./FleetSchedulesV2Response"; +import { FleetSchedulesV2ResponseMeta } from "./FleetSchedulesV2ResponseMeta"; import { FleetTracerAttributes } from "./FleetTracerAttributes"; import { FleetTracersResponse } from "./FleetTracersResponse"; import { FleetTracersResponseData } from "./FleetTracersResponseData"; @@ -56,8 +82,9 @@ import { FleetTracersResponseMeta } from "./FleetTracersResponseMeta"; export const TypingInfo: ModelTypingInfo = { enumsMap: { - FleetAgentInfoResourceType: ["datadog_agent_key"], - FleetAgentVersionResourceType: ["agent_version"], + FleetAgentV2AttributesInstrumentationStatus: ["success", "failure"], + FleetAgentV2ResourceType: ["agent"], + FleetAgentVersionV2ResourceType: ["agent_version"], FleetDeploymentFileOp: ["merge-patch", "delete"], FleetDeploymentResourceType: ["deployment"], FleetScheduleResourceType: ["schedule"], @@ -66,45 +93,68 @@ export const TypingInfo: ModelTypingInfo = { oneOfMap: {}, typeMap: { APIErrorResponse: APIErrorResponse, - FleetAgentAttributes: FleetAgentAttributes, FleetAgentAttributesTagsItems: FleetAgentAttributesTagsItems, - FleetAgentInfo: FleetAgentInfo, - FleetAgentInfoAttributes: FleetAgentInfoAttributes, - FleetAgentInfoDetails: FleetAgentInfoDetails, - FleetAgentInfoResponse: FleetAgentInfoResponse, - FleetAgentVersion: FleetAgentVersion, - FleetAgentVersionAttributes: FleetAgentVersionAttributes, - FleetAgentVersionsResponse: FleetAgentVersionsResponse, - FleetAgentsResponse: FleetAgentsResponse, - FleetAgentsResponseData: FleetAgentsResponseData, - FleetAgentsResponseDataAttributes: FleetAgentsResponseDataAttributes, - FleetAgentsResponseMeta: FleetAgentsResponseMeta, - FleetConfigurationFile: FleetConfigurationFile, + FleetAgentConfigurationFilesV2: FleetAgentConfigurationFilesV2, + FleetAgentDetailV2: FleetAgentDetailV2, + FleetAgentDetailV2Attributes: FleetAgentDetailV2Attributes, + FleetAgentDetailV2Response: FleetAgentDetailV2Response, + FleetAgentInfoDetailsV2: FleetAgentInfoDetailsV2, + FleetAgentV2: FleetAgentV2, + FleetAgentV2Attributes: FleetAgentV2Attributes, + FleetAgentVersionV2: FleetAgentVersionV2, + FleetAgentVersionV2Attributes: FleetAgentVersionV2Attributes, + FleetAgentVersionsV2Page: FleetAgentVersionsV2Page, + FleetAgentVersionsV2Response: FleetAgentVersionsV2Response, + FleetAgentVersionsV2ResponseMeta: FleetAgentVersionsV2ResponseMeta, + FleetAgentsV2Page: FleetAgentsV2Page, + FleetAgentsV2Response: FleetAgentsV2Response, + FleetAgentsV2ResponseMeta: FleetAgentsV2ResponseMeta, + FleetConfigurationFileV2: FleetConfigurationFileV2, FleetConfigurationLayer: FleetConfigurationLayer, FleetDeployment: FleetDeployment, FleetDeploymentAttributes: FleetDeploymentAttributes, - FleetDeploymentConfigureAttributes: FleetDeploymentConfigureAttributes, - FleetDeploymentConfigureCreate: FleetDeploymentConfigureCreate, - FleetDeploymentConfigureCreateRequest: - FleetDeploymentConfigureCreateRequest, + FleetDeploymentConfigureV2Attributes: FleetDeploymentConfigureV2Attributes, + FleetDeploymentConfigureV2Create: FleetDeploymentConfigureV2Create, + FleetDeploymentConfigureV2CreateRequest: + FleetDeploymentConfigureV2CreateRequest, + FleetDeploymentConfigureV2DryRun: FleetDeploymentConfigureV2DryRun, + FleetDeploymentConfigureV2DryRunAttributes: + FleetDeploymentConfigureV2DryRunAttributes, + FleetDeploymentConfigureV2DryRunResponse: + FleetDeploymentConfigureV2DryRunResponse, + FleetDeploymentConfigureV2DryRunResult: + FleetDeploymentConfigureV2DryRunResult, + FleetDeploymentConfigureV2Package: FleetDeploymentConfigureV2Package, FleetDeploymentHost: FleetDeploymentHost, FleetDeploymentHostPackage: FleetDeploymentHostPackage, FleetDeploymentHostsPage: FleetDeploymentHostsPage, FleetDeploymentOperation: FleetDeploymentOperation, FleetDeploymentPackage: FleetDeploymentPackage, - FleetDeploymentPackageUpgradeAttributes: - FleetDeploymentPackageUpgradeAttributes, - FleetDeploymentPackageUpgradeCreate: FleetDeploymentPackageUpgradeCreate, - FleetDeploymentPackageUpgradeCreateRequest: - FleetDeploymentPackageUpgradeCreateRequest, + FleetDeploymentPackageUpgradeV2Attributes: + FleetDeploymentPackageUpgradeV2Attributes, + FleetDeploymentPackageUpgradeV2Create: + FleetDeploymentPackageUpgradeV2Create, + FleetDeploymentPackageUpgradeV2CreateRequest: + FleetDeploymentPackageUpgradeV2CreateRequest, FleetDeploymentResponse: FleetDeploymentResponse, FleetDeploymentResponseMeta: FleetDeploymentResponseMeta, - FleetDeploymentsPage: FleetDeploymentsPage, - FleetDeploymentsResponse: FleetDeploymentsResponse, - FleetDeploymentsResponseMeta: FleetDeploymentsResponseMeta, + FleetDeploymentV2: FleetDeploymentV2, + FleetDeploymentV2Attributes: FleetDeploymentV2Attributes, + FleetDeploymentV2Cancel: FleetDeploymentV2Cancel, + FleetDeploymentV2CancelAttributes: FleetDeploymentV2CancelAttributes, + FleetDeploymentV2CancelResponse: FleetDeploymentV2CancelResponse, + FleetDeploymentV2CreateResponse: FleetDeploymentV2CreateResponse, + FleetDeploymentV2Detail: FleetDeploymentV2Detail, + FleetDeploymentV2DetailAgent: FleetDeploymentV2DetailAgent, + FleetDeploymentV2DetailAttributes: FleetDeploymentV2DetailAttributes, + FleetDeploymentV2DetailResponse: FleetDeploymentV2DetailResponse, + FleetDeploymentsV2Page: FleetDeploymentsV2Page, + FleetDeploymentsV2Response: FleetDeploymentsV2Response, + FleetDeploymentsV2ResponseMeta: FleetDeploymentsV2ResponseMeta, FleetDetectedIntegration: FleetDetectedIntegration, - FleetIntegrationDetails: FleetIntegrationDetails, - FleetIntegrationsByStatus: FleetIntegrationsByStatus, + FleetIntegrationDetailsV2: FleetIntegrationDetailsV2, + FleetIntegrationsByStatusV2: FleetIntegrationsByStatusV2, + FleetOtelCollectorConfigurationV2: FleetOtelCollectorConfigurationV2, FleetSchedule: FleetSchedule, FleetScheduleAttributes: FleetScheduleAttributes, FleetScheduleCreate: FleetScheduleCreate, @@ -115,7 +165,14 @@ export const TypingInfo: ModelTypingInfo = { FleetSchedulePatchRequest: FleetSchedulePatchRequest, FleetScheduleRecurrenceRule: FleetScheduleRecurrenceRule, FleetScheduleResponse: FleetScheduleResponse, - FleetSchedulesResponse: FleetSchedulesResponse, + FleetScheduleV2: FleetScheduleV2, + FleetScheduleV2Attributes: FleetScheduleV2Attributes, + FleetScheduleV2NotificationRule: FleetScheduleV2NotificationRule, + FleetScheduleV2RecurrenceRule: FleetScheduleV2RecurrenceRule, + FleetScheduleV2Response: FleetScheduleV2Response, + FleetSchedulesV2Page: FleetSchedulesV2Page, + FleetSchedulesV2Response: FleetSchedulesV2Response, + FleetSchedulesV2ResponseMeta: FleetSchedulesV2ResponseMeta, FleetTracerAttributes: FleetTracerAttributes, FleetTracersResponse: FleetTracersResponse, FleetTracersResponseData: FleetTracersResponseData,