Class ServiceAccountKey.Builder (3.25.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
TypeDescription
Descriptor

Methods

addRepeatedField(Descriptors.FieldDescriptor field, Object value)

public ServiceAccountKey.Builder addRepeatedField(Descriptors.FieldDescriptor field, Object value)
Parameters
NameDescription
fieldFieldDescriptor
valueObject
Returns
TypeDescription
ServiceAccountKey.Builder
Overrides

build()

public ServiceAccountKey build()
Returns
TypeDescription
ServiceAccountKey

buildPartial()

public ServiceAccountKey buildPartial()
Returns
TypeDescription
ServiceAccountKey

clear()

public ServiceAccountKey.Builder clear()
Returns
TypeDescription
ServiceAccountKey.Builder
Overrides

clearDisabled()

public ServiceAccountKey.Builder clearDisabled()

The key status.

bool disabled = 11;

Returns
TypeDescription
ServiceAccountKey.Builder

This builder for chaining.

clearField(Descriptors.FieldDescriptor field)

public ServiceAccountKey.Builder clearField(Descriptors.FieldDescriptor field)
Parameter
NameDescription
fieldFieldDescriptor
Returns
TypeDescription
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
TypeDescription
ServiceAccountKey.Builder

This builder for chaining.

clearKeyOrigin()

public ServiceAccountKey.Builder clearKeyOrigin()

The key origin.

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

Returns
TypeDescription
ServiceAccountKey.Builder

This builder for chaining.

clearKeyType()

public ServiceAccountKey.Builder clearKeyType()

The key type.

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

Returns
TypeDescription
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
TypeDescription
ServiceAccountKey.Builder

This builder for chaining.

clearOneof(Descriptors.OneofDescriptor oneof)

public ServiceAccountKey.Builder clearOneof(Descriptors.OneofDescriptor oneof)
Parameter
NameDescription
oneofOneofDescriptor
Returns
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
ServiceAccountKey.Builder

clone()

public ServiceAccountKey.Builder clone()
Returns
TypeDescription
ServiceAccountKey.Builder
Overrides

getDefaultInstanceForType()

public ServiceAccountKey getDefaultInstanceForType()
Returns
TypeDescription
ServiceAccountKey

getDescriptorForType()

public Descriptors.Descriptor getDescriptorForType()
Returns
TypeDescription
Descriptor
Overrides

getDisabled()

public boolean getDisabled()

The key status.

bool disabled = 11;

Returns
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
ServiceAccountKeyOrigin

The keyOrigin.

getKeyOriginValue()

public int getKeyOriginValue()

The key origin.

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

Returns
TypeDescription
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
TypeDescription
ListServiceAccountKeysRequest.KeyType

The keyType.

getKeyTypeValue()

public int getKeyTypeValue()

The key type.

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

Returns
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
ByteString

The publicKeyData.

getValidAfterTime()

public Timestamp getValidAfterTime()

The key can be used after this timestamp.

.google.protobuf.Timestamp valid_after_time = 4;

Returns
TypeDescription
Timestamp

The validAfterTime.

getValidAfterTimeBuilder()

public Timestamp.Builder getValidAfterTimeBuilder()

The key can be used after this timestamp.

.google.protobuf.Timestamp valid_after_time = 4;

Returns
TypeDescription
Builder

getValidAfterTimeOrBuilder()

public TimestampOrBuilder getValidAfterTimeOrBuilder()

The key can be used after this timestamp.

.google.protobuf.Timestamp valid_after_time = 4;

Returns
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
TimestampOrBuilder

hasValidAfterTime()

public boolean hasValidAfterTime()

The key can be used after this timestamp.

.google.protobuf.Timestamp valid_after_time = 4;

Returns
TypeDescription
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
TypeDescription
boolean

Whether the validBeforeTime field is set.

internalGetFieldAccessorTable()

protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Returns
TypeDescription
FieldAccessorTable
Overrides

isInitialized()

public final boolean isInitialized()
Returns
TypeDescription
boolean
Overrides

mergeFrom(ServiceAccountKey other)

public ServiceAccountKey.Builder mergeFrom(ServiceAccountKey other)
Parameter
NameDescription
otherServiceAccountKey
Returns
TypeDescription
ServiceAccountKey.Builder

mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)

public ServiceAccountKey.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
inputCodedInputStream
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
ServiceAccountKey.Builder
Overrides
Exceptions
TypeDescription
IOException

mergeFrom(Message other)

public ServiceAccountKey.Builder mergeFrom(Message other)
Parameter
NameDescription
otherMessage
Returns
TypeDescription
ServiceAccountKey.Builder
Overrides

mergeUnknownFields(UnknownFieldSet unknownFields)

public final ServiceAccountKey.Builder mergeUnknownFields(UnknownFieldSet unknownFields)
Parameter
NameDescription
unknownFieldsUnknownFieldSet
Returns
TypeDescription
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
NameDescription
valueTimestamp
Returns
TypeDescription
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
NameDescription
valueTimestamp
Returns
TypeDescription
ServiceAccountKey.Builder

setDisabled(boolean value)

public ServiceAccountKey.Builder setDisabled(boolean value)

The key status.

bool disabled = 11;

Parameter
NameDescription
valueboolean

The disabled to set.

Returns
TypeDescription
ServiceAccountKey.Builder

This builder for chaining.

setField(Descriptors.FieldDescriptor field, Object value)

public ServiceAccountKey.Builder setField(Descriptors.FieldDescriptor field, Object value)
Parameters
NameDescription
fieldFieldDescriptor
valueObject
Returns
TypeDescription
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
NameDescription
valueServiceAccountKeyAlgorithm

The keyAlgorithm to set.

Returns
TypeDescription
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
NameDescription
valueint

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

Returns
TypeDescription
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
NameDescription
valueServiceAccountKeyOrigin

The keyOrigin to set.

Returns
TypeDescription
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
NameDescription
valueint

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

Returns
TypeDescription
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
NameDescription
valueListServiceAccountKeysRequest.KeyType

The keyType to set.

Returns
TypeDescription
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
NameDescription
valueint

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

Returns
TypeDescription
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
NameDescription
valueString

The name to set.

Returns
TypeDescription
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
NameDescription
valueByteString

The bytes for name to set.

Returns
TypeDescription
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
NameDescription
valueByteString

The privateKeyData to set.

Returns
TypeDescription
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
NameDescription
valueServiceAccountPrivateKeyType

The privateKeyType to set.

Returns
TypeDescription
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
NameDescription
valueint

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

Returns
TypeDescription
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
NameDescription
valueByteString

The publicKeyData to set.

Returns
TypeDescription
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
NameDescription
fieldFieldDescriptor
indexint
valueObject
Returns
TypeDescription
ServiceAccountKey.Builder
Overrides

setUnknownFields(UnknownFieldSet unknownFields)

public final ServiceAccountKey.Builder setUnknownFields(UnknownFieldSet unknownFields)
Parameter
NameDescription
unknownFieldsUnknownFieldSet
Returns
TypeDescription
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
NameDescription
valueTimestamp
Returns
TypeDescription
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
NameDescription
builderForValueBuilder
Returns
TypeDescription
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
NameDescription
valueTimestamp
Returns
TypeDescription
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
NameDescription
builderForValueBuilder
Returns
TypeDescription
ServiceAccountKey.Builder