Class ServiceAccountKey.Builder (3.40.0)

public static final class ServiceAccountKey.Builder extends GeneratedMessageV3.Builder<ServiceAccountKey.Builder> implements ServiceAccountKeyOrBuilder

Represents a service account key.

A service account has two sets of key-pairs: user-managed, and system-managed.

User-managed key-pairs can be created and deleted by users. Users are responsible for rotating these keys periodically to ensure security of their service accounts. Users retain the private key of these key-pairs, and Google retains ONLY the public key.

System-managed keys are automatically rotated by Google, and are used for signing for a maximum of two weeks. The rotation process is probabilistic, and usage of the new key will gradually ramp up and down over the key's lifetime.

If you cache the public key set for a service account, we recommend that you update the cache every 15 minutes. User-managed keys can be added and removed at any time, so it is important to update the cache frequently. For Google-managed keys, Google will publish a key at least 6 hours before it is first used for signing and will keep publishing it for at least 6 hours after it was last used for signing.

Public keys for all service accounts are also published at the OAuth2 Service Account API.

Protobuf type google.iam.admin.v1.ServiceAccountKey

Static Methods

getDescriptor()

public static final Descriptors.Descriptor getDescriptor()
Returns
Type Description
Descriptor

Methods

addRepeatedField(Descriptors.FieldDescriptor field, Object value)

public ServiceAccountKey.Builder addRepeatedField(Descriptors.FieldDescriptor field, Object value)
Parameters
Name Description
field FieldDescriptor
value Object
Returns
Type Description
ServiceAccountKey.Builder
Overrides

build()

public ServiceAccountKey build()
Returns
Type Description
ServiceAccountKey

buildPartial()

public ServiceAccountKey buildPartial()
Returns
Type Description
ServiceAccountKey

clear()

public ServiceAccountKey.Builder clear()
Returns
Type Description
ServiceAccountKey.Builder
Overrides

clearDisabled()

public ServiceAccountKey.Builder clearDisabled()

The key status.

bool disabled = 11;

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

clearField(Descriptors.FieldDescriptor field)

public ServiceAccountKey.Builder clearField(Descriptors.FieldDescriptor field)
Parameter
Name Description
field FieldDescriptor
Returns
Type Description
ServiceAccountKey.Builder
Overrides

clearKeyAlgorithm()

public ServiceAccountKey.Builder clearKeyAlgorithm()

Specifies the algorithm (and possibly key size) for the key.

.google.iam.admin.v1.ServiceAccountKeyAlgorithm key_algorithm = 8;

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

clearKeyOrigin()

public ServiceAccountKey.Builder clearKeyOrigin()

The key origin.

.google.iam.admin.v1.ServiceAccountKeyOrigin key_origin = 9;

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

clearKeyType()

public ServiceAccountKey.Builder clearKeyType()

The key type.

.google.iam.admin.v1.ListServiceAccountKeysRequest.KeyType key_type = 10;

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

clearName()

public ServiceAccountKey.Builder clearName()

The resource name of the service account key in the following format projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}.

string name = 1;

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

clearOneof(Descriptors.OneofDescriptor oneof)

public ServiceAccountKey.Builder clearOneof(Descriptors.OneofDescriptor oneof)
Parameter
Name Description
oneof OneofDescriptor
Returns
Type Description
ServiceAccountKey.Builder
Overrides

clearPrivateKeyData()

public ServiceAccountKey.Builder clearPrivateKeyData()

The private key data. Only provided in CreateServiceAccountKey responses. Make sure to keep the private key data secure because it allows for the assertion of the service account identity. When base64 decoded, the private key data can be used to authenticate with Google API client libraries and with <a href="/sdk/gcloud/reference/auth/activate-service-account">gcloud auth activate-service-account</a>.

bytes private_key_data = 3;

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

clearPrivateKeyType()

public ServiceAccountKey.Builder clearPrivateKeyType()

The output format for the private key. Only provided in CreateServiceAccountKey responses, not in GetServiceAccountKey or ListServiceAccountKey responses.

Google never exposes system-managed private keys, and never retains user-managed private keys.

