/* * v1_endpoints.h * * Endpoints is a collection of endpoints that implement the actual service. Example: Name: \"mysvc\", Subsets: [ { Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}], Ports: [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}] }, { Addresses: [{\"ip\": \"10.10.3.3\"}], Ports: [{\"name\": \"a\", \"port\": 93}, {\"name\": \"b\", \"port\": 76}] }, ] Endpoints is a legacy API and does not contain information about all Service features. Use discoveryv1.EndpointSlice for complete information about Service endpoints. Deprecated: This API is deprecated in v1.33+. Use discoveryv1.EndpointSlice. */ #ifndef _v1_endpoints_H_ #define _v1_endpoints_H_ #include #include "../external/cJSON.h" #include "../include/list.h" #include "../include/keyValuePair.h" #include "../include/binary.h" typedef struct v1_endpoints_t v1_endpoints_t; #include "v1_endpoint_subset.h" #include "v1_object_meta.h" typedef struct v1_endpoints_t { char *api_version; // string char *kind; // string struct v1_object_meta_t *metadata; //model list_t *subsets; //nonprimitive container int _library_owned; // Is the library responsible for freeing this object? } v1_endpoints_t; __attribute__((deprecated)) v1_endpoints_t *v1_endpoints_create( char *api_version, char *kind, v1_object_meta_t *metadata, list_t *subsets ); void v1_endpoints_free(v1_endpoints_t *v1_endpoints); v1_endpoints_t *v1_endpoints_parseFromJSON(cJSON *v1_endpointsJSON); cJSON *v1_endpoints_convertToJSON(v1_endpoints_t *v1_endpoints); #endif /* _v1_endpoints_H_ */