Chapter 24. ExternalBackupService


24.1. UpdateExternalBackup

PATCH /v1/externalbackups/{externalBackup.id}

UpdateExternalBackup modifies a given external backup, with optional stored credential reconciliation.

24.1.1. Description

24.1.2. Parameters

24.1.2.1. Path Parameters

Expand
NameDescriptionRequiredDefaultPattern

externalBackup.id

 

X

null

 

24.1.2.2. Body Parameter

Expand
NameDescriptionRequiredDefaultPattern

body

V1UpdateExternalBackupRequest

X

  

24.1.3. Return Type

StorageExternalBackup

24.1.4. Content Type

  • application/json

24.1.5. Responses

Expand
Table 24.1. HTTP Response Codes
CodeMessageDatatype

200

A successful response.

StorageExternalBackup

0

An unexpected error response.

RuntimeError

24.1.6. Samples

24.1.7. Common object reference

24.1.7.1. ProtobufAny

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

24.1.7.1.1. JSON representation

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Expand
Field NameRequiredNullableTypeDescriptionFormat

typeUrl

  

String

A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL’s path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

 

value

  

byte[]

Must be a valid serialized protocol buffer of the above specified type.

byte

24.1.7.2. RuntimeError

Expand
Field NameRequiredNullableTypeDescriptionFormat

error

  

String

  

code

  

Integer

 

int32

message

  

String

  

details

  

List of ProtobufAny

  

24.1.7.3. ScheduleDaysOfMonth

1 for 1st, 2 for 2nd .... 31 for 31st
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.1.7.4. ScheduleDaysOfWeek

Sunday = 0, Monday = 1, .... Saturday =  6
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.1.7.5. ScheduleIntervalType

Expand
Enum Values

UNSET

DAILY

WEEKLY

MONTHLY

24.1.7.6. ScheduleWeeklyInterval

Expand
Field NameRequiredNullableTypeDescriptionFormat

day

  

Integer

 

int32

24.1.7.7. StorageExternalBackup

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

type

  

String

  

schedule

  

StorageSchedule

  

backupsToKeep

  

Integer

 

int32

s3

  

StorageS3Config

  

gcs

  

StorageGCSConfig

  

includeCertificates

  

Boolean

  

24.1.7.8. StorageGCSConfig

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

serviceAccount

  

String

The service account for the storage integration. The server will mask the value of this credential in responses and logs.

 

objectPrefix

  

String

  

useWorkloadId

  

Boolean

  

24.1.7.9. StorageS3Config

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

useIam

  

Boolean

  

accessKeyId

  

String

The access key ID for the storage integration. The server will mask the value of this credential in responses and logs.

 

secretAccessKey

  

String

The secret access key for the storage integration. The server will mask the value of this credential in responses and logs.

 

region

  

String

  

objectPrefix

  

String

  

endpoint

  

String

  

24.1.7.10. StorageSchedule

Expand
Field NameRequiredNullableTypeDescriptionFormat

intervalType

  

ScheduleIntervalType

 

UNSET, DAILY, WEEKLY, MONTHLY,

hour

  

Integer

 

int32

minute

  

Integer

 

int32

weekly

  

ScheduleWeeklyInterval

  

daysOfWeek

  

ScheduleDaysOfWeek

  

daysOfMonth

  

ScheduleDaysOfMonth

  

24.1.7.11. V1UpdateExternalBackupRequest

Expand
Field NameRequiredNullableTypeDescriptionFormat

externalBackup

  

StorageExternalBackup

  

updatePassword

  

Boolean

When false, use the stored credentials of an existing external backup configuration given its ID.

 

24.2. GetExternalBackups

GET /v1/externalbackups

GetExternalBackups returns all external backup configurations.

24.2.1. Description

24.2.2. Parameters

24.2.3. Return Type

V1GetExternalBackupsResponse

24.2.4. Content Type

  • application/json

24.2.5. Responses

Expand
Table 24.2. HTTP Response Codes
CodeMessageDatatype

200

A successful response.

V1GetExternalBackupsResponse

0

An unexpected error response.

RuntimeError

24.2.6. Samples

24.2.7. Common object reference

24.2.7.1. ProtobufAny

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