.google.iam.admin.v1.ServiceAccountPrivateKeyType private_key_type = 2;

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

clearPublicKeyData()

public ServiceAccountKey.Builder clearPublicKeyData()

The public key data. Only provided in GetServiceAccountKey responses.

bytes public_key_data = 7;

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

clearValidAfterTime()

public ServiceAccountKey.Builder clearValidAfterTime()

The key can be used after this timestamp.

.google.protobuf.Timestamp valid_after_time = 4;

Returns
Type Description
ServiceAccountKey.Builder

clearValidBeforeTime()

public ServiceAccountKey.Builder clearValidBeforeTime()

The key can be used before this timestamp. For system-managed key pairs, this timestamp is the end time for the private key signing operation. The public key could still be used for verification for a few hours after this time.

.google.protobuf.Timestamp valid_before_time = 5;

Returns
Type Description
ServiceAccountKey.Builder

clone()

public ServiceAccountKey.Builder clone()
Returns
Type Description
ServiceAccountKey.Builder
Overrides

getDefaultInstanceForType()

public ServiceAccountKey getDefaultInstanceForType()
Returns
Type Description
ServiceAccountKey

getDescriptorForType()

public Descriptors.Descriptor getDescriptorForType()
Returns
Type Description
Descriptor
Overrides

getDisabled()

public boolean getDisabled()

The key status.

bool disabled = 11;

Returns
Type Description
boolean

The disabled.

getKeyAlgorithm()

public ServiceAccountKeyAlgorithm getKeyAlgorithm()

Specifies the algorithm (and possibly key size) for the key.

.google.iam.admin.v1.ServiceAccountKeyAlgorithm key_algorithm = 8;

Returns
Type Description
ServiceAccountKeyAlgorithm

The keyAlgorithm.

getKeyAlgorithmValue()

public int getKeyAlgorithmValue()

Specifies the algorithm (and possibly key size) for the key.

.google.iam.admin.v1.ServiceAccountKeyAlgorithm key_algorithm = 8;

Returns
Type Description
int

The enum numeric value on the wire for keyAlgorithm.

getKeyOrigin()

public ServiceAccountKeyOrigin getKeyOrigin()

The key origin.

.google.iam.admin.v1.ServiceAccountKeyOrigin key_origin = 9;

Returns
Type Description
ServiceAccountKeyOrigin

The keyOrigin.

getKeyOriginValue()

public int getKeyOriginValue()

The key origin.

.google.iam.admin.v1.ServiceAccountKeyOrigin key_origin = 9;

Returns
Type Description
int

The enum numeric value on the wire for keyOrigin.

getKeyType()

public ListServiceAccountKeysRequest.KeyType getKeyType()

The key type.

.google.iam.admin.v1.ListServiceAccountKeysRequest.KeyType key_type = 10;

Returns
Type Description
ListServiceAccountKeysRequest.KeyType

The keyType.

getKeyTypeValue()

public int getKeyTypeValue()

The key type.

.google.iam.admin.v1.ListServiceAccountKeysRequest.KeyType key_type = 10;

Returns
Type Description
int

The enum numeric value on the wire for keyType.

getName()

public String getName()

The resource name of the service account key in the following format projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}.

string name = 1;

Returns
Type Description
String

The name.

getNameBytes()

public ByteString getNameBytes()

The resource name of the service account key in the following format projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}.

string name = 1;

Returns
Type Description
ByteString

The bytes for name.

getPrivateKeyData()

public ByteString getPrivateKeyData()

The private key data. Only provided in CreateServiceAccountKey responses. Make sure to keep the private key data secure because it allows for the assertion of the service account identity. When base64 decoded, the private key data can be used to authenticate with Google API client libraries and with <a href="/sdk/gcloud/reference/auth/activate-service-account">gcloud auth activate-service-account</a>.

bytes private_key_data = 3;

Returns
Type Description
ByteString

The privateKeyData.

getPrivateKeyType()

public ServiceAccountPrivateKeyType getPrivateKeyType()

The output format for the private key. Only provided in CreateServiceAccountKey responses, not in GetServiceAccountKey or ListServiceAccountKey responses.

