Updated on 2025-06-10 GMT+08:00

Listing private providers

Function

ListPrivateProviders

This API lists all private providers of the current account (domain) at the current region.

  • You can use sort_key and sort_dir as keywords to sort the returned results by creation time (create_time). The number of sort_keys must be the same as that of sort_dirs. Otherwise, error code 400 is returned. If sort_key and sort_dir are not assigned, results are sorted by creation time in descending order by default.

  • If there is no private provider, an empty list will be returned.

  • If you want to view all provider versions under the private provider, please use ListPrivateProviderVersions API.

  • Support pagination. If there is next_marker in the response, more output is available than is included in the current response. Use this value in the marker request parameter in a subsequent call to get the next part of the outputs. You should repeat this until the next_marker response is set to null.

URI

GET /v1/private-providers

Table 1 Query Parameters

Parameter

Mandatory

Type

Description

sort_key

No

Array of strings

Sorting field. Only create_time is supported.

sort_dir

No

Array of strings

Specify an ascending or descending order.

  • asc: ascending order

  • desc: descending order

marker

No

String

Pagination marker. When a single page cannot return all results, the previous request will return a next_marker to indicate there are more pages. Users can place the value of next_marker here to query information from the next page. This marker can only be used for requests with the same parameters as the previous request. If not specified, the query will start from the first page by default.

limit

No

Integer

The maximum number of results to return per page

Request Parameters

Table 2 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 3 Response body parameters

Parameter

Type

Description

providers

Array of PrivateProviderSummary objects

Private providers, sorted by creation time in descending order by default.

page_info

PageInfo object

Pagination information

Table 4 PrivateProviderSummary

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.

Table 5 PageInfo

Parameter

Type

Description

next_marker

String

Forward pagination identifier. Marker for the next set of results. If present, more output is available than is included in the current response. Use this value in the marker request parameter in a subsequent call to get the next part of the outputs. You should repeat this until the next_marker response is set to null.

previous_marker

String

Backward pagination identifier.

current_count

Integer

The number of items returned on current page.

Status code: 400

Table 6 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 7 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 401

Table 8 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 9 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 403

Table 10 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 11 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 429

Table 12 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 13 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 500

Table 14 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 15 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Example Requests

  • You can obtain all private providers of the current account (domain) at the current region. The returned private providers are sorted in descending order by creation time.

    GET https://{endpoint}/v1/private-providers
  • You can obtain all private providers of the current account (domain) at the current region. The returned private providers are sorted in ascending order by creation time.

    GET https://{endpoint}/v1/private-providers?sort_key=create_time&sort_dir=asc

Example Responses

Status code: 200

List private providers succeeded.

{
  "providers" : [ {
    "provider_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3",
    "provider_name" : "my-hello-world-provider-name-1",
    "provider_description" : "my first hello world private provider",
    "provider_source" : "huawei.com/private-provider/my-hello-world-provider-name",
    "create_time" : "2024-01-01T00:00:00.000Z",
    "update_time" : "2024-01-01T00:00:00.000Z"
  }, {
    "provider_id" : "337cb9a1-6293-4f80-a903-66cd195283f7",
    "provider_name" : "my-hello-world-provider-name-2",
    "provider_description" : "my first hello world private provider",
    "provider_source" : "huawei.com/private-provider/my-hello-world-provider-name",
    "create_time" : "2023-01-01T00:00:00.000Z",
    "update_time" : "2023-01-01T00:00:00.000Z"
  } ],
  "page_info" : {
    "current_count" : 2,
    "next_marker" : null,
    "previous_marker" : "zxc1oHc08HcCmypYGTsOoRcvoHUvHRUAW5NOSnc1oHc08HcCPZrwP5NOeTlRiukJgtGxeujJeuGwGIihaIUCmypYGTsOtqvKPr2xmH8fPqpGWyQ0axGwGZp9aqvx8pQ7m5FvGTsJiKk7gtNFiuaxetdRCks="
  }
}

Status Codes

Status Code

Description

200

List private providers succeeded.

400

Invalid request.

401

Authentication failed.

403

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

429

Too frequent requests.

500

Internal server error.