24.2.7.1.1. JSON representation

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Expand
Field NameRequiredNullableTypeDescriptionFormat

typeUrl

  

String

A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL’s path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

 

value

  

byte[]

Must be a valid serialized protocol buffer of the above specified type.

byte

24.2.7.2. RuntimeError

Expand
Field NameRequiredNullableTypeDescriptionFormat

error

  

String

  

code

  

Integer

 

int32

message

  

String

  

details

  

List of ProtobufAny

  

24.2.7.3. ScheduleDaysOfMonth

1 for 1st, 2 for 2nd .... 31 for 31st
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.2.7.4. ScheduleDaysOfWeek

Sunday = 0, Monday = 1, .... Saturday =  6
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.2.7.5. ScheduleIntervalType

Expand
Enum Values

UNSET

DAILY

WEEKLY

MONTHLY

24.2.7.6. ScheduleWeeklyInterval

Expand
Field NameRequiredNullableTypeDescriptionFormat

day

  

Integer

 

int32

24.2.7.7. StorageExternalBackup

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

type

  

String

  

schedule

  

StorageSchedule

  

backupsToKeep

  

Integer

 

int32

s3

  

StorageS3Config

  

gcs

  

StorageGCSConfig

  

includeCertificates

  

Boolean

  

24.2.7.8. StorageGCSConfig

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

serviceAccount

  

String

The service account for the storage integration. The server will mask the value of this credential in responses and logs.

 

objectPrefix

  

String

  

useWorkloadId

  

Boolean

  

24.2.7.9. StorageS3Config

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

useIam

  

Boolean

  

accessKeyId

  

String

The access key ID for the storage integration. The server will mask the value of this credential in responses and logs.

 

secretAccessKey

  

String

The secret access key for the storage integration. The server will mask the value of this credential in responses and logs.

 

region

  

String

  

objectPrefix

  

String

  

endpoint

  

String

  

24.2.7.10. StorageSchedule

Expand
Field NameRequiredNullableTypeDescriptionFormat

intervalType

  

ScheduleIntervalType

 

UNSET, DAILY, WEEKLY, MONTHLY,

hour

  

Integer

 

int32

minute

  

Integer

 

int32

weekly

  

ScheduleWeeklyInterval

  

daysOfWeek

  

ScheduleDaysOfWeek

  

daysOfMonth

  

ScheduleDaysOfMonth

  

24.2.7.11. V1GetExternalBackupsResponse

Expand
Field NameRequiredNullableTypeDescriptionFormat

externalBackups

  

List of StorageExternalBackup

  

24.3. DeleteExternalBackup

DELETE /v1/externalbackups/{id}

DeleteExternalBackup removes an external backup configuration given its ID.

24.3.1. Description

24.3.2. Parameters

24.3.2.1. Path Parameters

Expand
NameDescriptionRequiredDefaultPattern

id

 

X

null

 

24.3.3. Return Type

Object

24.3.4. Content Type

  • application/json

24.3.5. Responses

Expand
Table 24.3. HTTP Response Codes
CodeMessageDatatype

200

A successful response.

Object

0

An unexpected error response.

RuntimeError

24.3.6. Samples

24.3.7. Common object reference

24.3.7.1. ProtobufAny

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

24.3.7.1.1. JSON representation

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Expand
Field NameRequiredNullableTypeDescriptionFormat

typeUrl

  

String

A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL’s path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

 

value

  

byte[]

Must be a valid serialized protocol buffer of the above specified type.

byte

24.3.7.2. RuntimeError

Expand
Field NameRequiredNullableTypeDescriptionFormat

error

  

String

  

code

  

Integer

 

int32

message

  

String

  

details

  

List of ProtobufAny

  

24.4. GetExternalBackup

GET /v1/externalbackups/{id}

GetExternalBackup returns the external backup configuration given its ID.

24.4.1. Description

24.4.2. Parameters

24.4.2.1. Path Parameters

Expand
NameDescriptionRequiredDefaultPattern

id

 

X

null

 

24.4.3. Return Type

StorageExternalBackup

24.4.4. Content Type

  • application/json

24.4.5. Responses

Expand
Table 24.4. HTTP Response Codes
CodeMessageDatatype

