From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (NAM11-DM6-obe.outbound.protection.outlook.com [40.107.223.67]) by mx.groups.io with SMTP id smtpd.web11.51018.1683210123000450775 for ; Thu, 04 May 2023 07:22:03 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@nvidia.com header.s=selector2 header.b=J9S+/uUQ; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: nvidia.com, ip: 40.107.223.67, mailfrom: nicklew@nvidia.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HFzaZHFx6hAleE3gMdsNkhUd3YLirjlCPJvfX1V4uzBPUwULbiVyELMBcG67Rx8WI2JtzTHzo7UeJ0xQsVM2EaJBR1i/GbiyKIPaEw9EkkwfepXwzimsG0d4u1zA4pB53rvU66cvuLiZXkRyVVzJRF39EwloR5SucKqM9Faq6J1dszcvk9+ImbY9uM571md8hq1Y/Qf2j+5zBnuvnCG01hS3ujw1x3wc0JwWVCq03UCOXdTPgtEi79OyLh7dCULZeGP/xUshSSfNSCQ1LXxieHFqDb1agyrdnriC7x85qNIpkTbgY9fCAF3SWmW/jYuJGsXlNaFPdy6HH1CA+2d6pQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=U2/hP3kZC17fUUZv/4NnbWWfT2LVZrm+nktTqNebEmA=; b=eD8gjDAyXJNXkakN58FXPyWGd0hpZj04D4Plw3nufp6wcctcEfrTPWv+DddrLKNwHw3FdYCdPLcqg19KlVuK5xOmIHlG7RqEFAIvKwtqm5bxViFfdJjYDTaaxv3T6ae/N4IHXfqikzYefTbop/UY6Ngy9JBedMQ5tda+lS5MQ3yPesDqRxD7Kfc/DSphVg6XlapBpM9rWRuj7zcV207A+uURkC+YMp6+fgDTMjs7gyD6+1gxkIPJak0buoOzKRw3cO4PcgtR72USjyFksMkOoUNOi83VwJirn/owo6Yeyos2yDaPWW9l6qH695yc6gSE9heWYeZWq3ku3u6N+cc6AA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.233) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=U2/hP3kZC17fUUZv/4NnbWWfT2LVZrm+nktTqNebEmA=; b=J9S+/uUQ5F8K+yP6RFylFTnB/0shjFe7ocwXYNnHeFJD2VA8KI0aOgslneDSIt5fd4fVcZNEuNWIqVLVuDfTbsxW38jv2b5oPBGaPUDCeqXjYfYE3glYrCvvQJY4kSzed8jERdtozbNWtdCKo/sVXlQAZUhQFDMjwAS3tEc1XtugNS3tyUhgT45l7oavnB4xRQSrbKPLnc4wa0X/WLkc/0lXLnWgRbfJLrzLbMZhDPdWVJY7OGgmzyXnVCmKUT2JNa/uuWu8sG32EV9zBe/uVcLh4PrNJQRNA3PmfwRiEsmsOHrwaflhWw5lPgdY99LYhBKqaGgXQ/7Q7zLlDNf2WA== Received: from MW4PR03CA0165.namprd03.prod.outlook.com (2603:10b6:303:8d::20) by CY5PR12MB6407.namprd12.prod.outlook.com (2603:10b6:930:3c::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Thu, 4 May 2023 14:22:00 +0000 Received: from CO1NAM11FT038.eop-nam11.prod.protection.outlook.com (2603:10b6:303:8d:cafe::52) by MW4PR03CA0165.outlook.office365.com (2603:10b6:303:8d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26 via Frontend Transport; Thu, 4 May 2023 14:22:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.233) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.233 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.233) by CO1NAM11FT038.mail.protection.outlook.com (10.13.174.231) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26 via Frontend Transport; Thu, 4 May 2023 14:22:00 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com (10.127.129.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.5; Thu, 4 May 2023 07:21:46 -0700 Received: from drhqmail201.nvidia.com (10.126.190.180) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37; Thu, 4 May 2023 07:21:46 -0700 Received: from NV-CL38DL3.nvidia.com (10.127.8.9) by mail.nvidia.com (10.126.190.180) with Microsoft SMTP Server id 15.2.986.37 via Frontend Transport; Thu, 4 May 2023 07:21:45 -0700 From: "Nickle Wang" To: CC: Abner Chang , Igor Kulchytskyy Subject: [edk2-redfish-client][PATCH 1/8] RedfishClientPkg: Facilities of EDK2 Redfish Feature driver Env. Date: Thu, 4 May 2023 22:21:44 +0800 Message-ID: <20230504142144.16012-1-nicklew@nvidia.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Return-Path: nicklew@nvidia.com X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1NAM11FT038:EE_|CY5PR12MB6407:EE_ X-MS-Office365-Filtering-Correlation-Id: fd35891d-347b-496d-27d3-08db4caaecea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hdSKfYGejEw+mwmPC17P3jf6SLIfLqQcEc+mrO4whVnd6qXASTW4GWke/7HijDt2noYtivBhwogZzKeHUqaCv1+pBo+ZKDo7nVTcUdWk5QmcjUA4vhQCvl1dAhtiQTU4SIAQm4OOUPvftYNrNxRme1q7v0Zz0KztP54Dr7ULpUDAb2PM04ClIAWAEKUc0g03MJESkD8+KXz4uB3rTdLNACR0wdlfpbt5447WoC6b58Bn4QZHFXUr8km+2QVT1HgexbwER1C/BhnMrhekJ7aqeoUxaOtiedz+0MaSEsd7yOgU0Xr/nrBmUpNDdZ5qycLwi8SsTO0RU1eQUJp1L4NjUdHlWb8av29JJty3sWTfvKjQgoL1mdZpZfP2HqfwBnqR+YMTMi06tazT1OdSFnJRAB7yqxUMDzMnHQqjOuuY82zpkVo+uvSnEMDTZakxX8tXSLzVM7ePvsnzdX3/gt6cod8xJZXCrdZcSSFQstzKVkLlFy8FVfaXZDRRif9KkzhH+U8eFN/zaP8/n5nFvv3vChMd7M4f3Bt/10o9pwlOFFaSWNOLH7RM+zCmKDD4df9BFhGwnqP4mjdhs+E9ehxMIXKasmIiwGHHz5BIqBUaG9FHdXqpVQ+9xvlHXx4ojVB1JKcF2UTcaX9up1kTZbvNDdQSYhblDwq4LE7Ya5n2TJuLfXeHehPuxObvO23nM2eXIw8nejiMW3nCZTSBx7/UmA== X-Forefront-Antispam-Report: CIP:216.228.118.233;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge2.nvidia.com;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(396003)(346002)(136003)(451199021)(40470700004)(46966006)(36840700001)(40460700003)(82310400005)(40480700001)(8936002)(8676002)(1076003)(26005)(336012)(2616005)(426003)(30864003)(2906002)(83380400001)(47076005)(41300700001)(70206006)(70586007)(4326008)(478600001)(7696005)(316002)(5660300002)(186003)(6916009)(54906003)(86362001)(36756003)(36860700001)(82740400003)(7636003)(356005);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2023 14:22:00.4883 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fd35891d-347b-496d-27d3-08db4caaecea X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.233];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT038.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6407 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain Initial common header file and meta files for feature drivers. Signed-off-by: Nickle Wang Cc: Abner Chang Cc: Igor Kulchytskyy --- RedfishClientPkg/RedfishClientPkg.dec | 5 +- .../Include/Guid/RedfishClientPkgTokenSpace.h | 20 +++ .../EdkIIRedfishResourceConfigProtocol.h | 127 ++++++++++++++++++ .../Include/RedfishCollectionCommon.h | 53 ++++++++ .../Include/RedfishResourceCommon.h | 121 +++++++++++++++++ 5 files changed, 325 insertions(+), 1 deletion(-) create mode 100644 RedfishClientPkg/Include/Guid/RedfishClientPkgTokenSpac= e.h create mode 100644 RedfishClientPkg/Include/Protocol/EdkIIRedfishResourceC= onfigProtocol.h create mode 100644 RedfishClientPkg/Include/RedfishCollectionCommon.h create mode 100644 RedfishClientPkg/Include/RedfishResourceCommon.h diff --git a/RedfishClientPkg/RedfishClientPkg.dec b/RedfishClientPkg/Redfi= shClientPkg.dec index 8fa92d5b..11eab386 100644 --- a/RedfishClientPkg/RedfishClientPkg.dec +++ b/RedfishClientPkg/RedfishClientPkg.dec @@ -21,9 +21,12 @@ =20 [Protocols] ## Include/Protocol/EdkIIRedfishFeature.h - gEdkIIRedfishFeatureProtocolGuid =3D { 0x785CC694, 0x4930, 0xEFBF, { 0x2= A, 0xCB, 0xA4, 0xB6, 0xA1, 0xCC, 0xAA, 0x34 } } + gEdkIIRedfishFeatureProtocolGuid =3D { 0x785CC694, 0x4930, 0xEFBF= , { 0x2A, 0xCB, 0xA4, 0xB6, 0xA1, 0xCC, 0xAA, 0x34 } } + ## Include/Protocol/EdkIIRedfishResourceConfigProtocol.h + gEdkIIRedfishResourceConfigProtocolGuid =3D { 0x6f164c68, 0xfb09, 0x4646= , { 0xa8, 0xd3, 0x24, 0x11, 0x5d, 0xab, 0x3e, 0xe7 } } =20 [Guids] + ## Include/Guid/RedfishClientPkgTokenSpace.h gEfiRedfishClientPkgTokenSpaceGuid =3D { 0x8c444dae, 0x728b, 0x48ee, = { 0x9e, 0x19, 0x8f, 0x0a, 0x3d, 0x4e, 0x9c, 0xc8 } } =20 [PcdsFixedAtBuild] diff --git a/RedfishClientPkg/Include/Guid/RedfishClientPkgTokenSpace.h b/R= edfishClientPkg/Include/Guid/RedfishClientPkgTokenSpace.h new file mode 100644 index 00000000..7928e1a2 --- /dev/null +++ b/RedfishClientPkg/Include/Guid/RedfishClientPkgTokenSpace.h @@ -0,0 +1,20 @@ +/** @file + GUID for RedfishClientPkg PCD Token Space + + (C) Copyright 2021 Hewlett Packard Enterprise Development LP
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef REDFISHCLIENTPKG_TOKEN_SPACE_GUID_H_ +#define REDFISHCLIENTPKG_TOKEN_SPACE_GUID_H_ + +#define REDFISHCLIENTPKG_TOKEN_SPACE_GUID \ + { \ + 0x8c444dae, 0x728b, 0x48ee, { 0x9e, 0x19, 0x8f, 0x0a, 0x3d, 0x4e, 0x9c= , 0xc8 } \ + } + +extern EFI_GUID gEfiRedfishClientPkgTokenSpaceGuid; + +#endif diff --git a/RedfishClientPkg/Include/Protocol/EdkIIRedfishResourceConfigPr= otocol.h b/RedfishClientPkg/Include/Protocol/EdkIIRedfishResourceConfigProt= ocol.h new file mode 100644 index 00000000..814fa9f9 --- /dev/null +++ b/RedfishClientPkg/Include/Protocol/EdkIIRedfishResourceConfigProtocol.= h @@ -0,0 +1,127 @@ +/** @file + This file defines the EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL interface. + + (C) Copyright 2021 Hewlett Packard Enterprise Development LP
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef EDKII_REDFISH_RESOURCE_CONFIG_H_ +#define EDKII_REDFISH_RESOURCE_CONFIG_H_ + +typedef struct _EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL EDKII_REDFISH_RESOU= RCE_CONFIG_PROTOCOL; + +/** + Provising redfish resource by given URI. + + @param[in] This Pointer to EDKII_REDFISH_RESOURCE_CONFI= G_PROTOCOL instance. + @param[in] Uri Target URI to create resource. + @param[in] HttpPostMode TRUE if resource does not exist, HTTP P= OST method is used. + FALSE if the resource exist but some of= properties are missing, + HTTP PUT method is used. + + @retval EFI_SUCCESS Value is returned successfully. + @retval Others Some error happened. + +**/ +typedef +EFI_STATUS +(EFIAPI *EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_PROVISIONING)( + IN EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL *This, + IN CHAR8 *Uri, + IN BOOLEAN HttpPostMode + ); + +/** + Consume resource from given URI. + + @param[in] This Pointer to EDKII_REDFISH_RESOURCE_CONFI= G_PROTOCOL instance. + @param[in] Uri The target URI to consume. + + @retval EFI_SUCCESS Value is returned successfully. + @retval Others Some error happened. + +**/ +typedef +EFI_STATUS +(EFIAPI *EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_CONSUME)( + IN EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL *This, + IN CHAR8 *Uri + ); + +/** + Update resource to given URI. + + @param[in] This Pointer to EDKII_REDFISH_RESOURCE_CONFI= G_PROTOCOL instance. + @param[in] Uri The target URI to consume. + + @retval EFI_SUCCESS Value is returned successfully. + @retval Others Some error happened. + +**/ +typedef +EFI_STATUS +(EFIAPI *EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_UPDATE)( + IN EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL *This, + IN CHAR8 *Uri + ); + +/** + Check resource on given URI. + + @param[in] This Pointer to EDKII_REDFISH_RESOURCE_CONFI= G_PROTOCOL instance. + @param[in] Uri The target URI to consume. + + @retval EFI_SUCCESS Value is returned successfully. + @retval Others Some error happened. + +**/ +typedef +EFI_STATUS +(EFIAPI *EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_CHECK)( + IN EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL *This, + IN CHAR8 *Uri + ); + +// +// definition of REDFISH_SCHEMA_INFO +// +#define REDFISH_SCHEMA_STRING_SIZE (FixedPcdGet32 (PcdMaxRedfishSchemaSt= ringSize)) +#define REDFISH_SCHEMA_VERSION_SIZE (FixedPcdGet32 (PcdMaxRedfishSchemaVe= rsionSize)) + +typedef struct _SCHEMA_INFO { + CHAR8 Schema[REDFISH_SCHEMA_STRING_SIZE]; + CHAR8 Major[REDFISH_SCHEMA_VERSION_SIZE]; + CHAR8 Minor[REDFISH_SCHEMA_VERSION_SIZE]; + CHAR8 Errata[REDFISH_SCHEMA_VERSION_SIZE]; +} REDFISH_SCHEMA_INFO; + +/** + Get information about this protocol. + + @param[in] This Pointer to EDKII_REDFISH_RESOURCE_CONFI= G_PROTOCOL instance. + @param[out] Info The schema information. + + @retval EFI_SUCCESS Value is returned successfully. + @retval Others Some error happened. + +**/ +typedef +EFI_STATUS +(EFIAPI *EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_GET_INFO)( + IN EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL *This, + OUT REDFISH_SCHEMA_INFO *Info + ); + +struct _EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL { + EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_PROVISIONING Provisioning; + EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_CONSUME Consume; + EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_UPDATE Update; + EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_CHECK Check; + EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_GET_INFO GetInfo; +}; + +extern EFI_GUID gEdkIIRedfishResourceConfigProtocolGuid; + +#endif diff --git a/RedfishClientPkg/Include/RedfishCollectionCommon.h b/RedfishCl= ientPkg/Include/RedfishCollectionCommon.h new file mode 100644 index 00000000..b5735741 --- /dev/null +++ b/RedfishClientPkg/Include/RedfishCollectionCommon.h @@ -0,0 +1,53 @@ +/** @file + Redfish feature driver collection common header file. + + (C) Copyright 2020-2021 Hewlett Packard Enterprise Development LP
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef EFI_REDFISH_COLLECTION_COMMON_H_ +#define EFI_REDFISH_COLLECTION_COMMON_H_ + +// +// Libraries +// +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// +// Protocols +// +#include +#include +#include +#include +#include + +#define IS_EMPTY_STRING(a) ((a) =3D=3D NULL || (a)[0] =3D=3D '\0') +#define REDFISH_DEBUG_TRACE DEBUG_INFO + +typedef struct _REDFISH_COLLECTION_PRIVATE { + EFI_REST_JSON_STRUCTURE_PROTOCOL *JsonStructProtocol; + EDKII_REDFISH_FEATURE_PROTOCOL *FeatureProtocol; + REDFISH_SERVICE RedfishService; + EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL ConfigHandler; + EFI_EVENT Event; + CHAR8 *CollectionPath; + CHAR8 *CollectionJson; + REDFISH_PAYLOAD CollectionPayload; + REDFISH_RESPONSE RedResponse; +} REDFISH_COLLECTION_PRIVATE; + +#define REDFISH_COLLECTION_PRIVATE_DATA_FROM_PROTOCOL(This) \ + BASE_CR ((This), REDFISH_COLLECTION_PRIVATE, ConfigHandler) + +#endif diff --git a/RedfishClientPkg/Include/RedfishResourceCommon.h b/RedfishClie= ntPkg/Include/RedfishResourceCommon.h new file mode 100644 index 00000000..95e8004d --- /dev/null +++ b/RedfishClientPkg/Include/RedfishResourceCommon.h @@ -0,0 +1,121 @@ +/** @file + Redfish feature driver common header file. + + (C) Copyright 2020-2021 Hewlett Packard Enterprise Development LP
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef EFI_REDFISH_RESOURCE_COMMON_H_ +#define EFI_REDFISH_RESOURCE_COMMON_H_ + +#define MAX_RED_PATH_LEN 128 +#define IS_EMPTY_STRING(a) ((a) =3D=3D NULL || (a)[0] =3D=3D '\0') +#define REDFISH_DEBUG_TRACE DEBUG_INFO + +// +// Libraries +// +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// +// Protocols +// +#include +#include +#include +#include + +typedef struct _REDFISH_RESOURCE_COMMON_PRIVATE { + REDFISH_SERVICE RedfishService; + EFI_REST_JSON_STRUCTURE_PROTOCOL *JsonStructProtocol; + EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL RedfishResourceConfig; + EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL ConfigHandler; + EFI_EVENT Event; + CHAR8 *Uri; + CHAR8 *Json; + REDFISH_PAYLOAD Payload; +} REDFISH_RESOURCE_COMMON_PRIVATE; + +#define REDFISH_RESOURCE_COMMON_PRIVATE_DATA_FROM_CONFIG_PROTOCOL(This) \ + BASE_CR ((This), REDFISH_RESOURCE_COMMON_PRIVATE, ConfigHandler) + +#define REDFISH_RESOURCE_COMMON_PRIVATE_DATA_FROM_RESOURCE_PROTOCOL(This) = \ + BASE_CR ((This), REDFISH_RESOURCE_COMMON_PRIVATE, RedfishResourc= eConfig) + +/** + Consume resource from given URI. + + @param[in] This Pointer to REDFISH_RESOURCE_COMMON_PRIV= ATE instance. + @param[in] Json The JSON to consume. + + @retval EFI_SUCCESS Value is returned successfully. + @retval Others Some error happened. + +**/ +EFI_STATUS +RedfishConsumeResourceCommon ( + IN REDFISH_RESOURCE_COMMON_PRIVATE *Private, + IN CHAR8 *Json + ); + +/** + Provisioning redfish resource by given URI. + + @param[in] This Pointer to EFI_HP_REDFISH_HII_PROTOCOL = instance. + @param[in] ResourceExist TRUE if resource exists, PUT method wil= l be used. + FALSE if resource does not exist POST m= ethod is used. + + @retval EFI_SUCCESS Value is returned successfully. + @retval Others Some error happened. + +**/ +EFI_STATUS +RedfishProvisioningResourceCommon ( + IN REDFISH_RESOURCE_COMMON_PRIVATE *Private, + IN BOOLEAN ResourceExist + ); + +/** + Check resource from given URI. + + @param[in] This Pointer to REDFISH_RESOURCE_COMMON_PRIV= ATE instance. + @param[in] Json The JSON to consume. + + @retval EFI_SUCCESS Value is returned successfully. + @retval Others Some error happened. + +**/ +EFI_STATUS +RedfishCheckResourceCommon ( + IN REDFISH_RESOURCE_COMMON_PRIVATE *Private, + IN CHAR8 *Json + ); + +/** + Update resource to given URI. + + @param[in] This Pointer to REDFISH_RESOURCE_COMMON_PRIV= ATE instance. + @param[in] Json The JSON to consume. + + @retval EFI_SUCCESS Value is returned successfully. + @retval Others Some error happened. + +**/ +EFI_STATUS +RedfishUpdateResourceCommon ( + IN REDFISH_RESOURCE_COMMON_PRIVATE *Private, + IN CHAR8 *Json + ); + +#endif --=20 2.17.1