syntax = "proto3";
	package cloudServiceDAO;
	/*fields section----------------------------------------------------------------*/
	message cloudServiceDAO{	
		string response =1;
	}
	message userVCD{
		int32 userVCDId=1;
		string username=2;
		int32 org_id=3;
		int32 public_id=4;
		string password=5;
	}
	message orgVCD{
		int32 OrgVcdId=1;
		string name=2;
		string host=3;
		string api_version=4;
	}
	message UsersVCD{
		repeated userVCD users=1;
	}
	message orgsVCD{
		repeated orgVCD orgs=1;
	}
	message productType{
		int32 id=1;
		string product_name=2;
		string product_dsc=3;
		bool is_avaible=4;
		string steps=5;
	}
	message ProductsType{
		repeated productType products=1;
	}
	message Plan{
		int32 planId=1;
		string name=2;
		string description=3;
		double price_factor=4;
		string resources=5;
		string model=6;
		int32 service_id=7;
		bool active=8;
	}
	message PlansServices{
		repeated Plan plan=1;
	}
	message ContractedServices{
		int32 servicesID=1;
		string serviceName=2;
		string serviceDescription=3;
		string serviceBasePrice=4;
		string events_ids=5;
		int32 planID=6;
		string planName=7;
		string planDescription=8;
		double priceFactor=9;
		string ips=10;
		string firewallID=11;
		bool isSegment=12;
		int32 requestQueueID=13;
		int32 contractedServicesId=14;
		string resourceSpecs=15;
		string requestDatetime=16;
		string supplyDatetime=17;
		string down_datetime=18;
		int32 supplyStatusId=19;
		int32 serviceStatusId=20;
		string errorLog=21;
		string identificator=22;
		string nameApp=23;
		string status=24;
		string port=25;
		string vcd_vcd_id=26;
		string jsoncluster=27;
		string url_image=28;

	}
	message AllContractedServices{
		repeated ContractedServices contractedService=1;
	}
	message Licenses{
		int32 idlicenses=1;
		string nameLicenses=2;
		string specs=3;
		int32 contracted_services_id=4;
		int32 user_id=5;
		int32 plan_id=6;
		int32 public_id=7;
		int32 org_id=8;
		string namePlan=9;
		int32 service_id=10;
		string nameService=11;
		int32 product_type_id=12;
		string product_name=13;
	}
	message AllLicenses{
		repeated Licenses licenses=1;
	}
	message Requestqueue{
		int32 RequestQueueID=1;
		int32 contracted_services_id=2;
		string resource_specs=3;
		string request_datetime=4;
		string supply_datetime=5;
		string down_datetime=6;
		int32 supply_status_id=7;
		int32 service_status_id=8;
		string error_log=9;
		string identificator=10;
		string name_app=11;
		string status=12;
		int32 port=13;
		int32 user_id=14;
		int32 plan_id=15;
		int32 service_id=16;
		string services_name=17;
		int32 services_product_type_id=18;
		int32 terms_conditions_id = 19;
		string accept_datetime_terms =20;
		int32 idexp_type_value=21;
		int32 idexp_type_catalog=22;
		string type_catalog_name=23;
		int32 idexp_category =24;
		string exposition_category_name=25;
		string exp_value=26;
		string exp_identificator=27;
	}
	message AllRequestQueue{
		repeated Requestqueue requestqueue=1;
	}
	message fieldvdc{
		int32 id=1;
		string name=2;
		string urn_id=3;
		string subscription_id=4;
		int32 org_id=5;
	}
	message allfieldsvdc{
		repeated fieldvdc fieldvdc=1;
	}
	message statusCatalog{
		int32 StatusCatalogID=1;
		string status=2;
		string status_desc=3;
		int32 id_type=4;
	}
	message allStatusCatalog{
		repeated statusCatalog status_catalog=1;
	}
	message consumptionHistory{
		int32 ConsumptionHistoryID = 1;
		string start_date=2;
		string end_date=3;
		int32 requests_queue_id=4;
		string pod_identificator =5;
	}
	message allConsumptionHistory{
		repeated consumptionHistory consumption_history=1;
	}
	message termsandconditions{
		int32 idTerms_conditions=1;
		string terms_conditions=2;
		int32 idservice=3;
		bool bactive=4;
	}
	message alltermsandconditions{
		repeated termsandconditions terms_conditions=1;
	}
	
	message servicestodeploy{
		int32 requestQueueID=1;
		int32 contractedServicesId = 2;
		string resourceSpecs=3;
		string identificator=4;
		string name_app=5;
		string status=6;
		int32 planId=7;
		int32 serviceId=8;
		string resources=9;
		string eventsIds=10;
		string name=11;
		int32 product_type_id=12;
		string supply_datetime = 13;
		int32 org_id=14;
		int32 org_name=15;
		string region_name=16;
		int32 region_id=17;
	}
	message allServicesToDeploy{
		repeated servicestodeploy services=1;
	}
	message orgvdc_service{
		int32 idorg=1;
		string name=2;
	}
	message all_orgvdc_service{
		repeated orgvdc_service response=1;
	}
	message containerimage{
		int32 id=1;
		string name=2;
		string repository_url=3;
		string available_versions=4;
		string chart_version=5;
		bool is_custom_manifest=6;
		string yml_file=7;
		bool default=8;
		int32 services_id=9;
		bool active=10;
	}
	message all_containerimage{
		repeated containerimage response=1;
	}

	
	/*request section--------------------------------------------------------------------------------------*/
	message GetProductTypeRequest {		
		int32 iduser = 1;
		int32 idorg = 2;
		
	}
	message GetServicesByProductTypeRequest {
		int32 IdProductType=1;
		int32 IdUser = 2;
		int32 IdOrg=3;
	}
	message GetPlansServiceRequest {
		int32 idService=1;
	}
	message GetAllContractedServicesRequest {
		int32 idUser=1;
		int32 idPlan=2;
		int32 contracted_services_id=3;
		int32 vdc_vcd_id=4;
	}
	message GetIpServiceByIdRequest {
		int32 idFirewall=1;
	} 
	message SetLicensesRequest{
		string specs=1;
		string contracted_services_id=2;
		string name=3;	
	}
	message GetUserVCDRequest{
		string user_name=1;
		int32 public_id=2;
		int32 user_id=3;
		int32 org_id=4;
	}
	message SetUserVCDRequest{
		string username=2;
		string email=3;
		int32 orgid=4;
	}
	message	GetOrgVCDRequest{
		string name=1;
		int32 org_id=2;
	}
	message SetOrgVCDRequest {
		string name=2;
		string host=3;
		string api_version=4;
	}
	message SetfirewallRequest{
		string ips = 1;
		bool is_segment =2;
	}
	message GetRequestQueueRequest{
		int32 user_id=1;
		int32 services_id=2; 
		int32 contracted_services_id=3;
		int32 plan_id=4;
		int32 service_status_id=5;
		string supply_datetime_start=6;		
		string supply_datetime_end=7;
		string request_datetime_start=8;
		string request_datetime_end=9;
		int32 request_queue_id=10;
	}	
	message SetContractedServicesRequest{
		int32 user_id=1;
		int32 backup_scheduled_id=2; 
		int32 plan_id=3;
		int32 firewall_id=4;
		int32 vdc_vcd_id=5;
	}
	message GetServiceStatusRequest{
		string resources=1;	
	}	
	message GetStatusSupplyRequest{
		string resources=1;
	}
	message GetLicensesRequest{
		int32 idlicenses=1;
		int32 public_id=2;
		int32 org_id=3;
		int32 idService=4;
		int32 contracted_services_id=5;
	}
	message GetGenericInformationRequest{
		string tab_name=1;
		string wcol_name_filter=2;
		string w_param=3;
	}
	message SetUpdateLicensesRequest{
		int32 idlicenses=1;
		string name=2;
		string specs=3;
		int32 id_contracted_services=4;
	}
	message getfieldsvdcRequest{
		int32 vdc_id=1;
		int32 org_id=2;
		string urn_id=3;
	}
	message setfieldsvdcRequest{
		int32 vdc_id=1;	
		string name=2;
		string urn_id=3;
		int32 subscription_id=4;
		int32 org_id=5;
		bool active=6;
	}
	message insertfieldsvdcRequest{
		string name=1;
		string urn_id=2;
		int32 subscription_id=3;
		int32 org_id=4;		
	}
	message GetStatusCatalogRequest{
		int32 status_catalog_id=1;
		int32 id_type=2;
	}
	message SetUpdateRequestQueueRequest{
		int32 request_queue_id=1;
		int32 contracted_services_id=2;
		string resource_specs=3;
		string request_datetime=4;
		string supply_datetime=5;
		string down_datetime=6;
		int32 supply_status_id=7;
		int32 service_status_id=8;
		string error_log=9;
		string identificator=10;
		string name_app=11;
		string status=12;
		int32 port=13;
		int32 terms_conditions_id = 14;
		string accept_datetime_terms =15;
	}
	message GetConsumptionHistoryRequest{
		int32 consumption_history_id=1;
		int32 request_services_id=2;
		string start_date=3;
		string end_date=4;
	}
	message SetInsertConsumptionHistoryIdentificatorRequest{
		string start_date=1;
		string end_date=2;
		string identificator=3;
		string pod_identificator=4;
	}
	message GetTermsAndConditionsRequest{
		int32 idTerms_conditions=1;
		int32 idService=2;
	}
	message SetTermsAndConditionsRequest{
		int32 idTerms_conditions=1;
		string terms_conditions=2;
		int32 idservice=3;
		bool bactive=4;
	}
	
	message GetServicesToDeployRequest{
		string status=1;
	}
	message GetOrgVCD_ServiceRequest{
	 int32 idservice=1;
	}
	message GetContainerImageRequest{
     int32 idservice=1;
	}

	/*response section-------------------------------------------------------------------------------*/
	message GetProductTypeResponse{
		repeated productType response=1;
	}
	message GetServicesByProductTypeResponse {
		cloudServiceDAO response=1;
	}
	message GetPlansServiceResponse{
		repeated Plan response=1;
	}
	message GetServicesContractedResponse{
		repeated ContractedServices response=1;
	}
	message GetIpServiceByIdResponse{
		cloudServiceDAO response=1;
	}
	message SetLicensesResponse{
		cloudServiceDAO response=1;
	}
	message GetUserVCDResponse{
		repeated userVCD response=1;
	}	
	message SetUserVCDResponse{
		cloudServiceDAO response=1;
	}
	message GetOrgVCDResponse {
		repeated orgVCD response=1;
	}
	message SetOrgVCDResponse{
		cloudServiceDAO response=1;
	}
	message SetContractedServicesResponse{
		cloudServiceDAO response=1;
	}	
	message GetRequestQueueResponse{
		repeated Requestqueue response=1;
	}	
	message GetStatusSupplyResponse{
		cloudServiceDAO response=1;
	}	
	message GetServiceStatusResponse{
		cloudServiceDAO response=1;	
	}		
	message SetfirewallResponse{
		cloudServiceDAO response=1;
	}
	message GetLicensesResponse{
		repeated Licenses response=1;
	}
	message GetGenericInformationResponse{
		cloudServiceDAO response=1;
	}
	message SetUpdateLicensesResponse{
		cloudServiceDAO response=1;
	}
	message getfieldsvdcResponse{
		repeated fieldvdc response=1;
	}
	message setfieldsvdcResponse {
		cloudServiceDAO response=1;
	}
	message insertfieldsvdcResponse {
		cloudServiceDAO response=1;
	}
	message GetStatusCatalogResponse{
		repeated statusCatalog response=1;
	}
	message SetUpdateRequestQueueResponse{
		cloudServiceDAO response=1;
	}
	message GetConsumptionHistoryResponse{
		repeated consumptionHistory response=1;
	}
	message SetInsertConsumptionHistoryIdentificatorResponse{
		cloudServiceDAO response=1;
	}
	message GetTermsAndConditionsResponse{
		repeated termsandconditions response=1;
	}
	message SetTermsAndConditionsResponse{
		cloudServiceDAO  response=1;
	}
	message GetServicesToDeployResponse{
		repeated servicestodeploy response=1;
	}
	message GetOrgVCD_ServiceResponse{
		repeated orgvdc_service response=1;
	}
	message GetContainerImageResponse{
		repeated containerimage response=1;
	}

	service servicioDAOService{
		rpc getProductType (GetProductTypeRequest) returns (ProductsType){};
		rpc getPlansService (GetPlansServiceRequest) returns (PlansServices){};
		rpc getServicesAllContracted (GetAllContractedServicesRequest) returns (AllContractedServices){};
		rpc getIpServiceById (GetIpServiceByIdRequest) returns (GetIpServiceByIdResponse){};
		rpc getServicesCatalog (GetServicesByProductTypeRequest) returns (GetServicesByProductTypeResponse){};
		rpc setLicensesService (SetLicensesRequest) returns (SetLicensesResponse) {};
		rpc getUserVCD (GetUserVCDRequest) returns (UsersVCD){};
		rpc setUserVCD (SetUserVCDRequest) returns (SetUserVCDResponse){};
		rpc getOrgVCD (GetOrgVCDRequest) returns (orgsVCD) {};
		rpc setOrgVCD (SetOrgVCDRequest) returns (SetOrgVCDResponse){};
		rpc setContractedServicesService (SetContractedServicesRequest) returns (SetContractedServicesResponse){};
		rpc getRequestQueueService (GetRequestQueueRequest) returns (AllRequestQueue){};
		rpc StatusSupplyService (GetStatusSupplyRequest) returns (GetStatusSupplyResponse) {};
		rpc ServiceStatusService (GetServiceStatusRequest) returns (GetServiceStatusResponse) {};
		rpc setfirewallServices (SetfirewallRequest) returns (SetfirewallResponse){};
		rpc GetLicenses (GetLicensesRequest) returns (AllLicenses){};
		rpc getGenericInformation (GetGenericInformationRequest) returns (GetGenericInformationResponse){};
		rpc setUpdateLicenses (SetUpdateLicensesRequest) returns (SetUpdateLicensesResponse){};
		rpc getfieldsvdc (getfieldsvdcRequest) returns (allfieldsvdc){};
		rpc setfieldsvdc (setfieldsvdcRequest) returns (setfieldsvdcResponse){};
		rpc insertfieldsvdc (insertfieldsvdcRequest) returns (insertfieldsvdcResponse){};
		rpc getStatusCatalog (GetStatusCatalogRequest) returns (allStatusCatalog){};
		rpc setUpdateRequestQueue (SetUpdateRequestQueueRequest) returns (SetUpdateRequestQueueResponse){};
		rpc setInsertConsumptionHistoryIdentificator (SetInsertConsumptionHistoryIdentificatorRequest) returns (SetInsertConsumptionHistoryIdentificatorResponse){};
		rpc getConsumptionHistory (GetConsumptionHistoryRequest) returns (allConsumptionHistory){};
		rpc getTermsandConditions (GetTermsAndConditionsRequest) returns (alltermsandconditions) {};
		rpc setTermsAndConditions (SetTermsAndConditionsRequest) returns (SetTermsAndConditionsResponse){};
		rpc getServicesToDeploy (GetServicesToDeployRequest) returns (allServicesToDeploy){};
		rpc getOrgVCD_Service (GetOrgVCD_ServiceRequest) returns (all_orgvdc_service){};
		rpc getContainerImage (GetContainerImageRequest) returns (all_containerimage){};

	}