Lockbox API, gRPC: SecretService.Create
Creates a secret in the specified folder.
gRPC request
rpc Create (CreateSecretRequest) returns (operation.Operation)
CreateSecretRequest
{
"folderId": "string",
"name": "string",
"description": "string",
"labels": "string",
"kmsKeyId": "string",
"versionDescription": "string",
"versionPayloadEntries": [
{
"key": "string",
// Includes only one of the fields `textValue`, `binaryValue`
"textValue": "string",
"binaryValue": "bytes"
// end of the list of possible fields
}
],
"deletionProtection": "bool",
// Includes only one of the fields `passwordPayloadSpecification`
"passwordPayloadSpecification": {
"passwordKey": "string",
"length": "int64",
"includeUppercase": "google.protobuf.BoolValue",
"includeLowercase": "google.protobuf.BoolValue",
"includeDigits": "google.protobuf.BoolValue",
"includePunctuation": "google.protobuf.BoolValue",
"includedPunctuation": "string",
"excludedPunctuation": "string"
},
// end of the list of possible fields
"createVersion": "google.protobuf.BoolValue"
}
Field |
Description |
folderId |
string Required field. ID of the folder to create a secret in. |
name |
string Name of the secret. |
description |
string Description of the secret. |
labels |
string Custom labels for the secret as |
kmsKeyId |
string Optional ID of the KMS key will be used to encrypt and decrypt the secret. |
versionDescription |
string Description of the first version. |
versionPayloadEntries[] |
Payload entries added to the first version. |
deletionProtection |
bool Flag that inhibits deletion of the secret. |
passwordPayloadSpecification |
Includes only one of the fields |
createVersion |
If true: a version will be created with either version_payload_entries or password_payload_specification (one is required). |
PayloadEntryChange
Field |
Description |
key |
string Required field. Non-confidential key of the entry. |
textValue |
string Use the field to set a text value. Includes only one of the fields Confidential value of the entry. |
binaryValue |
bytes Use the field to set a binary value. Includes only one of the fields Confidential value of the entry. |
PasswordPayloadSpecification
Field |
Description |
passwordKey |
string Required field. key of the entry to store generated password value |
length |
int64 password length; by default, a reasonable length will be decided |
includeUppercase |
whether at least one A..Z character is included in the password, true by default |
includeLowercase |
whether at least one a..z character is included in the password, true by default |
includeDigits |
whether at least one 0..9 character is included in the password, true by default |
includePunctuation |
whether at least one punctuation character is included in the password, true by default |
includedPunctuation |
string If include_punctuation is true, one of these two fields (not both) may be used optionally to customize the punctuation: |
excludedPunctuation |
string a string of punctuation characters to exclude from the default (at most 31, it's not allowed to exclude all the 32) |
operation.Operation
{
"id": "string",
"description": "string",
"createdAt": "google.protobuf.Timestamp",
"createdBy": "string",
"modifiedAt": "google.protobuf.Timestamp",
"done": "bool",
"metadata": {
"secretId": "string",
"versionId": "string"
},
// Includes only one of the fields `error`, `response`
"error": "google.rpc.Status",
"response": {
"id": "string",
"folderId": "string",
"createdAt": "google.protobuf.Timestamp",
"name": "string",
"description": "string",
"labels": "string",
"kmsKeyId": "string",
"status": "Status",
"currentVersion": {
"id": "string",
"secretId": "string",
"createdAt": "google.protobuf.Timestamp",
"destroyAt": "google.protobuf.Timestamp",
"description": "string",
"status": "Status",
"payloadEntryKeys": [
"string"
],
// Includes only one of the fields `passwordPayloadSpecification`
"passwordPayloadSpecification": {
"passwordKey": "string",
"length": "int64",
"includeUppercase": "google.protobuf.BoolValue",
"includeLowercase": "google.protobuf.BoolValue",
"includeDigits": "google.protobuf.BoolValue",
"includePunctuation": "google.protobuf.BoolValue",
"includedPunctuation": "string",
"excludedPunctuation": "string"
}
// end of the list of possible fields
},
"deletionProtection": "bool",
// Includes only one of the fields `passwordPayloadSpecification`
"passwordPayloadSpecification": {
"passwordKey": "string",
"length": "int64",
"includeUppercase": "google.protobuf.BoolValue",
"includeLowercase": "google.protobuf.BoolValue",
"includeDigits": "google.protobuf.BoolValue",
"includePunctuation": "google.protobuf.BoolValue",
"includedPunctuation": "string",
"excludedPunctuation": "string"
}
// end of the list of possible fields
}
// end of the list of possible fields
}
An Operation resource. For more information, see Operation.
Field |
Description |
id |
string ID of the operation. |
description |
string Description of the operation. 0-256 characters long. |
createdAt |
Creation timestamp. |
createdBy |
string ID of the user or service account who initiated the operation. |
modifiedAt |
The time when the Operation resource was last modified. |
done |
bool If the value is |
metadata |
Service-specific metadata associated with the operation. |
error |
The error result of the operation in case of failure or cancellation. Includes only one of the fields The operation result. |
response |
The normal response of the operation in case of success. Includes only one of the fields The operation result. |
CreateSecretMetadata
Field |
Description |
secretId |
string ID of the secret being created. |
versionId |
string ID of the current version of the secret being created. |
Secret
A secret that may contain several versions of the payload.
Field |
Description |
id |
string ID of the secret. |
folderId |
string ID of the folder that the secret belongs to. |
createdAt |
Creation timestamp. |
name |
string Name of the secret. |
description |
string Description of the secret. |
labels |
string Custom labels for the secret as |
kmsKeyId |
string Optional ID of the KMS key will be used to encrypt and decrypt the secret. |
status |
enum Status Status of the secret.
|
currentVersion |
Current (i.e. the |
deletionProtection |
bool Flag that inhibits deletion of the secret. |
passwordPayloadSpecification |
Includes only one of the fields |
Version
Field |
Description |
id |
string ID of the version. |
secretId |
string ID of the secret that the version belongs to. |
createdAt |
Time when the version was created. |
destroyAt |
Time when the version is going to be destroyed. Empty unless the status |
description |
string Description of the version. |
status |
enum Status Status of the secret.
|
payloadEntryKeys[] |
string Keys of the entries contained in the version payload. |
passwordPayloadSpecification |
Includes only one of the fields |
PasswordPayloadSpecification
Field |
Description |
passwordKey |
string Required field. key of the entry to store generated password value |
length |
int64 password length; by default, a reasonable length will be decided |
includeUppercase |
whether at least one A..Z character is included in the password, true by default |
includeLowercase |
whether at least one a..z character is included in the password, true by default |
includeDigits |
whether at least one 0..9 character is included in the password, true by default |
includePunctuation |
whether at least one punctuation character is included in the password, true by default |
includedPunctuation |
string If include_punctuation is true, one of these two fields (not both) may be used optionally to customize the punctuation: |
excludedPunctuation |
string a string of punctuation characters to exclude from the default (at most 31, it's not allowed to exclude all the 32) |