Google never exposes system-managed private keys, and never retains user-managed private keys.

.google.iam.admin.v1.ServiceAccountPrivateKeyType private_key_type = 2;

Returns
Type Description
ServiceAccountPrivateKeyType

The privateKeyType.

getPrivateKeyTypeValue()

public int getPrivateKeyTypeValue()

The output format for the private key. Only provided in CreateServiceAccountKey responses, not in GetServiceAccountKey or ListServiceAccountKey responses.

Google never exposes system-managed private keys, and never retains user-managed private keys.

.google.iam.admin.v1.ServiceAccountPrivateKeyType private_key_type = 2;

Returns
Type Description
int

The enum numeric value on the wire for privateKeyType.

getPublicKeyData()

public ByteString getPublicKeyData()

The public key data. Only provided in GetServiceAccountKey responses.

bytes public_key_data = 7;

Returns
Type Description
ByteString

The publicKeyData.

getValidAfterTime()

public Timestamp getValidAfterTime()

The key can be used after this timestamp.

.google.protobuf.Timestamp valid_after_time = 4;

Returns
Type Description
Timestamp

The validAfterTime.

getValidAfterTimeBuilder()

public Timestamp.Builder getValidAfterTimeBuilder()

The key can be used after this timestamp.

.google.protobuf.Timestamp valid_after_time = 4;

Returns
Type Description
Builder

getValidAfterTimeOrBuilder()

public TimestampOrBuilder getValidAfterTimeOrBuilder()

The key can be used after this timestamp.

.google.protobuf.Timestamp valid_after_time = 4;

Returns
Type Description
TimestampOrBuilder

getValidBeforeTime()

public Timestamp getValidBeforeTime()

The key can be used before this timestamp. For system-managed key pairs, this timestamp is the end time for the private key signing operation. The public key could still be used for verification for a few hours after this time.

.google.protobuf.Timestamp valid_before_time = 5;

Returns
Type Description
Timestamp

The validBeforeTime.

getValidBeforeTimeBuilder()

public Timestamp.Builder getValidBeforeTimeBuilder()

The key can be used before this timestamp. For system-managed key pairs, this timestamp is the end time for the private key signing operation. The public key could still be used for verification for a few hours after this time.

.google.protobuf.Timestamp valid_before_time = 5;

Returns
Type Description
Builder

getValidBeforeTimeOrBuilder()

public TimestampOrBuilder getValidBeforeTimeOrBuilder()

The key can be used before this timestamp. For system-managed key pairs, this timestamp is the end time for the private key signing operation. The public key could still be used for verification for a few hours after this time.

.google.protobuf.Timestamp valid_before_time = 5;

Returns
Type Description
TimestampOrBuilder

hasValidAfterTime()

public boolean hasValidAfterTime()

The key can be used after this timestamp.

.google.protobuf.Timestamp valid_after_time = 4;

Returns
Type Description
boolean

Whether the validAfterTime field is set.

hasValidBeforeTime()

public boolean hasValidBeforeTime()

The key can be used before this timestamp. For system-managed key pairs, this timestamp is the end time for the private key signing operation. The public key could still be used for verification for a few hours after this time.

.google.protobuf.Timestamp valid_before_time = 5;

Returns
Type Description
boolean

Whether the validBeforeTime field is set.

internalGetFieldAccessorTable()

protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Returns
Type Description
FieldAccessorTable
Overrides

isInitialized()

public final boolean isInitialized()
Returns
Type Description
boolean
Overrides

mergeFrom(ServiceAccountKey other)

public ServiceAccountKey.Builder mergeFrom(ServiceAccountKey other)
Parameter
Name Description
other ServiceAccountKey
Returns
Type Description
ServiceAccountKey.Builder

mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)

public ServiceAccountKey.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Name Description
input CodedInputStream
extensionRegistry ExtensionRegistryLite
Returns
Type Description
ServiceAccountKey.Builder
Overrides
Exceptions
Type Description
IOException

mergeFrom(Message other)

public ServiceAccountKey.Builder mergeFrom(Message other)
Parameter
Name Description
other Message
Returns
Type Description
ServiceAccountKey.Builder
Overrides

