mirror of
https://github.com/imjasonh/gcloud-help
synced 2026-07-10 11:21:48 +00:00
296 lines
10 KiB
Text
296 lines
10 KiB
Text
NAME
|
|
gcloud beta saas-runtime flags create - create Flag
|
|
|
|
SYNOPSIS
|
|
gcloud beta saas-runtime flags create FLAG
|
|
--flag-value-type=FLAG_VALUE_TYPE --key=KEY --unit-kind=UNIT_KIND
|
|
[--annotations=[ANNOTATIONS,...]] [--description=DESCRIPTION]
|
|
[--evaluation-spec=[allocations=ALLOCATIONS],
|
|
[attributes=ATTRIBUTES],[defaultTarget=DEFAULTTARGET],[rules=RULES]]
|
|
[--flag-set=FLAG_SET] [--labels=[LABELS,...]] [--location=LOCATION]
|
|
[--state=STATE]
|
|
[--variants=[booleanValue=BOOLEANVALUE],[description=DESCRIPTION],
|
|
[doubleValue=DOUBLEVALUE],
|
|
[id=ID],[integerValue=INTEGERVALUE],[stringValue=STRINGVALUE]]
|
|
[GCLOUD_WIDE_FLAG ...]
|
|
|
|
DESCRIPTION
|
|
(BETA) Create a new feature flag resource. Flags define toggleable features
|
|
or configurations that can be evaluated at runtime by applications.
|
|
|
|
EXAMPLES
|
|
To create a simple boolean flag with a default Disabled state, run:
|
|
|
|
$ gcloud beta saas-runtime flags create my-feature-flag \
|
|
--key=enable_new_feature --flag-value-type=bool \
|
|
--unit-kind=my-service-unit \
|
|
--variants='[{"id": "Enabled", "booleanValue": true}, {"id":
|
|
"Disabled", "booleanValue": false}]' \
|
|
--evaluation-spec='{"defaultTarget": "Disabled"}' \
|
|
--location=global
|
|
|
|
To create a percentage rollout (10% Enabled) using a userID attribute, run:
|
|
|
|
$ gcloud beta saas-runtime flags create beta-feature \
|
|
--key=beta_rollout --flag-value-type=bool \
|
|
--unit-kind=my-service-unit \
|
|
--variants='[{"id": "Enabled", "booleanValue": true}, {"id":
|
|
"Disabled", "booleanValue": false}]' \
|
|
--evaluation-spec='{"allocations": [{"id": "p10",
|
|
"randomizedOn": "userID", "slots": [{"variant": "Disabled",
|
|
"weight": 90}, {"variant": "Enabled", "weight": 10}]}],
|
|
"defaultTarget": "p10", "attributes":
|
|
["projects/my-project/locations/global/flagAttributes/id-attr"]}' \
|
|
--location=global
|
|
|
|
POSITIONAL ARGUMENTS
|
|
Flag resource - ID of the Flag:
|
|
|
|
"projects/{project}/locations/{location}/flags/{flag_id}"
|
|
|
|
This follows the standard Google Cloud naming scheme (URI). This
|
|
represents a Cloud resource. (NOTE) Some attributes are not given
|
|
arguments in this group but can be set in other ways.
|
|
|
|
To set the project attribute:
|
|
◆ provide the argument flag on the command line with a fully specified
|
|
name;
|
|
◆ provide the argument --project on the command line;
|
|
◆ set the property core/project.
|
|
|
|
To set the location attribute:
|
|
◆ provide the argument flag on the command line with a fully specified
|
|
name;
|
|
◆ provide the argument --location on the command line.
|
|
|
|
This must be specified.
|
|
|
|
FLAG
|
|
ID of the flag or fully qualified identifier for the flag.
|
|
|
|
To set the flag attribute:
|
|
▸ provide the argument flag on the command line.
|
|
|
|
REQUIRED FLAGS
|
|
--flag-value-type=FLAG_VALUE_TYPE
|
|
The type of the flag's value, e.g. BOOLEAN (required). FLAG_VALUE_TYPE
|
|
must be one of:
|
|
|
|
bool
|
|
The flag's value type is a boolean.
|
|
double
|
|
The flag's value type is a double.
|
|
int
|
|
The flag's value type is an integer.
|
|
string
|
|
The flag's value type is a string.
|
|
|
|
--key=KEY
|
|
Flag key used in client runtime evaluation (required). Max length: 256
|
|
bytes.
|
|
|
|
UnitKind resource - Reference to the UnitKind that can consume this Flag.
|
|
This represents a Cloud resource. (NOTE) Some attributes are not given
|
|
arguments in this group but can be set in other ways.
|
|
|
|
To set the project attribute:
|
|
◆ provide the argument --unit-kind on the command line with a fully
|
|
specified name;
|
|
◆ provide the argument --project on the command line;
|
|
◆ set the property core/project.
|
|
|
|
To set the location attribute:
|
|
◆ provide the argument --unit-kind on the command line with a fully
|
|
specified name;
|
|
◆ provide the argument --location on the command line.
|
|
|
|
This must be specified.
|
|
|
|
--unit-kind=UNIT_KIND
|
|
ID of the unitKind or fully qualified identifier for the unitKind.
|
|
|
|
To set the unit-kind attribute:
|
|
▸ provide the argument --unit-kind on the command line.
|
|
|
|
OPTIONAL FLAGS
|
|
--annotations=[ANNOTATIONS,...]
|
|
Unstructured key-value map stored with a resource that may be set by
|
|
external tools to store and retrieve arbitrary metadata. Annotations
|
|
are not queryable and should be preserved when modifying objects.
|
|
|
|
KEY
|
|
Sets KEY value.
|
|
|
|
VALUE
|
|
Sets VALUE value.
|
|
|
|
Shorthand Example:
|
|
|
|
--annotations=string=string
|
|
|
|
JSON Example:
|
|
|
|
--annotations='{"string": "string"}'
|
|
|
|
File Example:
|
|
|
|
--annotations=path_to_file.(yaml|json)
|
|
|
|
--description=DESCRIPTION
|
|
A description of the flag. Max length: 500 bytes.
|
|
|
|
--evaluation-spec=[allocations=ALLOCATIONS],[attributes=ATTRIBUTES],[defaultTarget=DEFAULTTARGET],[rules=RULES]
|
|
Specification of how the Flag value should be evaluated.
|
|
|
|
allocations
|
|
A list of allocations.
|
|
|
|
description
|
|
A description of the allocation. Max length: 500 bytes.
|
|
|
|
id
|
|
Id of the allocation. Max length: 128 bytes.
|
|
|
|
randomizedOn
|
|
Key of the context attribute that is used for traffic
|
|
splitting.
|
|
|
|
slots
|
|
Slots defines the weighted distribution of variants.
|
|
|
|
variant
|
|
Variant of the allocation slot.
|
|
|
|
weight
|
|
Weight defines the proportion of traffic to allocate to the
|
|
variant, relative to other slots in the same allocation.
|
|
|
|
attributes
|
|
Names of the context attributes that are used in the evaluation
|
|
rules and allocations.
|
|
|
|
defaultTarget
|
|
Default variant for the flag.
|
|
|
|
rules
|
|
Define the logic for evaluating the flag against a given context.
|
|
The rules are evaluated sequentially in their specified order.
|
|
|
|
condition
|
|
A Common Expression Language (CEL cel.dev) expression evaluated
|
|
against the evaluation context. For example: plan == "premium"
|
|
&& country == "DE".
|
|
|
|
id
|
|
A unique identifier for the rule.
|
|
|
|
target
|
|
The ID of the variant to return if the condition evaluates to
|
|
true.
|
|
|
|
Shorthand Example:
|
|
|
|
--evaluation-spec=allocations=[{description=string,id=string,randomizedOn=string,slots=[{variant=string,weight=int}]}],attributes=[string],defaultTarget=string,rules=[{condition=string,id=string,target=string}]
|
|
|
|
JSON Example:
|
|
|
|
--evaluation-spec='{"allocations": [{"description": "string", "id": "string", "randomizedOn": "string", "slots": [{"variant": "string", "weight": int}]}], "attributes": ["string"], "defaultTarget": "string", "rules": [{"condition": "string", "id": "string", "target": "string"}]}'
|
|
|
|
File Example:
|
|
|
|
--evaluation-spec=path_to_file.(yaml|json)
|
|
|
|
--flag-set=FLAG_SET
|
|
Flag set this flag belongs to.
|
|
|
|
--labels=[LABELS,...]
|
|
The labels on the resource, which can be used for categorization.
|
|
|
|
KEY
|
|
Keys must start with a lowercase character and contain only hyphens
|
|
(-), underscores (_), lowercase characters, and numbers.
|
|
|
|
VALUE
|
|
Values must contain only hyphens (-), underscores (_), lowercase
|
|
characters, and numbers.
|
|
|
|
Shorthand Example:
|
|
|
|
--labels=string=string
|
|
|
|
JSON Example:
|
|
|
|
--labels='{"string": "string"}'
|
|
|
|
File Example:
|
|
|
|
--labels=path_to_file.(yaml|json)
|
|
|
|
--location=LOCATION
|
|
For resources [flag, unit-kind], provides fallback value for resource
|
|
location attribute. When the resource's full URI path is not provided,
|
|
location will fallback to this flag value.
|
|
|
|
--state=STATE
|
|
Current state of the flag. STATE must be one of:
|
|
|
|
active
|
|
The flag is in the active state.
|
|
cleanup
|
|
The flag is in the cleanup state and ready to be deleted.
|
|
in-development
|
|
The flag is currently in development.
|
|
sunsetting
|
|
The flag is in the sunsetting state, indicating it is being phased
|
|
out.
|
|
|
|
--variants=[booleanValue=BOOLEANVALUE],[description=DESCRIPTION],[doubleValue=DOUBLEVALUE],[id=ID],[integerValue=INTEGERVALUE],[stringValue=STRINGVALUE]
|
|
A list of variants. Variant is an identifier for a value (name assigned
|
|
to a value).
|
|
|
|
booleanValue
|
|
Value is a single boolean flag value for the variant.
|
|
|
|
description
|
|
A description of the variant. Max length: 500 bytes.
|
|
|
|
doubleValue
|
|
Value is a single double flag value for the variant.
|
|
|
|
id
|
|
Id of the variant. Max length: 128 bytes.
|
|
|
|
integerValue
|
|
Value is a single integer flag value for the variant.
|
|
|
|
stringValue
|
|
Value is a single string flag value for the variant. Max length:
|
|
500 bytes.
|
|
|
|
Shorthand Example:
|
|
|
|
--variants=booleanValue=boolean,description=string,doubleValue=float,id=string,integerValue=int,stringValue=string --variants=booleanValue=boolean,description=string,doubleValue=float,id=string,integerValue=int,stringValue=string
|
|
|
|
JSON Example:
|
|
|
|
--variants='[{"booleanValue": boolean, "description": "string", "doubleValue": float, "id": "string", "integerValue": int, "stringValue": "string"}]'
|
|
|
|
File Example:
|
|
|
|
--variants=path_to_file.(yaml|json)
|
|
|
|
GCLOUD WIDE FLAGS
|
|
These flags are available to all commands: --access-token-file, --account,
|
|
--billing-project, --configuration, --flags-file, --flatten, --format,
|
|
--help, --impersonate-service-account, --log-http, --project, --quiet,
|
|
--trace-token, --user-output-enabled, --verbosity.
|
|
|
|
Run $ gcloud help for details.
|
|
|
|
API REFERENCE
|
|
This command uses the saasservicemgmt/v1beta1 API. The full documentation
|
|
for this API can be found at: https://cloud.google.com/saas-runtime/docs
|
|
|
|
NOTES
|
|
This command is currently in beta and might change without notice.
|
|
|