in controllers/amazoncloudwatchagent_controller.go [46:118]
func (r *AmazonCloudWatchAgentReconciler) findCloudWatchAgentOwnedObjects(ctx context.Context, owner v1alpha1.AmazonCloudWatchAgent) (map[types.UID]client.Object, error) {
// Define a map to store the owned objects
ownedObjects := make(map[types.UID]client.Object)
selector := manifestutils.SelectorLabelsForAllOperatorManaged(owner.ObjectMeta)
listOps := &client.ListOptions{
Namespace: owner.Namespace,
LabelSelector: labels.SelectorFromSet(selector),
}
// Define lists for different Kubernetes resources
configMapList := &corev1.ConfigMapList{}
serviceList := &corev1.ServiceList{}
serviceAccountList := &corev1.ServiceAccountList{}
deploymentList := &appsv1.DeploymentList{}
statefulSetList := &appsv1.StatefulSetList{}
daemonSetList := &appsv1.DaemonSetList{}
var err error
// List ConfigMaps
err = r.List(ctx, configMapList, listOps)
if err != nil {
return nil, err
}
for i := range configMapList.Items {
ownedObjects[configMapList.Items[i].GetUID()] = &configMapList.Items[i]
}
// List Services
err = r.List(ctx, serviceList, listOps)
if err != nil {
return nil, err
}
for i := range serviceList.Items {
ownedObjects[serviceList.Items[i].GetUID()] = &serviceList.Items[i]
}
// List ServiceAccounts
err = r.List(ctx, serviceAccountList, listOps)
if err != nil {
return nil, err
}
for i := range serviceAccountList.Items {
ownedObjects[serviceAccountList.Items[i].GetUID()] = &serviceAccountList.Items[i]
}
// List Deployments
err = r.List(ctx, deploymentList, listOps)
if err != nil {
return nil, err
}
for i := range deploymentList.Items {
ownedObjects[deploymentList.Items[i].GetUID()] = &deploymentList.Items[i]
}
// List StatefulSets
err = r.List(ctx, statefulSetList, listOps)
if err != nil {
return nil, err
}
for i := range statefulSetList.Items {
ownedObjects[statefulSetList.Items[i].GetUID()] = &statefulSetList.Items[i]
}
// List DaemonSets
err = r.List(ctx, daemonSetList, listOps)
if err != nil {
return nil, err
}
for i := range daemonSetList.Items {
ownedObjects[daemonSetList.Items[i].GetUID()] = &daemonSetList.Items[i]
}
return ownedObjects, nil
}