Help Center/ Resource Formation Service/ API Reference/ API/ Customized Providers/ Obtaining metadata of a private provider
Updated on 2025-06-10 GMT+08:00

Obtaining metadata of a private provider

Function

ShowPrivateProviderMetadata

You can use this API to obtain the private provider metadata.

  • Please refer to the ShowPrivateProviderMetadataResponseBody for specific returned response, if you want to view all provider versions under the private provider, please use ListPrivateProviderVersions API.

  • If both provider_name and provider_id are provided, RFS verifies whether they match. If provider_id does not match the current private provider ID, 400 is returned.

URI

GET /v1/private-providers/{provider_name}/metadata

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

provider_name

Yes

String

Private provider name. The name is unique within its domain (domain_id) and region.Only letters, digits, and hyphens (-) are allowed. The name only supports starting and ending with lowercase English and numbers.

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

provider_id

No

String

Unique ID of a private provider.

It is a UUID generated by RFS when a private provider is created.

Private provider names are unique only at one specific time, so you can create a private provider named helloWorld and another private provider with the same name after deleting the first one.

For parallel development in a team, users may want to ensure that the private provider they operate is the one created by themselves, not the one with the same name created by other teammates after deleting the previous one. Therefore, they can use this ID for strong matching.

RFS ensures that the ID of each private provider is different and does not change with updates. If the provider_id value is different from the current private provider ID, 400 is returned.

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

Client-Request-Id

Yes

String

Unique request ID. It is specified by a user and is used to locate a request. UUID is recommended.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

provider_id

String

Unique ID of a private provider.

It is a UUID generated by RFS when a private provider is created.

Private provider names are unique only at one specific time, so you can create a private provider named helloWorld and another private provider with the same name after deleting the first one.

For parallel development in a team, users may want to ensure that the private provider they operate is the one created by themselves, not the one with the same name created by other teammates after deleting the previous one. Therefore, they can use this ID for strong matching.

RFS ensures that the ID of each private provider is different and does not change with updates. If the provider_id value is different from the current private provider ID, 400 is returned.

provider_name

String

Private provider name. The name is unique within its domain (domain_id) and region. Only letters, digits, and hyphens (-) are allowed. The name only supports starting and ending with lowercase English and numbers.

Following the HCL best practices, provider name is recommended to be the local name of the private provider defined in the template.

CreatePrivateProvider API also uses "huawei.com/private-provider" as the fixed prefix and returns the provider_source value in the form of "huawei.com/private-provider/{provider_name}". For more details on the use of provider_name and provider_source in templates, see the API description of CreatePrivateProvider API.

provider_description

String

Description of a private provider. It can be used by customers to identify their own private providers.

provider_source

String

When users use private providers and define required_providers information in the template, they need to specify the source using provider_source value.

Provider source is spliced in the form of "huawei.com/private-provider/{provider_name}". For more details on the use of provider_name and provider_source in templates, see the API description of CreatePrivateProvider.

provider_agency_urn

String

The Urn of IAM Agency bound to the customized provider, at most one of provider_agency_name or provider_agency_urn should be provided.

provider_agency_name

String

The Name of IAM Agency bound to the customized provider, at most one of provider_agency_name or provider_agency_urn should be provided.

create_time

String

Time when a private provider is created. It uses a UTC (YYYY-MM-DDTHH:mm:ss.SSSZ) format, for example, 1970-01-01T00:00:00.000Z.

update_time

String

Time when a private provider is updated. It uses a UTC (YYYY-MM-DDTHH:mm:ss.SSSZ) format, for example, 1970-01-01T00:00:00.000Z.

Status code: 400

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 6 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 401

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 8 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 403

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 10 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 404

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 12 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 429

Table 13 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 14 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 500

Table 15 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 16 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Example Requests

  • Obtain metadata of a specified private provider.

    GET https://{endpoint}/v1/private-providers/my-hello-world-provider-name
  • Obtain metadata of a specified private provider and check whether the provided private provider ID matches the current private provider.

    GET https://{endpoint}/v1/private-providers/my-hello-world-provider-name?provider_id=ea6a4f0e-ee8a-494e-b12a-8be4a1e65af2

Example Responses

Status code: 200

Private provider metadata obtained.

{
  "provider_name" : "my-hello-world-provider-name",
  "provider_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3",
  "provider_source" : "huawei.com/private-provider/my-hello-world-provider-name",
  "provider_description" : "my first hello world private provider",
  "create_time" : "1970-01-01T00:00:00.000Z",
  "update_time" : "1970-01-01T00:00:00.000Z"
}

Status Codes

Status Code

Description

200

Private provider metadata obtained.

400

Invalid request.

401

Authentication failed.

403

The user does not have the permission to call this API.

404

The private provider does not exist.

429

Too frequent requests.

500

Internal server error.