200

A successful response.

StorageExternalBackup

0

An unexpected error response.

RuntimeError

24.4.6. Samples

24.4.7. Common object reference

24.4.7.1. ProtobufAny

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

24.4.7.1.1. JSON representation

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Expand
Field NameRequiredNullableTypeDescriptionFormat

typeUrl

  

String

A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL’s path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

 

value

  

byte[]

Must be a valid serialized protocol buffer of the above specified type.

byte

24.4.7.2. RuntimeError

Expand
Field NameRequiredNullableTypeDescriptionFormat

error

  

String

  

code

  

Integer

 

int32

message

  

String

  

details

  

List of ProtobufAny

  

24.4.7.3. ScheduleDaysOfMonth

1 for 1st, 2 for 2nd .... 31 for 31st
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.4.7.4. ScheduleDaysOfWeek

Sunday = 0, Monday = 1, .... Saturday =  6
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.4.7.5. ScheduleIntervalType

Expand
Enum Values

UNSET

DAILY

WEEKLY

MONTHLY

24.4.7.6. ScheduleWeeklyInterval

Expand
Field NameRequiredNullableTypeDescriptionFormat

day

  

Integer

 

int32

24.4.7.7. StorageExternalBackup

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

type

  

String

  

schedule

  

StorageSchedule

  

backupsToKeep

  

Integer

 

int32

s3

  

StorageS3Config

  

gcs

  

StorageGCSConfig

  

includeCertificates

  

Boolean

  

24.4.7.8. StorageGCSConfig

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

serviceAccount

  

String

The service account for the storage integration. The server will mask the value of this credential in responses and logs.

 

objectPrefix

  

String

  

useWorkloadId

  

Boolean

  

24.4.7.9. StorageS3Config

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

useIam

  

Boolean

  

accessKeyId

  

String

The access key ID for the storage integration. The server will mask the value of this credential in responses and logs.

 

secretAccessKey

  

String

The secret access key for the storage integration. The server will mask the value of this credential in responses and logs.

 

region

  

String

  

objectPrefix

  

String

  

endpoint

  

String

  

24.4.7.10. StorageSchedule

Expand
Field NameRequiredNullableTypeDescriptionFormat

intervalType

  

ScheduleIntervalType

 

UNSET, DAILY, WEEKLY, MONTHLY,

hour

  

Integer

 

int32

minute

  

Integer

 

int32

weekly

  

ScheduleWeeklyInterval

  

daysOfWeek

  

ScheduleDaysOfWeek

  

daysOfMonth

  

ScheduleDaysOfMonth

  

24.5. TriggerExternalBackup

POST /v1/externalbackups/{id}

TriggerExternalBackup initiates an external backup for the given configuration.

24.5.1. Description

24.5.2. Parameters

24.5.2.1. Path Parameters

Expand
NameDescriptionRequiredDefaultPattern

id

 

X

null

 

24.5.3. Return Type

Object

24.5.4. Content Type

  • application/json

24.5.5. Responses

Expand
Table 24.5. HTTP Response Codes
CodeMessageDatatype

200

A successful response.

Object

0

An unexpected error response.

RuntimeError

24.5.6. Samples

24.5.7. Common object reference

24.5.7.1. ProtobufAny

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

24.5.7.1.1. JSON representation

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Expand
Field NameRequiredNullableTypeDescriptionFormat

typeUrl

  

String

A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL’s path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

 

value

  

byte[]

Must be a valid serialized protocol buffer of the above specified type.

byte

24.5.7.2. RuntimeError

Expand
Field NameRequiredNullableTypeDescriptionFormat

error

  

String

  

code

  

Integer

 

int32

message

  

String

  

details

  

List of ProtobufAny

  

24.6. PutExternalBackup

PUT /v1/externalbackups/{id}

PutExternalBackup modifies a given external backup, without using stored credential reconciliation.

24.6.1. Description

24.6.2. Parameters

24.6.2.1. Path Parameters

Expand
NameDescriptionRequiredDefaultPattern

id

 

X

null

 

24.6.2.2. Body Parameter

Expand
NameDescriptionRequiredDefaultPattern

body

StorageExternalBackup

X

  