mergeUnknownFields(UnknownFieldSet unknownFields)

public final ServiceAccountKey.Builder mergeUnknownFields(UnknownFieldSet unknownFields)
Parameter
Name Description
unknownFields UnknownFieldSet
Returns
Type Description
ServiceAccountKey.Builder
Overrides

mergeValidAfterTime(Timestamp value)

public ServiceAccountKey.Builder mergeValidAfterTime(Timestamp value)

The key can be used after this timestamp.

.google.protobuf.Timestamp valid_after_time = 4;

Parameter
Name Description
value Timestamp
Returns
Type Description
ServiceAccountKey.Builder

mergeValidBeforeTime(Timestamp value)

public ServiceAccountKey.Builder mergeValidBeforeTime(Timestamp value)

The key can be used before this timestamp. For system-managed key pairs, this timestamp is the end time for the private key signing operation. The public key could still be used for verification for a few hours after this time.

.google.protobuf.Timestamp valid_before_time = 5;

Parameter
Name Description
value Timestamp
Returns
Type Description
ServiceAccountKey.Builder

setDisabled(boolean value)

public ServiceAccountKey.Builder setDisabled(boolean value)

The key status.

bool disabled = 11;

Parameter
Name Description
value boolean

The disabled to set.

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

setField(Descriptors.FieldDescriptor field, Object value)

public ServiceAccountKey.Builder setField(Descriptors.FieldDescriptor field, Object value)
Parameters
Name Description
field FieldDescriptor
value Object
Returns
Type Description
ServiceAccountKey.Builder
Overrides

setKeyAlgorithm(ServiceAccountKeyAlgorithm value)

public ServiceAccountKey.Builder setKeyAlgorithm(ServiceAccountKeyAlgorithm value)

Specifies the algorithm (and possibly key size) for the key.

.google.iam.admin.v1.ServiceAccountKeyAlgorithm key_algorithm = 8;

Parameter
Name Description
value ServiceAccountKeyAlgorithm

The keyAlgorithm to set.

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

setKeyAlgorithmValue(int value)

public ServiceAccountKey.Builder setKeyAlgorithmValue(int value)

Specifies the algorithm (and possibly key size) for the key.

.google.iam.admin.v1.ServiceAccountKeyAlgorithm key_algorithm = 8;

Parameter
Name Description
value int

The enum numeric value on the wire for keyAlgorithm to set.

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

setKeyOrigin(ServiceAccountKeyOrigin value)

public ServiceAccountKey.Builder setKeyOrigin(ServiceAccountKeyOrigin value)

The key origin.

.google.iam.admin.v1.ServiceAccountKeyOrigin key_origin = 9;

Parameter
Name Description
value ServiceAccountKeyOrigin

The keyOrigin to set.

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

setKeyOriginValue(int value)

public ServiceAccountKey.Builder setKeyOriginValue(int value)

The key origin.

.google.iam.admin.v1.ServiceAccountKeyOrigin key_origin = 9;

Parameter
Name Description
value int

The enum numeric value on the wire for keyOrigin to set.

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

setKeyType(ListServiceAccountKeysRequest.KeyType value)

public ServiceAccountKey.Builder setKeyType(ListServiceAccountKeysRequest.KeyType value)

The key type.

.google.iam.admin.v1.ListServiceAccountKeysRequest.KeyType key_type = 10;

Parameter
Name Description
value ListServiceAccountKeysRequest.KeyType

The keyType to set.

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

setKeyTypeValue(int value)

public ServiceAccountKey.Builder setKeyTypeValue(int value)

The key type.

.google.iam.admin.v1.ListServiceAccountKeysRequest.KeyType key_type = 10;

Parameter
Name Description
value int

The enum numeric value on the wire for keyType to set.

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

setName(String value)

public ServiceAccountKey.Builder setName(String value)

The resource name of the service account key in the following format projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}.

string name = 1;

Parameter
Name Description
value String

The name to set.

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

setNameBytes(ByteString value)

public ServiceAccountKey.Builder setNameBytes(ByteString value)

The resource name of the service account key in the following format projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}.

string name = 1;

