From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 6F08E7803CF for ; Thu, 7 Mar 2024 03:58:35 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=E01OR6hLf+F0LepI4OP9CnH7qRckrXMm72afAP/KHvU=; c=relaxed/simple; d=groups.io; h=From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:msip_labels:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20240206; t=1709783913; v=1; b=r0E5QXSEkRdynTUonleRVbIfBVDJ90FANREj5RHHwbB2W0KsdibOCVjKPU3irqujphv1g4y6 3eeYd0SZKphTQJ0UUy50Ihgd2AiX9W2mlzSYJuVoZi2yG2v2LOtC9MSeKI6g5q5vIlS6lj5Zn+D 78ZgxeOHfGBeTca20dk541ZFTYJinHaTWt1CdIYharSqvAoPaocLrpjisTrZSKNmE3LX6RVcMFo R7DgZ27hVax3XXQC9Tx+o/dlb4Qfm5MCTMK3BTYnO0k+9sVjWeJ2c6AVJS/o7LUCjtoEnuhNOM3 CJfCtXODhPwiNWmD71R+UioTaRt81EvcagAq14Mbng6LQ== X-Received: by 127.0.0.2 with SMTP id c0VMYY7687511xwfEmXKXOlM; Wed, 06 Mar 2024 19:58:33 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.66]) by mx.groups.io with SMTP id smtpd.web11.15516.1709783912909078069 for ; Wed, 06 Mar 2024 19:58:33 -0800 X-Received: from LV8PR12MB9452.namprd12.prod.outlook.com (2603:10b6:408:200::8) by DS7PR12MB5912.namprd12.prod.outlook.com (2603:10b6:8:7d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.26; Thu, 7 Mar 2024 03:58:30 +0000 X-Received: from LV8PR12MB9452.namprd12.prod.outlook.com ([fe80::e006:4173:de2c:aca0]) by LV8PR12MB9452.namprd12.prod.outlook.com ([fe80::e006:4173:de2c:aca0%5]) with mapi id 15.20.7362.024; Thu, 7 Mar 2024 03:58:30 +0000 From: "Chang, Abner via groups.io" To: Nickle Wang , "devel@edk2.groups.io" CC: Igor Kulchytskyy , Nick Ramirez Subject: Re: [edk2-devel] [edk2-redfish-client][PATCH v3 1/2] RedfishClientPkg: introduce Redfish resource config2 protocol. Thread-Topic: [edk2-redfish-client][PATCH v3 1/2] RedfishClientPkg: introduce Redfish resource config2 protocol. Thread-Index: AQHacD7uLMjC75u2b0aKwL7VCqHb1bErpuWA Date: Wed, 06 Mar 2024 19:58:33 -0800 Message-ID: References: <20240307032351.42542-1-nicklew@nvidia.com> In-Reply-To: <20240307032351.42542-1-nicklew@nvidia.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=5a99c81b-9d0f-4936-a183-2e1cc0a50da6;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2024-03-07T03:58:20Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: LV8PR12MB9452:EE_|DS7PR12MB5912:EE_ x-ms-office365-filtering-correlation-id: a557960b-c357-4a85-fe80-08dc3e5ad9ae x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: zYQhz9WY1Ftl6CrTWnDgbNJAAMYr/lkahJNPmhYbXaHAeU9TMoigA8QbQcf0Y1y/pxTeYjVbZuiA2XEkAINkTOuUPfptL6d2dRwvIElXwPWXOKdETOxb4j58+CNAnBtwr4uJqE6n8/X7BqoePGZGcoQc7du/8KJdllG8ekx7fqFO1gtqgSZHejCuVlA8Lnu5RM2xJeTeikrLqnu2cgyxO6cFPzjedcTp8NO6dVGicltIjSxVg/NaTUDCOZe+RKq+/t6NbjjfniM7ULmsHIdDySQRibyjlWRHKqkG8K4qAQpm/sWRCngxlGLV90IYOknpXEh4++rVr943gyuCOIur/EckuESplUw35qCVoKTujH4/AOdYXTRohdKwJUM30rqPKsIjaBCj/HI09w5UNmi29VcpKgAyRBEvZCac+pvHiIQQXGKdiekrq4s6HFduMQo+ouvJAsq7C61/iThw5ajIZrWlerb2cX9PEXv9atFsLgpDg20Ue089TsqYxb+Q3yy587/EeWTLD1UhGBIXP/6AAJfWlwGbFCd2EwTPFExwQV8aXWaFjc7TDk0HqTIcxLwzhv66FUv1WvvUYagpKrJhOQtKCJlncS4nDjt1ytWFYy7zg7wZexyDpj1vudYpLC5lwcvTg0xf5aAvBaDtR9cCh5ZO32ClESOIfBHUEjjC7mvjBMxrPjiqIb/esVLLhucflsKjeqqRrZXqgM4RfO71DB3r4WLFgIQOePCjHSQWw+w= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?VWTNJxviJ08lFyrLEedrzsx1DniCwQShUt9LRN7jeYUd0+ED1hn8+bu0LlfA?= =?us-ascii?Q?6E57yXpPjL4yQkPOen3dUYAsbubvj0SKVPyQh18tCdwm8yTz3gzlfu7Zx8Ii?= =?us-ascii?Q?3TYT+tDMAHKS10e0cFUKk0c41x1k8wjkq79toh3vZaPGK536OW0Hkwz5JivU?= =?us-ascii?Q?gkUnHEImnQtQihakDbgP2WvMpxE9uPjLSCS/Y7JZBp2HAJCuku8ZCnfTOM8N?= =?us-ascii?Q?EWuedW+6SubDUlFfFLVWDlKhmXSLJN5Z9be4+qM281sh/Qkgzk42aXDZ6NQ8?= =?us-ascii?Q?2WpyQXIJH0dNaMqHqxE5pFZNeRwLgTN+S8SNLVWxCRtAHQ+XdYgCbrpYYuZp?= =?us-ascii?Q?bg/BOiOTKPPCH0ZVFocn/Ru8fovoqCRz6QwqzQxZSCk6sJtOjrAVyNSxrGXm?= =?us-ascii?Q?dNhiwsezy9m1bX7lL5yQz6pEoMXTrP7uOGGX1pzd+NEMr99brajGcaVdTU7i?= =?us-ascii?Q?Y15xn+jW7GSMP9w7B3m59Jzb9qQdVcvVpbEB7HA4jpbozL6NgeAGTLyKpNCC?= =?us-ascii?Q?4f/S4391GOgZln6+t00N3rAtXQ7FgwNbuygbzQAFvvb6EBadUuap6YO9jRZN?= =?us-ascii?Q?er6ey5itViJ4Apms0nBnwAbL/YImbmsm/2cDhg6ksR/Sbfmpal7j2WUyR3N+?= =?us-ascii?Q?TniwrEYSdYY1GZnZfviWXcjaXORsRgjlsYd5v3g48q1VRFQVIlMr0mquANJq?= =?us-ascii?Q?PU9y9XnwMI7K5MA08whk7A80zKDP3WQprO6mGHAlwLEh0tJdTw8zfOwggonB?= =?us-ascii?Q?0t8EZs/rHWwEmxrgqNthco1iqyWqoHWIKYjcYUfdITtV/Q9lZsPOdldskifx?= =?us-ascii?Q?8IhEC06WeOvuqPgKxhTEJXVMuJHfz7y7ibeG4B5olW+2nzBWlxGbaIn9PdvD?= =?us-ascii?Q?V9zZSJDW6Ffs6/1qcTVfCb6X0IQ9ZBlJh4Nkf9Rx3L3uXViI7ztbeXozUnsi?= =?us-ascii?Q?kH8LK8uzeRvx8+Qo6+z8wVn6lmGfe5ZK2bqflyibegY55gF94gD5O+WCEVr1?= =?us-ascii?Q?cRjAcqzfHdIB4SGA0fv6NXKBpTXdUrI05LJvBk8PjUCecNUzSb1C8K/jceFf?= =?us-ascii?Q?clzHmEvpEhFpi/DQNj1zuiJaK1+PJ/YeJ7Op7ZmJWjfPZI7UAdqrprjlcEk1?= =?us-ascii?Q?f+jl0J8tG3PPJ6SLhifrQQMCVzzxSMMgao/tba+HjsdTiG+AV0lUJH7n5b5C?= =?us-ascii?Q?OX6KI22pC9ZI7TnHcrkYeubsnOBKpZy80ZovGsI0SjsJeFJMoVtLyUteIDIb?= =?us-ascii?Q?yq1fAy0rftYxx8LzunqFJ+EFZIwHbGQv8K3hFTsDi+H6Qb/Drj114GV1b2XX?= =?us-ascii?Q?PijcJdX5/Px2679BSGgYkA4CxjQUtL+/HRaudoYKeDpsr1WbEsuol3ZJVNGr?= =?us-ascii?Q?xksWEIKYDmjszPOHDN1zgyHOJsK3yAaAXanpwn7y+UObdNcn2gXpvjyZHLcM?= =?us-ascii?Q?i00WohzOimhmuIZSGddRVKp+KjtuDgTkcnNXvGFHwo9YUtKnmdVj9G9IsRbF?= =?us-ascii?Q?uFtOesfkE+2avbNA3mkbPSg1HhmXYNwCPbyjPe6zn+UTaDS6K9GxuEowv6Jh?= =?us-ascii?Q?UChDNwrzzz/GgkkEVWAHOYJ+MNLufD7mPedaBHP+?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9452.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a557960b-c357-4a85-fe80-08dc3e5ad9ae X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Mar 2024 03:58:29.9761 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 12Gs62nl6uPUX6p0ya1oZrJXHPU9IQ46kIs+GPmP88el7F/Eb08ibjuuSake6QGmZbTs7Vod3VAIQjRQNKKLHw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5912 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: dnsOeuT1GXdMhLc22gRv2BFzx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=r0E5QXSE; dmarc=pass (policy=none) header.from=groups.io; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io [AMD Official Use Only - General] Reviewed-by: Abner Chang > -----Original Message----- > From: Nickle Wang > Sent: Thursday, March 7, 2024 11:24 AM > To: devel@edk2.groups.io > Cc: Chang, Abner ; Igor Kulchytskyy > ; Nick Ramirez > Subject: [edk2-redfish-client][PATCH v3 1/2] RedfishClientPkg: introduce > Redfish resource config2 protocol. > > Caution: This message originated from an External Source. Use proper caut= ion > when opening attachments, clicking links, or responding. > > > Introduce EDKII Redfish Resource Config2 Protocol. Comparing to > Redfish Resource Config Protocol, this protocol adds new parameter > called "JsonText". This allows Redfish caller driver to pass JSON > context to callee. Callee save the effort of getting same data from > Redfish service again. This is useful when Redfish service supports > "expand" query parameter. "Version" is added to this protocol too so > we don't create new protocol to add new parameter in the future. > > Signed-off-by: Nickle Wang > Cc: Abner Chang > Cc: Igor Kulchytskyy > Cc: Nick Ramirez > --- > RedfishClientPkg/RedfishClientPkg.dec | 2 + > .../EdkIIRedfishResourceConfig2Protocol.h | 158 ++++++++++++++++++ > 2 files changed, 160 insertions(+) > create mode 100644 > RedfishClientPkg/Include/Protocol/EdkIIRedfishResourceConfig2Protocol.h > > diff --git a/RedfishClientPkg/RedfishClientPkg.dec > b/RedfishClientPkg/RedfishClientPkg.dec > index aa018d714..f894f30ab 100644 > --- a/RedfishClientPkg/RedfishClientPkg.dec > +++ b/RedfishClientPkg/RedfishClientPkg.dec > @@ -48,6 +48,8 @@ > gEdkIIRedfishResourceAddendumProtocolGuid =3D { 0xda36b12b, 0xaad4, > 0x4e90, { 0xba, 0xcb, 0xe3, 0xb5, 0x3b, 0x08, 0xbc, 0x54 } } > ## Include/Protocol/EdkIIRedfishOverrideProtocol.h > gEdkiiRedfishOverrideProtocolGuid =3D { 0xb55bef20, 0xf7c8, 0x= 4ae9, > { 0xa7, 0xca, 0x8b, 0xba, 0x9f, 0x7b, 0xbf, 0x9c } } > + ## Include/Protocol/EdkIIRedfishResourceConfig2Protocol.h > + gEdkIIRedfishResourceConfig2ProtocolGuid =3D { 0xe9bef87f, 0xbff4, > 0x4872, { 0xa9, 0xa4, 0x16, 0x59, 0xbe, 0xd9, 0x1c, 0xf4 } } > > [Guids] > ## Include/Guid/RedfishClientPkgTokenSpace.h > diff --git > a/RedfishClientPkg/Include/Protocol/EdkIIRedfishResourceConfig2Protocol.h > b/RedfishClientPkg/Include/Protocol/EdkIIRedfishResourceConfig2Protocol.h > new file mode 100644 > index 000000000..a0613048b > --- /dev/null > +++ > b/RedfishClientPkg/Include/Protocol/EdkIIRedfishResourceConfig2Protocol.h > @@ -0,0 +1,158 @@ > +/** @file > + This file defines the EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL > interface. > + > + Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights > reserved. > + > + SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef EDKII_REDFISH_RESOURCE_CONFIG2_H_ > +#define EDKII_REDFISH_RESOURCE_CONFIG2_H_ > + > +#include > + > +typedef struct _EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL > EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL; > + > +/** > + Provision redfish resource by given URI. > + > + @param[in] This Pointer to > EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL instance. > + @param[in] Uri Target URI to create resource. > + @param[in] JsonText The additional JSON data in ASCII str= ing format > passed to callee. > + The usage is defined between the Redf= ish feature driver and > subordinate > + Redfish resource feature driver. > + @param[in] HttpPostMode TRUE if resource does not exist, HTTP= POST > 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_CONFIG2_PROTOCOL_PROVISIONING)( > + IN EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL *This, > + IN EFI_STRING Uri, > + IN CHAR8 *JsonText OPTIONAL, > + IN BOOLEAN HttpPostMode > + ); > + > +/** > + Consume resource from given URI. > + > + @param[in] This Pointer to > EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL instance. > + @param[in] Uri The target URI to consume. > + @param[in] JsonText The additional JSON data in ASCII str= ing format > passed to callee. > + The usage is defined between the Redf= ish feature driver and > subordinate > + Redfish resource feature driver. > + > + @retval EFI_SUCCESS Value is returned successfully. > + @retval Others Some error happened. > + > +**/ > +typedef > +EFI_STATUS > +(EFIAPI *EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL_CONSUME)( > + IN EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL *This, > + IN EFI_STRING Uri, > + IN CHAR8 *JsonText OPTIONAL > + ); > + > +/** > + Update resource to given URI. > + > + @param[in] This Pointer to > EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL instance. > + @param[in] Uri The target URI to consume. > + @param[in] JsonText The additional JSON data in ASCII str= ing format > passed to callee. > + The usage is defined between the Redf= ish feature driver and > subordinate > + Redfish resource feature driver. > + > + @retval EFI_SUCCESS Value is returned successfully. > + @retval Others Some error happened. > + > +**/ > +typedef > +EFI_STATUS > +(EFIAPI *EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL_UPDATE)( > + IN EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL *This, > + IN EFI_STRING Uri, > + IN CHAR8 *JsonText OPTIONAL > + ); > + > +/** > + Check resource on given URI. > + > + @param[in] This Pointer to > EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL instance. > + @param[in] Uri The target URI to consume. > + @param[in] JsonText The additional JSON data in ASCII str= ing format > passed to callee. > + The usage is defined between the Redf= ish feature driver and > subordinate > + Redfish resource feature driver. > + > + @retval EFI_SUCCESS Value is returned successfully. > + @retval Others Some error happened. > + > +**/ > +typedef > +EFI_STATUS > +(EFIAPI *EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL_CHECK)( > + IN EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL *This, > + IN EFI_STRING Uri, > + IN CHAR8 *JsonText OPTIONAL > + ); > + > +/** > + Identify resource on given URI. > + > + @param[in] This Pointer to > EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL instance. > + @param[in] Uri The target URI to consume. > + @param[in] JsonText The additional JSON data in ASCII str= ing format > passed to callee. > + The usage is defined between the Redf= ish feature driver and > subordinate > + Redfish resource feature driver. > + > + @retval EFI_SUCCESS This is target resource which we want= to > handle. > + @retval EFI_UNSUPPORTED This is not the target resource. > + @retval Others Some error happened. > + > +**/ > +typedef > +EFI_STATUS > +(EFIAPI *EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL_IDENTIFY)( > + IN EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL *This, > + IN EFI_STRING Uri, > + IN CHAR8 *JsonText OPTIONAL > + ); > + > +/** > + Get information about this protocol. > + > + @param[in] This Pointer to > EDKII_REDFISH_RESOURCE_CONFIG2_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_CONFIG2_PROTOCOL_GET_INFO)( > + IN EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL *This, > + OUT REDFISH_SCHEMA_INFO *Info > + ); > + > +struct _EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL { > + UINT32 Version; > + EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL_PROVISIONING > Provisioning; > + EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL_CONSUME > Consume; > + EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL_UPDATE Update; > + EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL_CHECK Check; > + EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL_IDENTIFY Identify; > + EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL_GET_INFO GetInfo; > +}; > + > +#define EDKII_REDFISH_RESOURCE_CONFIG2_PROTOCOL_REVISION > 0x00001000 > + > +extern EFI_GUID gEdkIIRedfishResourceConfig2ProtocolGuid; > + > +#endif > -- > 2.34.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116470): https://edk2.groups.io/g/devel/message/116470 Mute This Topic: https://groups.io/mt/104781207/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-