24.6.3. Return Type

StorageExternalBackup

24.6.4. Content Type

  • application/json

24.6.5. Responses

Expand
Table 24.6. HTTP Response Codes
CodeMessageDatatype

200

A successful response.

StorageExternalBackup

0

An unexpected error response.

RuntimeError

24.6.6. Samples

24.6.7. Common object reference

24.6.7.1. ProtobufAny

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

24.6.7.1.1. JSON representation

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Expand
Field NameRequiredNullableTypeDescriptionFormat

typeUrl

  

String

A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL’s path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

 

value

  

byte[]

Must be a valid serialized protocol buffer of the above specified type.

byte

24.6.7.2. RuntimeError

Expand
Field NameRequiredNullableTypeDescriptionFormat

error

  

String

  

code

  

Integer

 

int32

message

  

String

  

details

  

List of ProtobufAny

  

24.6.7.3. ScheduleDaysOfMonth

1 for 1st, 2 for 2nd .... 31 for 31st
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.6.7.4. ScheduleDaysOfWeek

Sunday = 0, Monday = 1, .... Saturday =  6
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.6.7.5. ScheduleIntervalType

Expand
Enum Values

UNSET

DAILY

WEEKLY

MONTHLY

24.6.7.6. ScheduleWeeklyInterval

Expand
Field NameRequiredNullableTypeDescriptionFormat

day

  

Integer

 

int32

24.6.7.7. StorageExternalBackup

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

type

  

String

  

schedule

  

StorageSchedule

  

backupsToKeep

  

Integer

 

int32

s3

  

StorageS3Config

  

gcs

  

StorageGCSConfig

  

includeCertificates

  

Boolean

  

24.6.7.8. StorageGCSConfig

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

serviceAccount

  

String

The service account for the storage integration. The server will mask the value of this credential in responses and logs.

 

objectPrefix

  

String

  

useWorkloadId

  

Boolean

  

24.6.7.9. StorageS3Config

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

useIam

  

Boolean

  

accessKeyId

  

String

The access key ID for the storage integration. The server will mask the value of this credential in responses and logs.

 

secretAccessKey

  

String

The secret access key for the storage integration. The server will mask the value of this credential in responses and logs.

 

region

  

String

  

objectPrefix

  

String

  

endpoint

  

String

  

24.6.7.10. StorageSchedule

Expand
Field NameRequiredNullableTypeDescriptionFormat

intervalType

  

ScheduleIntervalType

 

UNSET, DAILY, WEEKLY, MONTHLY,

hour

  

Integer

 

int32

minute

  

Integer

 

int32

weekly

  

ScheduleWeeklyInterval

  

daysOfWeek

  

ScheduleDaysOfWeek

  

daysOfMonth

  

ScheduleDaysOfMonth

  

24.7. PostExternalBackup

POST /v1/externalbackups

PostExternalBackup creates an external backup configuration.

24.7.1. Description

24.7.2. Parameters

24.7.2.1. Body Parameter

Expand
NameDescriptionRequiredDefaultPattern

body

StorageExternalBackup

X

  

24.7.3. Return Type

StorageExternalBackup

24.7.4. Content Type

  • application/json

24.7.5. Responses

Expand
Table 24.7. HTTP Response Codes
CodeMessageDatatype

200

A successful response.

StorageExternalBackup

0

An unexpected error response.

RuntimeError

24.7.6. Samples

24.7.7. Common object reference

24.7.7.1. ProtobufAny

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

24.7.7.1.1. JSON representation

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Expand
Field NameRequiredNullableTypeDescriptionFormat

typeUrl

  

String

A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL’s path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

 

value

  

byte[]

Must be a valid serialized protocol buffer of the above specified type.

byte

24.7.7.2. RuntimeError

Expand
Field NameRequiredNullableTypeDescriptionFormat

error

  

String

  

code

  

Integer

 

int32

message

  

String

  

details

  

List of ProtobufAny

  

24.7.7.3. ScheduleDaysOfMonth

1 for 1st, 2 for 2nd .... 31 for 31st
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.7.7.4. ScheduleDaysOfWeek

Sunday = 0, Monday = 1, .... Saturday =  6
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.7.7.5. ScheduleIntervalType

