public static final class BigQueryDestination.Builder extends GeneratedMessageV3.Builder<BigQueryDestination.Builder> implements BigQueryDestinationOrBuilder
A BigQuery destination for exporting assets to.Protobuf type
google.cloud.asset.v1p7beta1.BigQueryDestination
Modifier and Type | Method and Description |
---|---|
BigQueryDestination.Builder |
addRepeatedField(Descriptors.FieldDescriptor field,
Object value) |
BigQueryDestination |
build() |
BigQueryDestination |
buildPartial() |
BigQueryDestination.Builder |
clear() |
BigQueryDestination.Builder |
clearDataset()
Required.
|
BigQueryDestination.Builder |
clearField(Descriptors.FieldDescriptor field) |
BigQueryDestination.Builder |
clearForce()
If the destination table already exists and this flag is `TRUE`, the
table will be overwritten by the contents of assets snapshot.
|
BigQueryDestination.Builder |
clearOneof(Descriptors.OneofDescriptor oneof) |
BigQueryDestination.Builder |
clearPartitionSpec()
[partition_spec] determines whether to export to partitioned table(s) and
how to partition the data.
|
BigQueryDestination.Builder |
clearSeparateTablesPerAssetType()
If this flag is `TRUE`, the snapshot results will be written to one or
multiple tables, each of which contains results of one asset type.
|
BigQueryDestination.Builder |
clearTable()
Required.
|
BigQueryDestination.Builder |
clone() |
String |
getDataset()
Required.
|
ByteString |
getDatasetBytes()
Required.
|
BigQueryDestination |
getDefaultInstanceForType() |
static Descriptors.Descriptor |
getDescriptor() |
Descriptors.Descriptor |
getDescriptorForType() |
boolean |
getForce()
If the destination table already exists and this flag is `TRUE`, the
table will be overwritten by the contents of assets snapshot.
|
PartitionSpec |
getPartitionSpec()
[partition_spec] determines whether to export to partitioned table(s) and
how to partition the data.
|
PartitionSpec.Builder |
getPartitionSpecBuilder()
[partition_spec] determines whether to export to partitioned table(s) and
how to partition the data.
|
PartitionSpecOrBuilder |
getPartitionSpecOrBuilder()
[partition_spec] determines whether to export to partitioned table(s) and
how to partition the data.
|
boolean |
getSeparateTablesPerAssetType()
If this flag is `TRUE`, the snapshot results will be written to one or
multiple tables, each of which contains results of one asset type.
|
String |
getTable()
Required.
|
ByteString |
getTableBytes()
Required.
|
boolean |
hasPartitionSpec()
[partition_spec] determines whether to export to partitioned table(s) and
how to partition the data.
|
protected GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
BigQueryDestination.Builder |
mergeFrom(BigQueryDestination other) |
BigQueryDestination.Builder |
mergeFrom(CodedInputStream input,
ExtensionRegistryLite extensionRegistry) |
BigQueryDestination.Builder |
mergeFrom(Message other) |
BigQueryDestination.Builder |
mergePartitionSpec(PartitionSpec value)
[partition_spec] determines whether to export to partitioned table(s) and
how to partition the data.
|
BigQueryDestination.Builder |
mergeUnknownFields(UnknownFieldSet unknownFields) |
BigQueryDestination.Builder |
setDataset(String value)
Required.
|
BigQueryDestination.Builder |
setDatasetBytes(ByteString value)
Required.
|
BigQueryDestination.Builder |
setField(Descriptors.FieldDescriptor field,
Object value) |
BigQueryDestination.Builder |
setForce(boolean value)
If the destination table already exists and this flag is `TRUE`, the
table will be overwritten by the contents of assets snapshot.
|
BigQueryDestination.Builder |
setPartitionSpec(PartitionSpec.Builder builderForValue)
[partition_spec] determines whether to export to partitioned table(s) and
how to partition the data.
|
BigQueryDestination.Builder |
setPartitionSpec(PartitionSpec value)
[partition_spec] determines whether to export to partitioned table(s) and
how to partition the data.
|
BigQueryDestination.Builder |
setRepeatedField(Descriptors.FieldDescriptor field,
int index,
Object value) |
BigQueryDestination.Builder |
setSeparateTablesPerAssetType(boolean value)
If this flag is `TRUE`, the snapshot results will be written to one or
multiple tables, each of which contains results of one asset type.
|
BigQueryDestination.Builder |
setTable(String value)
Required.
|
BigQueryDestination.Builder |
setTableBytes(ByteString value)
Required.
|
BigQueryDestination.Builder |
setUnknownFields(UnknownFieldSet unknownFields) |
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
mergeDelimitedFrom, mergeDelimitedFrom
mergeFrom
public static final Descriptors.Descriptor getDescriptor()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable
in class GeneratedMessageV3.Builder<BigQueryDestination.Builder>
public BigQueryDestination.Builder clear()
clear
in interface Message.Builder
clear
in interface MessageLite.Builder
clear
in class GeneratedMessageV3.Builder<BigQueryDestination.Builder>
public Descriptors.Descriptor getDescriptorForType()
getDescriptorForType
in interface Message.Builder
getDescriptorForType
in interface MessageOrBuilder
getDescriptorForType
in class GeneratedMessageV3.Builder<BigQueryDestination.Builder>
public BigQueryDestination getDefaultInstanceForType()
getDefaultInstanceForType
in interface MessageLiteOrBuilder
getDefaultInstanceForType
in interface MessageOrBuilder
public BigQueryDestination build()
build
in interface Message.Builder
build
in interface MessageLite.Builder
public BigQueryDestination buildPartial()
buildPartial
in interface Message.Builder
buildPartial
in interface MessageLite.Builder
public BigQueryDestination.Builder clone()
clone
in interface Message.Builder
clone
in interface MessageLite.Builder
clone
in class GeneratedMessageV3.Builder<BigQueryDestination.Builder>
public BigQueryDestination.Builder setField(Descriptors.FieldDescriptor field, Object value)
setField
in interface Message.Builder
setField
in class GeneratedMessageV3.Builder<BigQueryDestination.Builder>
public BigQueryDestination.Builder clearField(Descriptors.FieldDescriptor field)
clearField
in interface Message.Builder
clearField
in class GeneratedMessageV3.Builder<BigQueryDestination.Builder>
public BigQueryDestination.Builder clearOneof(Descriptors.OneofDescriptor oneof)
clearOneof
in interface Message.Builder
clearOneof
in class GeneratedMessageV3.Builder<BigQueryDestination.Builder>
public BigQueryDestination.Builder setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)
setRepeatedField
in interface Message.Builder
setRepeatedField
in class GeneratedMessageV3.Builder<BigQueryDestination.Builder>
public BigQueryDestination.Builder addRepeatedField(Descriptors.FieldDescriptor field, Object value)
addRepeatedField
in interface Message.Builder
addRepeatedField
in class GeneratedMessageV3.Builder<BigQueryDestination.Builder>
public BigQueryDestination.Builder mergeFrom(Message other)
mergeFrom
in interface Message.Builder
mergeFrom
in class AbstractMessage.Builder<BigQueryDestination.Builder>
public BigQueryDestination.Builder mergeFrom(BigQueryDestination other)
public final boolean isInitialized()
isInitialized
in interface MessageLiteOrBuilder
isInitialized
in class GeneratedMessageV3.Builder<BigQueryDestination.Builder>
public BigQueryDestination.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws IOException
mergeFrom
in interface Message.Builder
mergeFrom
in interface MessageLite.Builder
mergeFrom
in class AbstractMessage.Builder<BigQueryDestination.Builder>
IOException
public String getDataset()
Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId", to which the snapshot result should be exported. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.
string dataset = 1 [(.google.api.field_behavior) = REQUIRED];
getDataset
in interface BigQueryDestinationOrBuilder
public ByteString getDatasetBytes()
Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId", to which the snapshot result should be exported. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.
string dataset = 1 [(.google.api.field_behavior) = REQUIRED];
getDatasetBytes
in interface BigQueryDestinationOrBuilder
public BigQueryDestination.Builder setDataset(String value)
Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId", to which the snapshot result should be exported. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.
string dataset = 1 [(.google.api.field_behavior) = REQUIRED];
value
- The dataset to set.public BigQueryDestination.Builder clearDataset()
Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId", to which the snapshot result should be exported. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.
string dataset = 1 [(.google.api.field_behavior) = REQUIRED];
public BigQueryDestination.Builder setDatasetBytes(ByteString value)
Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId", to which the snapshot result should be exported. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.
string dataset = 1 [(.google.api.field_behavior) = REQUIRED];
value
- The bytes for dataset to set.public String getTable()
Required. The BigQuery table to which the snapshot result should be written. If this table does not exist, a new table with the given name will be created.
string table = 2 [(.google.api.field_behavior) = REQUIRED];
getTable
in interface BigQueryDestinationOrBuilder
public ByteString getTableBytes()
Required. The BigQuery table to which the snapshot result should be written. If this table does not exist, a new table with the given name will be created.
string table = 2 [(.google.api.field_behavior) = REQUIRED];
getTableBytes
in interface BigQueryDestinationOrBuilder
public BigQueryDestination.Builder setTable(String value)
Required. The BigQuery table to which the snapshot result should be written. If this table does not exist, a new table with the given name will be created.
string table = 2 [(.google.api.field_behavior) = REQUIRED];
value
- The table to set.public BigQueryDestination.Builder clearTable()
Required. The BigQuery table to which the snapshot result should be written. If this table does not exist, a new table with the given name will be created.
string table = 2 [(.google.api.field_behavior) = REQUIRED];
public BigQueryDestination.Builder setTableBytes(ByteString value)
Required. The BigQuery table to which the snapshot result should be written. If this table does not exist, a new table with the given name will be created.
string table = 2 [(.google.api.field_behavior) = REQUIRED];
value
- The bytes for table to set.public boolean getForce()
If the destination table already exists and this flag is `TRUE`, the table will be overwritten by the contents of assets snapshot. If the flag is `FALSE` or unset and the destination table already exists, the export call returns an INVALID_ARGUMEMT error.
bool force = 3;
getForce
in interface BigQueryDestinationOrBuilder
public BigQueryDestination.Builder setForce(boolean value)
If the destination table already exists and this flag is `TRUE`, the table will be overwritten by the contents of assets snapshot. If the flag is `FALSE` or unset and the destination table already exists, the export call returns an INVALID_ARGUMEMT error.
bool force = 3;
value
- The force to set.public BigQueryDestination.Builder clearForce()
If the destination table already exists and this flag is `TRUE`, the table will be overwritten by the contents of assets snapshot. If the flag is `FALSE` or unset and the destination table already exists, the export call returns an INVALID_ARGUMEMT error.
bool force = 3;
public boolean hasPartitionSpec()
[partition_spec] determines whether to export to partitioned table(s) and how to partition the data. If [partition_spec] is unset or [partition_spec.partition_key] is unset or `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to non-partitioned table(s). [force] will decide whether to overwrite existing table(s). If [partition_spec] is specified. First, the snapshot results will be written to partitioned table(s) with two additional timestamp columns, readTime and requestTime, one of which will be the partition key. Secondly, in the case when any destination table already exists, it will first try to update existing table's schema as necessary by appending additional columns. Then, if [force] is `TRUE`, the corresponding partition will be overwritten by the snapshot results (data in different partitions will remain intact); if [force] is unset or `FALSE`, it will append the data. An error will be returned if the schema update or data appension fails.
.google.cloud.asset.v1p7beta1.PartitionSpec partition_spec = 4;
hasPartitionSpec
in interface BigQueryDestinationOrBuilder
public PartitionSpec getPartitionSpec()
[partition_spec] determines whether to export to partitioned table(s) and how to partition the data. If [partition_spec] is unset or [partition_spec.partition_key] is unset or `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to non-partitioned table(s). [force] will decide whether to overwrite existing table(s). If [partition_spec] is specified. First, the snapshot results will be written to partitioned table(s) with two additional timestamp columns, readTime and requestTime, one of which will be the partition key. Secondly, in the case when any destination table already exists, it will first try to update existing table's schema as necessary by appending additional columns. Then, if [force] is `TRUE`, the corresponding partition will be overwritten by the snapshot results (data in different partitions will remain intact); if [force] is unset or `FALSE`, it will append the data. An error will be returned if the schema update or data appension fails.
.google.cloud.asset.v1p7beta1.PartitionSpec partition_spec = 4;
getPartitionSpec
in interface BigQueryDestinationOrBuilder
public BigQueryDestination.Builder setPartitionSpec(PartitionSpec value)
[partition_spec] determines whether to export to partitioned table(s) and how to partition the data. If [partition_spec] is unset or [partition_spec.partition_key] is unset or `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to non-partitioned table(s). [force] will decide whether to overwrite existing table(s). If [partition_spec] is specified. First, the snapshot results will be written to partitioned table(s) with two additional timestamp columns, readTime and requestTime, one of which will be the partition key. Secondly, in the case when any destination table already exists, it will first try to update existing table's schema as necessary by appending additional columns. Then, if [force] is `TRUE`, the corresponding partition will be overwritten by the snapshot results (data in different partitions will remain intact); if [force] is unset or `FALSE`, it will append the data. An error will be returned if the schema update or data appension fails.
.google.cloud.asset.v1p7beta1.PartitionSpec partition_spec = 4;
public BigQueryDestination.Builder setPartitionSpec(PartitionSpec.Builder builderForValue)
[partition_spec] determines whether to export to partitioned table(s) and how to partition the data. If [partition_spec] is unset or [partition_spec.partition_key] is unset or `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to non-partitioned table(s). [force] will decide whether to overwrite existing table(s). If [partition_spec] is specified. First, the snapshot results will be written to partitioned table(s) with two additional timestamp columns, readTime and requestTime, one of which will be the partition key. Secondly, in the case when any destination table already exists, it will first try to update existing table's schema as necessary by appending additional columns. Then, if [force] is `TRUE`, the corresponding partition will be overwritten by the snapshot results (data in different partitions will remain intact); if [force] is unset or `FALSE`, it will append the data. An error will be returned if the schema update or data appension fails.
.google.cloud.asset.v1p7beta1.PartitionSpec partition_spec = 4;
public BigQueryDestination.Builder mergePartitionSpec(PartitionSpec value)
[partition_spec] determines whether to export to partitioned table(s) and how to partition the data. If [partition_spec] is unset or [partition_spec.partition_key] is unset or `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to non-partitioned table(s). [force] will decide whether to overwrite existing table(s). If [partition_spec] is specified. First, the snapshot results will be written to partitioned table(s) with two additional timestamp columns, readTime and requestTime, one of which will be the partition key. Secondly, in the case when any destination table already exists, it will first try to update existing table's schema as necessary by appending additional columns. Then, if [force] is `TRUE`, the corresponding partition will be overwritten by the snapshot results (data in different partitions will remain intact); if [force] is unset or `FALSE`, it will append the data. An error will be returned if the schema update or data appension fails.
.google.cloud.asset.v1p7beta1.PartitionSpec partition_spec = 4;
public BigQueryDestination.Builder clearPartitionSpec()
[partition_spec] determines whether to export to partitioned table(s) and how to partition the data. If [partition_spec] is unset or [partition_spec.partition_key] is unset or `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to non-partitioned table(s). [force] will decide whether to overwrite existing table(s). If [partition_spec] is specified. First, the snapshot results will be written to partitioned table(s) with two additional timestamp columns, readTime and requestTime, one of which will be the partition key. Secondly, in the case when any destination table already exists, it will first try to update existing table's schema as necessary by appending additional columns. Then, if [force] is `TRUE`, the corresponding partition will be overwritten by the snapshot results (data in different partitions will remain intact); if [force] is unset or `FALSE`, it will append the data. An error will be returned if the schema update or data appension fails.
.google.cloud.asset.v1p7beta1.PartitionSpec partition_spec = 4;
public PartitionSpec.Builder getPartitionSpecBuilder()
[partition_spec] determines whether to export to partitioned table(s) and how to partition the data. If [partition_spec] is unset or [partition_spec.partition_key] is unset or `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to non-partitioned table(s). [force] will decide whether to overwrite existing table(s). If [partition_spec] is specified. First, the snapshot results will be written to partitioned table(s) with two additional timestamp columns, readTime and requestTime, one of which will be the partition key. Secondly, in the case when any destination table already exists, it will first try to update existing table's schema as necessary by appending additional columns. Then, if [force] is `TRUE`, the corresponding partition will be overwritten by the snapshot results (data in different partitions will remain intact); if [force] is unset or `FALSE`, it will append the data. An error will be returned if the schema update or data appension fails.
.google.cloud.asset.v1p7beta1.PartitionSpec partition_spec = 4;
public PartitionSpecOrBuilder getPartitionSpecOrBuilder()
[partition_spec] determines whether to export to partitioned table(s) and how to partition the data. If [partition_spec] is unset or [partition_spec.partition_key] is unset or `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to non-partitioned table(s). [force] will decide whether to overwrite existing table(s). If [partition_spec] is specified. First, the snapshot results will be written to partitioned table(s) with two additional timestamp columns, readTime and requestTime, one of which will be the partition key. Secondly, in the case when any destination table already exists, it will first try to update existing table's schema as necessary by appending additional columns. Then, if [force] is `TRUE`, the corresponding partition will be overwritten by the snapshot results (data in different partitions will remain intact); if [force] is unset or `FALSE`, it will append the data. An error will be returned if the schema update or data appension fails.
.google.cloud.asset.v1p7beta1.PartitionSpec partition_spec = 4;
getPartitionSpecOrBuilder
in interface BigQueryDestinationOrBuilder
public boolean getSeparateTablesPerAssetType()
If this flag is `TRUE`, the snapshot results will be written to one or multiple tables, each of which contains results of one asset type. The [force] and [partition_spec] fields will apply to each of them. Field [table] will be concatenated with "_" and the asset type names (see https://cloud.google.com/asset-inventory/docs/supported-asset-types for supported asset types) to construct per-asset-type table names, in which all non-alphanumeric characters like "." and "/" will be substituted by "_". Example: if field [table] is "mytable" and snapshot results contain "storage.googleapis.com/Bucket" assets, the corresponding table name will be "mytable_storage_googleapis_com_Bucket". If any of these tables does not exist, a new table with the concatenated name will be created. When [content_type] in the ExportAssetsRequest is `RESOURCE`, the schema of each table will include RECORD-type columns mapped to the nested fields in the Asset.resource.data field of that asset type (up to the 15 nested level BigQuery supports (https://cloud.google.com/bigquery/docs/nested-repeated#limitations)). The fields in >15 nested levels will be stored in JSON format string as a child column of its parent RECORD column. If error occurs when exporting to any table, the whole export call will return an error but the export results that already succeed will persist. Example: if exporting to table_type_A succeeds when exporting to table_type_B fails during one export call, the results in table_type_A will persist and there will not be partial results persisting in a table.
bool separate_tables_per_asset_type = 5;
getSeparateTablesPerAssetType
in interface BigQueryDestinationOrBuilder
public BigQueryDestination.Builder setSeparateTablesPerAssetType(boolean value)
If this flag is `TRUE`, the snapshot results will be written to one or multiple tables, each of which contains results of one asset type. The [force] and [partition_spec] fields will apply to each of them. Field [table] will be concatenated with "_" and the asset type names (see https://cloud.google.com/asset-inventory/docs/supported-asset-types for supported asset types) to construct per-asset-type table names, in which all non-alphanumeric characters like "." and "/" will be substituted by "_". Example: if field [table] is "mytable" and snapshot results contain "storage.googleapis.com/Bucket" assets, the corresponding table name will be "mytable_storage_googleapis_com_Bucket". If any of these tables does not exist, a new table with the concatenated name will be created. When [content_type] in the ExportAssetsRequest is `RESOURCE`, the schema of each table will include RECORD-type columns mapped to the nested fields in the Asset.resource.data field of that asset type (up to the 15 nested level BigQuery supports (https://cloud.google.com/bigquery/docs/nested-repeated#limitations)). The fields in >15 nested levels will be stored in JSON format string as a child column of its parent RECORD column. If error occurs when exporting to any table, the whole export call will return an error but the export results that already succeed will persist. Example: if exporting to table_type_A succeeds when exporting to table_type_B fails during one export call, the results in table_type_A will persist and there will not be partial results persisting in a table.
bool separate_tables_per_asset_type = 5;
value
- The separateTablesPerAssetType to set.public BigQueryDestination.Builder clearSeparateTablesPerAssetType()
If this flag is `TRUE`, the snapshot results will be written to one or multiple tables, each of which contains results of one asset type. The [force] and [partition_spec] fields will apply to each of them. Field [table] will be concatenated with "_" and the asset type names (see https://cloud.google.com/asset-inventory/docs/supported-asset-types for supported asset types) to construct per-asset-type table names, in which all non-alphanumeric characters like "." and "/" will be substituted by "_". Example: if field [table] is "mytable" and snapshot results contain "storage.googleapis.com/Bucket" assets, the corresponding table name will be "mytable_storage_googleapis_com_Bucket". If any of these tables does not exist, a new table with the concatenated name will be created. When [content_type] in the ExportAssetsRequest is `RESOURCE`, the schema of each table will include RECORD-type columns mapped to the nested fields in the Asset.resource.data field of that asset type (up to the 15 nested level BigQuery supports (https://cloud.google.com/bigquery/docs/nested-repeated#limitations)). The fields in >15 nested levels will be stored in JSON format string as a child column of its parent RECORD column. If error occurs when exporting to any table, the whole export call will return an error but the export results that already succeed will persist. Example: if exporting to table_type_A succeeds when exporting to table_type_B fails during one export call, the results in table_type_A will persist and there will not be partial results persisting in a table.
bool separate_tables_per_asset_type = 5;
public final BigQueryDestination.Builder setUnknownFields(UnknownFieldSet unknownFields)
setUnknownFields
in interface Message.Builder
setUnknownFields
in class GeneratedMessageV3.Builder<BigQueryDestination.Builder>
public final BigQueryDestination.Builder mergeUnknownFields(UnknownFieldSet unknownFields)
mergeUnknownFields
in interface Message.Builder
mergeUnknownFields
in class GeneratedMessageV3.Builder<BigQueryDestination.Builder>
Copyright © 2022 Google LLC. All rights reserved.