Updated on 2024-04-19 GMT+08:00

Create a private provider version

Function

CreatePrivateProviderVersion

  • The provider_version must follow the Semantic Version and is customized by the user.

  • 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.

  • RFS only performs a shallow check on function_graph_urn, verifying compliance with regular rules and presence within valid region. However, no comprehensive verifications are performed, including validation of user permissions or existence, etc.

URI

POST /v1/private-providers/{provider_name}/versions

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.

Minimum: 1

Maximum: 64

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.

Minimum: 36

Maximum: 128

Table 3 Request body 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.

Minimum: 36

Maximum: 36

provider_version

Yes

String

Private provider version. The version number follows the Semantic Version and is customized by the user.

Minimum: 5

Maximum: 128

version_description

No

String

The Description of the private provider version. It can be used by users to identify and manage private provider versions. Note: The private provider version is immutable, so the description cannot be updated. If it needs to be updated, please delete private provider version and rebuild it.

Minimum: 0

Maximum: 1024

function_graph_urn

Yes

String

Uniform resource identifier for FunctionGraph methods, it can be used to uniquely identify FunctionGraph methods. Only supports the function graph urns in the same region as RFS. If provided in other regions, 400 is returned.

For more detail about this parameter, please refer to the official documentation: https://support.huaweicloud.com/api-functiongraph/functiongraph_06_0102.html

Minimum: 32

Maximum: 256

Response Parameters

Status code: 400

Table 4 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

Minimum: 11

Maximum: 11

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

Status code: 401

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

Minimum: 11

Maximum: 11

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

Status code: 403

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

Minimum: 11

Maximum: 11

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

Status code: 404

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

Minimum: 11

Maximum: 11

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

Status code: 409

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

Minimum: 11

Maximum: 11

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

Status code: 429

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

Minimum: 11

Maximum: 11

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

Status code: 500

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

Minimum: 11

Maximum: 11

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

Example Requests

  • Create a new private provider version

    POST https://{endpoint}/v1/private-providers/my-hello-world-provider-name/versions
    
    {
      "provider_version" : "0.0.2",
      "function_graph_urn" : "urn:fss:cn-north-7:a61dfe3154de42829367056598d5040f:function:default:test:latest",
      "version_description" : "my second private provider version"
    }
  • Create a new private provider version with provider ID

    POST https://{endpoint}/v1/private-providers/my-hello-world-provider-name/versions
    
    {
      "provider_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3",
      "provider_version" : "0.0.1",
      "function_graph_urn" : "urn:fss:cn-north-7:a61dfe3154de42829367056598d5040f:function:default:test:latest",
      "version_description" : "my first private provider version"
    }

Example Responses

None

Status Codes

Status Code

Description

201

Private provider version created successfully. No content returned

400

Invalid request.

401

Authentication failed.

403

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

  2. The maximum number of private provider versions has been reached.

404

The private provider does not exist.

409

Creation requests conflict. The specified private provider version already exists.

429

Too frequent requests.

500

Internal server error.