Expand
Enum Values

UNSET

DAILY

WEEKLY

MONTHLY

24.7.7.6. ScheduleWeeklyInterval

Expand
Field NameRequiredNullableTypeDescriptionFormat

day

  

Integer

 

int32

24.7.7.7. StorageExternalBackup

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

type

  

String

  

schedule

  

StorageSchedule

  

backupsToKeep

  

Integer

 

int32

s3

  

StorageS3Config

  

gcs

  

StorageGCSConfig

  

includeCertificates

  

Boolean

  

24.7.7.8. StorageGCSConfig

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

serviceAccount

  

String

The service account for the storage integration. The server will mask the value of this credential in responses and logs.

 

objectPrefix

  

String

  

useWorkloadId

  

Boolean

  

24.7.7.9. StorageS3Config

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

useIam

  

Boolean

  

accessKeyId

  

String

The access key ID for the storage integration. The server will mask the value of this credential in responses and logs.

 

secretAccessKey

  

String

The secret access key for the storage integration. The server will mask the value of this credential in responses and logs.

 

region

  

String

  

objectPrefix

  

String

  

endpoint

  

String

  

24.7.7.10. StorageSchedule

Expand
Field NameRequiredNullableTypeDescriptionFormat

intervalType

  

ScheduleIntervalType

 

UNSET, DAILY, WEEKLY, MONTHLY,

hour

  

Integer

 

int32

minute

  

Integer

 

int32

weekly

  

ScheduleWeeklyInterval

  

daysOfWeek

  

ScheduleDaysOfWeek

  

daysOfMonth

  

ScheduleDaysOfMonth

  

24.8. TestExternalBackup

POST /v1/externalbackups/test

TestExternalBackup tests an external backup configuration.

24.8.1. Description

24.8.2. Parameters

24.8.2.1. Body Parameter

Expand
NameDescriptionRequiredDefaultPattern

body

StorageExternalBackup

X

  

24.8.3. Return Type

Object

24.8.4. Content Type

  • application/json

24.8.5. Responses

Expand
Table 24.8. HTTP Response Codes
CodeMessageDatatype

200

A successful response.

Object

0

An unexpected error response.

RuntimeError

24.8.6. Samples

24.8.7. Common object reference

24.8.7.1. ProtobufAny

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

24.8.7.1.1. JSON representation

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Expand
Field NameRequiredNullableTypeDescriptionFormat

typeUrl

  

String

A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL’s path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

 

value

  

byte[]

Must be a valid serialized protocol buffer of the above specified type.

byte

24.8.7.2. RuntimeError

Expand
Field NameRequiredNullableTypeDescriptionFormat

error

  

String

  

code

  

Integer

 

int32

message

  

String

  

details

  

List of ProtobufAny

  

24.8.7.3. ScheduleDaysOfMonth

1 for 1st, 2 for 2nd .... 31 for 31st
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.8.7.4. ScheduleDaysOfWeek

Sunday = 0, Monday = 1, .... Saturday =  6
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.8.7.5. ScheduleIntervalType

Expand
Enum Values

UNSET

DAILY

WEEKLY

MONTHLY

24.8.7.6. ScheduleWeeklyInterval

Expand
Field NameRequiredNullableTypeDescriptionFormat

day

  

Integer

 

int32

24.8.7.7. StorageExternalBackup

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

type

  

String

  

schedule

  

StorageSchedule

  

backupsToKeep

  

Integer

 

int32

s3

  

StorageS3Config

  

gcs

  

StorageGCSConfig

  

includeCertificates

  

Boolean

  

24.8.7.8. StorageGCSConfig

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

serviceAccount

  

String

The service account for the storage integration. The server will mask the value of this credential in responses and logs.

 

objectPrefix

  

String

  

useWorkloadId

  

Boolean

  

24.8.7.9. StorageS3Config

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

useIam

  

Boolean

  

accessKeyId

  

String

The access key ID for the storage integration. The server will mask the value of this credential in responses and logs.

 

secretAccessKey

  

String

The secret access key for the storage integration. The server will mask the value of this credential in responses and logs.

 

region

  

String

  

objectPrefix

  

String

  

