in source/custom-resources/lib/groundTruth/workTeam.js [313:372]
async deleteResource() {
try {
const {
Workteam,
} = await this.sagemaker.describeWorkteam({
WorkteamName: this.workteamName,
}).promise();
/* delete workteam only if it exists */
if ((Workteam || {}).WorkteamArn) {
const {
Success,
} = await this.sagemaker.deleteWorkteam({
WorkteamName: this.workteamName,
}).promise();
if (!Success) {
throw new Error(`failed to delete Workteam, ${this.workteamName}`);
}
}
/* delete user group */
if ((Workteam || {}).MemberDefinitions) {
const {
UserGroup,
UserPool,
} = (Workteam.MemberDefinitions.shift() || {}).CognitoMemberDefinition || {};
/* only if the user group is created under a different cognito user pool */
if (UserGroup && UserPool && this.userPool !== UserPool) {
await this.cognito.deleteGroup({
GroupName: UserGroup,
UserPoolId: UserPool,
}).promise();
}
}
} catch (e) {
console.error(e);
}
try {
const response = await this.cognito.describeUserPoolDomain({
Domain: this.userPoolDomain,
}).promise();
/* delete domain only if it exists */
if (((response || {}).DomainDescription || {}).Domain) {
await this.cognito.deleteUserPoolDomain({
Domain: this.userPoolDomain,
UserPoolId: this.userPool,
}).promise();
}
} catch (e) {
console.error(e);
}
this.storeResponseData('Status', 'DELETED');
return this.responseData;
}