create method

Future<GoogleCloudApihubV1HostProjectRegistration> create(
  1. GoogleCloudApihubV1HostProjectRegistration request,
  2. String parent, {
  3. String? hostProjectRegistrationId,
  4. String? $fields,
})

Create a host project registration.

A Google cloud project can be registered as a host project if it is not attached as a runtime project to another host project. A project can be registered as a host project only once. Subsequent register calls for the same project will fail.

request - The metadata request object.

Request parameters:

parent - Required. The parent resource for the host project. Format: projects/{project}/locations/{location} Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+$.

hostProjectRegistrationId - Required. The ID to use for the Host Project Registration, which will become the final component of the host project registration's resource name. The ID must be the same as the Google cloud project specified in the host_project_registration.gcp_project field.

$fields - Selector specifying which fields to include in a partial response.

Completes with a GoogleCloudApihubV1HostProjectRegistration.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<GoogleCloudApihubV1HostProjectRegistration> create(
  GoogleCloudApihubV1HostProjectRegistration request,
  core.String parent, {
  core.String? hostProjectRegistrationId,
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if (hostProjectRegistrationId != null)
      'hostProjectRegistrationId': [hostProjectRegistrationId],
    if ($fields != null) 'fields': [$fields],
  };

  final url_ =
      'v1/' + core.Uri.encodeFull('$parent') + '/hostProjectRegistrations';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return GoogleCloudApihubV1HostProjectRegistration.fromJson(
    response_ as core.Map<core.String, core.dynamic>,
  );
}