endpoint

  

String

  

24.8.7.10. StorageSchedule

Expand
Field NameRequiredNullableTypeDescriptionFormat

intervalType

  

ScheduleIntervalType

 

UNSET, DAILY, WEEKLY, MONTHLY,

hour

  

Integer

 

int32

minute

  

Integer

 

int32

weekly

  

ScheduleWeeklyInterval

  

daysOfWeek

  

ScheduleDaysOfWeek

  

daysOfMonth

  

ScheduleDaysOfMonth

  

24.9. TestUpdatedExternalBackup

POST /v1/externalbackups/test/updated

TestUpdatedExternalBackup checks if the given external backup is correctly configured, with optional stored credential reconciliation.

24.9.1. Description

24.9.2. Parameters

24.9.2.1. Body Parameter

Expand
NameDescriptionRequiredDefaultPattern

body

V1UpdateExternalBackupRequest

X

  

24.9.3. Return Type

Object

24.9.4. Content Type

  • application/json

24.9.5. Responses

Expand
Table 24.9. HTTP Response Codes
CodeMessageDatatype

200

A successful response.

Object

0

An unexpected error response.

RuntimeError

24.9.6. Samples

24.9.7. Common object reference

24.9.7.1. ProtobufAny

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

24.9.7.1.1. JSON representation

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Expand
Field NameRequiredNullableTypeDescriptionFormat

typeUrl

  

String

A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL’s path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

 

value

  

byte[]

Must be a valid serialized protocol buffer of the above specified type.

byte

24.9.7.2. RuntimeError

Expand
Field NameRequiredNullableTypeDescriptionFormat

error

  

String

  

code

  

Integer

 

int32

message

  

String

  

details

  

List of ProtobufAny

  

24.9.7.3. ScheduleDaysOfMonth

1 for 1st, 2 for 2nd .... 31 for 31st
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.9.7.4. ScheduleDaysOfWeek

Sunday = 0, Monday = 1, .... Saturday =  6
Expand
Field NameRequiredNullableTypeDescriptionFormat

days

  

List of integer

 

int32

24.9.7.5. ScheduleIntervalType

Expand
Enum Values

UNSET

DAILY

WEEKLY

MONTHLY

24.9.7.6. ScheduleWeeklyInterval

Expand
Field NameRequiredNullableTypeDescriptionFormat

day

  

Integer

 

int32

24.9.7.7. StorageExternalBackup

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

type

  

String

  

schedule

  

StorageSchedule

  

backupsToKeep

  

Integer

 

int32

s3

  

StorageS3Config

  

gcs

  

StorageGCSConfig

  

includeCertificates

  

Boolean

  

24.9.7.8. StorageGCSConfig

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

serviceAccount

  

String

The service account for the storage integration. The server will mask the value of this credential in responses and logs.

 

objectPrefix

  

String

  

useWorkloadId

  

Boolean

  

24.9.7.9. StorageS3Config

Expand
Field NameRequiredNullableTypeDescriptionFormat

bucket

  

String

  

useIam

  

Boolean

  

accessKeyId

  

String

The access key ID for the storage integration. The server will mask the value of this credential in responses and logs.

 

secretAccessKey

  

String

The secret access key for the storage integration. The server will mask the value of this credential in responses and logs.

 

region

  

String

  

objectPrefix

  

String

  

endpoint

  

String

  

24.9.7.10. StorageSchedule

Expand
Field NameRequiredNullableTypeDescriptionFormat

intervalType

  

ScheduleIntervalType

 

UNSET, DAILY, WEEKLY, MONTHLY,

hour

  

Integer

 

int32

minute

  

Integer

 

int32

weekly

  

ScheduleWeeklyInterval

  

daysOfWeek

  

ScheduleDaysOfWeek

  

daysOfMonth

  

ScheduleDaysOfMonth

  

24.9.7.11. V1UpdateExternalBackupRequest

Expand
Field NameRequiredNullableTypeDescriptionFormat

externalBackup

  

StorageExternalBackup

  

updatePassword

  

Boolean

When false, use the stored credentials of an existing external backup configuration given its ID.

 
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat Documentation

Legal Notice

Theme

© 2026 Red Hat
Back to top