create method
Create a Release
.
Release names should reflect the developer's deployment practices. For
example, the release name may include the environment name, application
name, application version, or any other name meaningful to the developer.
Once a Release
refers to a Ruleset
, the rules can be enforced by
Firebase Rules-enabled services. More than one Release
may be 'live'
concurrently. Consider the following three Release
names for
projects/foo
and the Ruleset
to which they refer. Release Name ->
Ruleset Name * projects/foo/releases/prod ->
projects/foo/rulesets/uuid123 * projects/foo/releases/prod/beta ->
projects/foo/rulesets/uuid123 * projects/foo/releases/prod/v23 ->
projects/foo/rulesets/uuid456 The relationships reflect a Ruleset
rollout in progress. The prod
and prod/beta
releases refer to the same
Ruleset
. However, prod/v23
refers to a new Ruleset
. The Ruleset
reference for a Release
may be updated using the UpdateRelease method.
request
- The metadata request object.
Request parameters:
name
- Required. Resource name for the project which owns this
Release
. Format: projects/{project_id}
Value must have pattern ^projects/\[^/\]+$
.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a Release.
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<Release> create(
Release request,
core.String name, {
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v1/' + core.Uri.encodeFull('$name') + '/releases';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return Release.fromJson(response_ as core.Map<core.String, core.dynamic>);
}