You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Manage automated deployments across your fleet of hosts. Use these
4
-
endpoints to create, retrieve, and cancel deployments that apply
5
-
configuration changes to multiple hosts at once.
3
+
Manage automated deployments across your fleet of hosts. Fleet Automation
4
+
provides two types of deployments: Configuration Deployments
5
+
(`/configure`): - Apply configuration file changes to target hosts -
6
+
Support merge-patch operations to update specific configuration fields -
7
+
Support delete operations to remove configuration files - Useful for
8
+
updating Datadog Agent settings, integration configs, and more Package
9
+
Upgrade Deployments (`/upgrade`): - Upgrade the Datadog Agent to specific
10
+
versions
6
11
7
12
Background:
8
13
Given a valid "apiKeyAuth" key in the system
@@ -34,37 +39,85 @@ Feature: Fleet Automation
34
39
Then the response status is 404 Not Found
35
40
36
41
@generated@skip@team:DataDog/fleet-automation
37
-
Scenario: Create a deployment returns "Bad Request" response
42
+
Scenario: Create a configuration deployment returns "Bad Request" response
38
43
Given operation "CreateFleetDeploymentConfigure" enabled
39
44
And new "CreateFleetDeploymentConfigure" request
40
45
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"}}
41
46
When the request is sent
42
47
Then the response status is 400 Bad Request
43
48
44
49
@generated@skip@team:DataDog/fleet-automation
45
-
Scenario: Create a deployment returns "CREATED" response
50
+
Scenario: Create a configuration deployment returns "CREATED" response
46
51
Given operation "CreateFleetDeploymentConfigure" enabled
47
52
And new "CreateFleetDeploymentConfigure" request
48
53
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"}}
49
54
When the request is sent
50
55
Then the response status is 201 CREATED
51
56
52
57
@generated@skip@team:DataDog/fleet-automation
53
-
Scenario: Get a deployment by ID returns "Bad Request" response
58
+
Scenario: Create a schedule returns "Bad Request" response
59
+
Given operation "CreateFleetSchedule" enabled
60
+
And new "CreateFleetSchedule" request
61
+
And body with value {"data": {"attributes": {"name": "Weekly Production Agent Updates", "query": "env:prod AND service:web", "rule": {"days_of_week": ["Mon", "Wed", "Fri"], "maintenance_window_duration": 1200, "start_maintenance_window": "02:00", "timezone": "America/New_York"}, "status": "active", "version_to_latest": 0}, "type": "schedule"}}
62
+
When the request is sent
63
+
Then the response status is 400 Bad Request
64
+
65
+
@generated@skip@team:DataDog/fleet-automation
66
+
Scenario: Create a schedule returns "CREATED" response
67
+
Given operation "CreateFleetSchedule" enabled
68
+
And new "CreateFleetSchedule" request
69
+
And body with value {"data": {"attributes": {"name": "Weekly Production Agent Updates", "query": "env:prod AND service:web", "rule": {"days_of_week": ["Mon", "Wed", "Fri"], "maintenance_window_duration": 1200, "start_maintenance_window": "02:00", "timezone": "America/New_York"}, "status": "active", "version_to_latest": 0}, "type": "schedule"}}
70
+
When the request is sent
71
+
Then the response status is 201 CREATED
72
+
73
+
@generated@skip@team:DataDog/fleet-automation
74
+
Scenario: Delete a schedule returns "Bad Request" response
75
+
Given operation "DeleteFleetSchedule" enabled
76
+
And new "DeleteFleetSchedule" request
77
+
And request contains "id" parameter from "REPLACE.ME"
78
+
When the request is sent
79
+
Then the response status is 400 Bad Request
80
+
81
+
@generated@skip@team:DataDog/fleet-automation
82
+
Scenario: Delete a schedule returns "Not Found" response
83
+
Given operation "DeleteFleetSchedule" enabled
84
+
And new "DeleteFleetSchedule" request
85
+
And request contains "id" parameter from "REPLACE.ME"
86
+
When the request is sent
87
+
Then the response status is 404 Not Found
88
+
89
+
@generated@skip@team:DataDog/fleet-automation
90
+
Scenario: Delete a schedule returns "Schedule successfully deleted." response
91
+
Given operation "DeleteFleetSchedule" enabled
92
+
And new "DeleteFleetSchedule" request
93
+
And request contains "id" parameter from "REPLACE.ME"
94
+
When the request is sent
95
+
Then the response status is 204 Schedule successfully deleted.
96
+
97
+
@generated@skip@team:DataDog/fleet-automation
98
+
Scenario: Get a configuration deployment by ID returns "Bad Request" response
54
99
Given operation "GetFleetDeployment" enabled
55
100
And new "GetFleetDeployment" request
56
101
And request contains "deployment_id" parameter from "REPLACE.ME"
57
102
When the request is sent
58
103
Then the response status is 400 Bad Request
59
104
60
105
@generated@skip@team:DataDog/fleet-automation
61
-
Scenario: Get a deployment by ID returns "Not Found" response
106
+
Scenario: Get a configuration deployment by ID returns "Not Found" response
62
107
Given operation "GetFleetDeployment" enabled
63
108
And new "GetFleetDeployment" request
64
109
And request contains "deployment_id" parameter from "REPLACE.ME"
65
110
When the request is sent
66
111
Then the response status is 404 Not Found
67
112
113
+
@generated@skip@team:DataDog/fleet-automation
114
+
Scenario: Get a configuration deployment by ID returns "OK" response
115
+
Given operation "GetFleetDeployment" enabled
116
+
And new "GetFleetDeployment" request
117
+
And request contains "deployment_id" parameter from "REPLACE.ME"
118
+
When the request is sent
119
+
Then the response status is 200 OK
120
+
68
121
@skip@team:DataDog/fleet-automation
69
122
Scenario: Get a deployment by ID returns "OK" response
70
123
Given operation "GetFleetDeployment" enabled
@@ -74,6 +127,52 @@ Feature: Fleet Automation
74
127
When the request is sent
75
128
Then the response status is 200 OK
76
129
130
+
@generated@skip@team:DataDog/fleet-automation
131
+
Scenario: Get a schedule by ID returns "Bad Request" response
132
+
Given operation "GetFleetSchedule" enabled
133
+
And new "GetFleetSchedule" request
134
+
And request contains "id" parameter from "REPLACE.ME"
135
+
When the request is sent
136
+
Then the response status is 400 Bad Request
137
+
138
+
@generated@skip@team:DataDog/fleet-automation
139
+
Scenario: Get a schedule by ID returns "Not Found" response
140
+
Given operation "GetFleetSchedule" enabled
141
+
And new "GetFleetSchedule" request
142
+
And request contains "id" parameter from "REPLACE.ME"
143
+
When the request is sent
144
+
Then the response status is 404 Not Found
145
+
146
+
@skip@team:DataDog/fleet-automation
147
+
Scenario: Get a schedule by ID returns "OK" response
148
+
Given operation "GetFleetSchedule" enabled
149
+
And there is a valid "fleet_schedule" in the system
150
+
And new "GetFleetSchedule" request
151
+
And request contains "id" parameter from "REPLACE.ME"
152
+
When the request is sent
153
+
Then the response status is 200 OK
154
+
155
+
@generated@skip@team:DataDog/fleet-automation
156
+
Scenario: List all available Agent versions returns "Bad Request" response
157
+
Given operation "ListFleetAgentVersions" enabled
158
+
And new "ListFleetAgentVersions" request
159
+
When the request is sent
160
+
Then the response status is 400 Bad Request
161
+
162
+
@generated@skip@team:DataDog/fleet-automation
163
+
Scenario: List all available Agent versions returns "Not Found" response
164
+
Given operation "ListFleetAgentVersions" enabled
165
+
And new "ListFleetAgentVersions" request
166
+
When the request is sent
167
+
Then the response status is 404 Not Found
168
+
169
+
@generated@skip@team:DataDog/fleet-automation
170
+
Scenario: List all available Agent versions returns "OK" response
171
+
Given operation "ListFleetAgentVersions" enabled
172
+
And new "ListFleetAgentVersions" request
173
+
When the request is sent
174
+
Then the response status is 200 OK
175
+
77
176
@generated@skip@team:DataDog/fleet-automation
78
177
Scenario: List all deployments returns "Bad Request" response
79
178
Given operation "ListFleetDeployments" enabled
@@ -87,3 +186,92 @@ Feature: Fleet Automation
87
186
And new "ListFleetDeployments" request
88
187
When the request is sent
89
188
Then the response status is 200 OK
189
+
190
+
@generated@skip@team:DataDog/fleet-automation
191
+
Scenario: List all schedules returns "Bad Request" response
192
+
Given operation "ListFleetSchedules" enabled
193
+
And new "ListFleetSchedules" request
194
+
When the request is sent
195
+
Then the response status is 400 Bad Request
196
+
197
+
@generated@skip@team:DataDog/fleet-automation
198
+
Scenario: List all schedules returns "OK" response
199
+
Given operation "ListFleetSchedules" enabled
200
+
And new "ListFleetSchedules" request
201
+
When the request is sent
202
+
Then the response status is 200 OK
203
+
204
+
@generated@skip@team:DataDog/fleet-automation
205
+
Scenario: Trigger a schedule deployment returns "Bad Request" response
206
+
Given operation "TriggerFleetSchedule" enabled
207
+
And new "TriggerFleetSchedule" request
208
+
And request contains "id" parameter from "REPLACE.ME"
209
+
When the request is sent
210
+
Then the response status is 400 Bad Request
211
+
212
+
@generated@skip@team:DataDog/fleet-automation
213
+
Scenario: Trigger a schedule deployment returns "CREATED - Deployment successfully created and started." response
214
+
Given operation "TriggerFleetSchedule" enabled
215
+
And new "TriggerFleetSchedule" request
216
+
And request contains "id" parameter from "REPLACE.ME"
217
+
When the request is sent
218
+
Then the response status is 201 CREATED - Deployment successfully created and started.
219
+
220
+
@generated@skip@team:DataDog/fleet-automation
221
+
Scenario: Trigger a schedule deployment returns "Not Found" response
222
+
Given operation "TriggerFleetSchedule" enabled
223
+
And new "TriggerFleetSchedule" request
224
+
And request contains "id" parameter from "REPLACE.ME"
225
+
When the request is sent
226
+
Then the response status is 404 Not Found
227
+
228
+
@generated@skip@team:DataDog/fleet-automation
229
+
Scenario: Update a schedule returns "Bad Request" response
230
+
Given operation "UpdateFleetSchedule" enabled
231
+
And new "UpdateFleetSchedule" request
232
+
And request contains "id" parameter from "REPLACE.ME"
233
+
And body with value {"data": {"attributes": {"name": "Weekly Production Agent Updates", "query": "env:prod AND service:web", "rule": {"days_of_week": ["Mon", "Wed", "Fri"], "maintenance_window_duration": 1200, "start_maintenance_window": "02:00", "timezone": "America/New_York"}, "status": "active", "version_to_latest": 0}, "type": "schedule"}}
234
+
When the request is sent
235
+
Then the response status is 400 Bad Request
236
+
237
+
@generated@skip@team:DataDog/fleet-automation
238
+
Scenario: Update a schedule returns "Not Found" response
239
+
Given operation "UpdateFleetSchedule" enabled
240
+
And new "UpdateFleetSchedule" request
241
+
And request contains "id" parameter from "REPLACE.ME"
242
+
And body with value {"data": {"attributes": {"name": "Weekly Production Agent Updates", "query": "env:prod AND service:web", "rule": {"days_of_week": ["Mon", "Wed", "Fri"], "maintenance_window_duration": 1200, "start_maintenance_window": "02:00", "timezone": "America/New_York"}, "status": "active", "version_to_latest": 0}, "type": "schedule"}}
243
+
When the request is sent
244
+
Then the response status is 404 Not Found
245
+
246
+
@generated@skip@team:DataDog/fleet-automation
247
+
Scenario: Update a schedule returns "OK" response
248
+
Given operation "UpdateFleetSchedule" enabled
249
+
And new "UpdateFleetSchedule" request
250
+
And request contains "id" parameter from "REPLACE.ME"
251
+
And body with value {"data": {"attributes": {"name": "Weekly Production Agent Updates", "query": "env:prod AND service:web", "rule": {"days_of_week": ["Mon", "Wed", "Fri"], "maintenance_window_duration": 1200, "start_maintenance_window": "02:00", "timezone": "America/New_York"}, "status": "active", "version_to_latest": 0}, "type": "schedule"}}
Given operation "CreateFleetDeploymentUpgrade" enabled
258
+
And new "CreateFleetDeploymentUpgrade" request
259
+
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 operation "CreateFleetDeploymentUpgrade" enabled
266
+
And new "CreateFleetDeploymentUpgrade" request
267
+
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 operation "CreateFleetDeploymentUpgrade" enabled
274
+
And new "CreateFleetDeploymentUpgrade" request
275
+
And body with value {"data": {"attributes": {"filter_query": "env:prod AND service:web", "target_packages": [{"name": "datadog-agent", "version": "7.52.0"}]}, "type": "deployment"}}
0 commit comments