[Fleet] Update unenroll logic to account for new API key fields (#142579)

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
Josh Dover 2022-10-04 15:28:15 +02:00 committed by GitHub
parent 890bf7430c
commit f147fe8b98
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 0 deletions

View file

@ -94,7 +94,12 @@ interface AgentBase {
export interface Agent extends AgentBase {
id: string;
access_api_key?: string;
// @deprecated
default_api_key_history?: FleetServerAgent['default_api_key_history'];
outputs?: Array<{
api_key_id: string;
to_retire_api_key_ids?: FleetServerAgent['default_api_key_history'];
}>;
status?: AgentStatus;
packages: string[];
sort?: Array<number | string | null>;

View file

@ -331,6 +331,15 @@ describe('invalidateAPIKeysForAgents', () => {
id: 'defaultApiKeyHistory2',
},
],
outputs: [
{
api_key_id: 'outputApiKey1',
to_retire_api_key_ids: [{ id: 'outputApiKeyRetire1' }, { id: 'outputApiKeyRetire2' }],
},
{
api_key_id: 'outputApiKey2',
},
],
} as any,
]);
@ -340,6 +349,10 @@ describe('invalidateAPIKeysForAgents', () => {
'defaultApiKey1',
'defaultApiKeyHistory1',
'defaultApiKeyHistory2',
'outputApiKey1',
'outputApiKeyRetire1',
'outputApiKeyRetire2',
'outputApiKey2',
]);
});
});

View file

@ -215,6 +215,16 @@ export async function invalidateAPIKeysForAgents(agents: Agent[]) {
if (agent.default_api_key_history) {
agent.default_api_key_history.forEach((apiKey) => keys.push(apiKey.id));
}
if (agent.outputs) {
agent.outputs.forEach((output) => {
if (output.api_key_id) {
keys.push(output.api_key_id);
}
if (output.to_retire_api_key_ids) {
output.to_retire_api_key_ids.forEach((apiKey) => keys.push(apiKey.id));
}
});
}
return keys;
}, []);