func GetResource()

in pkg/api/deploymentapi/get_resource.go [37:71]


func GetResource(params GetResourceParams) (interface{}, error) {
	if err := params.Validate(); err != nil {
		return nil, err
	}

	var noRefIDAndKind = params.GetParams.RefID == "" && params.Kind != ""
	if noRefIDAndKind {
		refID, err := getKindRefID(params)
		if err != nil {
			return nil, err
		}
		params.GetParams.RefID = refID
	}

	switch params.Kind {
	case util.Apm:
		return GetApm(params.GetParams)
	case util.Kibana:
		return GetKibana(params.GetParams)
	case util.Elasticsearch:
		return GetElasticsearch(params.GetParams)
	case util.Appsearch:
		return GetAppSearch(params.GetParams)
	case util.EnterpriseSearch:
		return GetEnterpriseSearch(params.GetParams)
	default:
		// If the is specified but not supported, return an error.
		if params.Kind != "" {
			return nil, fmt.Errorf(
				"deployment get: resource kind %s is not valid", params.Kind,
			)
		}
		return Get(params.GetParams)
	}
}