Parameter
Name Description
value ByteString

The bytes for name to set.

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

setPrivateKeyData(ByteString value)

public ServiceAccountKey.Builder setPrivateKeyData(ByteString value)

The private key data. Only provided in CreateServiceAccountKey responses. Make sure to keep the private key data secure because it allows for the assertion of the service account identity. When base64 decoded, the private key data can be used to authenticate with Google API client libraries and with <a href="/sdk/gcloud/reference/auth/activate-service-account">gcloud auth activate-service-account</a>.

bytes private_key_data = 3;

Parameter
Name Description
value ByteString

The privateKeyData to set.

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

setPrivateKeyType(ServiceAccountPrivateKeyType value)

public ServiceAccountKey.Builder setPrivateKeyType(ServiceAccountPrivateKeyType value)

The output format for the private key. Only provided in CreateServiceAccountKey responses, not in GetServiceAccountKey or ListServiceAccountKey responses.

Google never exposes system-managed private keys, and never retains user-managed private keys.

.google.iam.admin.v1.ServiceAccountPrivateKeyType private_key_type = 2;

Parameter
Name Description
value ServiceAccountPrivateKeyType

The privateKeyType to set.

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

setPrivateKeyTypeValue(int value)

public ServiceAccountKey.Builder setPrivateKeyTypeValue(int value)

The output format for the private key. Only provided in CreateServiceAccountKey responses, not in GetServiceAccountKey or ListServiceAccountKey responses.

Google never exposes system-managed private keys, and never retains user-managed private keys.

.google.iam.admin.v1.ServiceAccountPrivateKeyType private_key_type = 2;

Parameter
Name Description
value int

The enum numeric value on the wire for privateKeyType to set.

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

setPublicKeyData(ByteString value)

public ServiceAccountKey.Builder setPublicKeyData(ByteString value)

The public key data. Only provided in GetServiceAccountKey responses.

bytes public_key_data = 7;

Parameter
Name Description
value ByteString

The publicKeyData to set.

Returns
Type Description
ServiceAccountKey.Builder

This builder for chaining.

setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)

public ServiceAccountKey.Builder setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)
Parameters
Name Description
field FieldDescriptor
index int
value Object
Returns
Type Description
ServiceAccountKey.Builder
Overrides

setUnknownFields(UnknownFieldSet unknownFields)

public final ServiceAccountKey.Builder setUnknownFields(UnknownFieldSet unknownFields)
Parameter
Name Description
unknownFields UnknownFieldSet
Returns
Type Description
ServiceAccountKey.Builder
Overrides

setValidAfterTime(Timestamp value)

public ServiceAccountKey.Builder setValidAfterTime(Timestamp value)

The key can be used after this timestamp.

.google.protobuf.Timestamp valid_after_time = 4;

Parameter
Name Description
value Timestamp
Returns
Type Description
ServiceAccountKey.Builder

setValidAfterTime(Timestamp.Builder builderForValue)

public ServiceAccountKey.Builder setValidAfterTime(Timestamp.Builder builderForValue)

The key can be used after this timestamp.

.google.protobuf.Timestamp valid_after_time = 4;

Parameter
Name Description
builderForValue Builder
Returns
Type Description
ServiceAccountKey.Builder

setValidBeforeTime(Timestamp value)

public ServiceAccountKey.Builder setValidBeforeTime(Timestamp value)

The key can be used before this timestamp. For system-managed key pairs, this timestamp is the end time for the private key signing operation. The public key could still be used for verification for a few hours after this time.

.google.protobuf.Timestamp valid_before_time = 5;

Parameter
Name Description
value Timestamp
Returns
Type Description
ServiceAccountKey.Builder

setValidBeforeTime(Timestamp.Builder builderForValue)

public ServiceAccountKey.Builder setValidBeforeTime(Timestamp.Builder builderForValue)

The key can be used before this timestamp. For system-managed key pairs, this timestamp is the end time for the private key signing operation. The public key could still be used for verification for a few hours after this time.

.google.protobuf.Timestamp valid_before_time = 5;

Parameter
Name Description
builderForValue Builder
Returns
Type Description
ServiceAccountKey.Builder