UNPKG

googleapis

Version:
1,059 lines 442 kB
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosResponseWithHTTP2, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common'; import { Readable } from 'stream'; export declare namespace backupdr_v1 { export interface Options extends GlobalOptions { version: 'v1'; } interface StandardParameters { /** * Auth client or API Key for the request */ auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth; /** * V1 error format. */ '$.xgafv'?: string; /** * OAuth access token. */ access_token?: string; /** * Data format for response. */ alt?: string; /** * JSONP */ callback?: string; /** * Selector specifying which fields to include in a partial response. */ fields?: string; /** * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * OAuth 2.0 token for the current user. */ oauth_token?: string; /** * Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** * Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; } /** * Backup and DR Service API * * * * @example * ```js * const {google} = require('googleapis'); * const backupdr = google.backupdr('v1'); * ``` */ export class Backupdr { context: APIRequestContext; projects: Resource$Projects; constructor(options: GlobalOptions, google?: GoogleConfigurable); } /** * request message for AbandonBackup. */ export interface Schema$AbandonBackupRequest { /** * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). */ requestId?: string | null; } /** * A specification of the type and number of accelerator cards attached to the instance. */ export interface Schema$AcceleratorConfig { /** * Optional. The number of the guest accelerator cards exposed to this instance. */ acceleratorCount?: number | null; /** * Optional. Full or partial URL of the accelerator type resource to attach to this instance. */ acceleratorType?: string | null; } /** * An access configuration attached to an instance's network interface. Only one access config per instance is supported. */ export interface Schema$AccessConfig { /** * Optional. The external IPv6 address of this access configuration. */ externalIpv6?: string | null; /** * Optional. The prefix length of the external IPv6 range. */ externalIpv6PrefixLength?: number | null; /** * Optional. The name of this access configuration. */ name?: string | null; /** * Optional. The external IP address of this access configuration. */ natIP?: string | null; /** * Optional. This signifies the networking tier used for configuring this access */ networkTier?: string | null; /** * Optional. The DNS domain name for the public PTR record. */ publicPtrDomainName?: string | null; /** * Optional. Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name. */ setPublicPtr?: boolean | null; /** * Optional. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6. */ type?: string | null; } /** * Specifies options for controlling advanced machine features. */ export interface Schema$AdvancedMachineFeatures { /** * Optional. Whether to enable nested virtualization or not (default is false). */ enableNestedVirtualization?: boolean | null; /** * Optional. Whether to enable UEFI networking for instance creation. */ enableUefiNetworking?: boolean | null; /** * Optional. The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed. */ threadsPerCore?: number | null; /** * Optional. The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width. */ visibleCoreCount?: number | null; } /** * An alias IP range attached to an instance's network interface. */ export interface Schema$AliasIpRange { /** * Optional. The IP alias ranges to allocate for this interface. */ ipCidrRange?: string | null; /** * Optional. The name of a subnetwork secondary IP range from which to allocate an IP alias range. If not specified, the primary range of the subnetwork is used. */ subnetworkRangeName?: string | null; } /** * Specifies the reservations that this instance can consume from. */ export interface Schema$AllocationAffinity { /** * Optional. Specifies the type of reservation from which this instance can consume */ consumeReservationType?: string | null; /** * Optional. Corresponds to the label key of a reservation resource. */ key?: string | null; /** * Optional. Corresponds to the label values of a reservation resource. */ values?: string[] | null; } /** * Properties for an AlloyDB cluster backup plan association. */ export interface Schema$AlloyDBClusterBackupPlanAssociationProperties { /** * Output only. The cluster UID of the AlloyDB cluster. */ clusterUid?: string | null; } /** * AlloyDbClusterBackupProperties represents AlloyDB cluster backup properties. . */ export interface Schema$AlloyDbClusterBackupProperties { /** * Output only. The chain id of this backup. Backups belonging to the same chain are sharing the same chain id. This property is calculated and maintained by BackupDR. */ chainId?: string | null; /** * Output only. The PostgreSQL major version of the AlloyDB cluster when the backup was taken. */ databaseVersion?: string | null; /** * An optional text description for the backup. */ description?: string | null; /** * Output only. Storage usage of this particular backup */ storedBytes?: string | null; } /** * AlloyDBClusterDataSourceProperties represents the properties of a AlloyDB cluster resource that are stored in the DataSource. . */ export interface Schema$AlloyDBClusterDataSourceProperties { /** * Output only. The cluster UID of the AlloyDB cluster backed up by the datasource. */ clusterUid?: string | null; /** * Output only. Name of the AlloyDB cluster backed up by the datasource. */ name?: string | null; /** * Output only. Point in time recovery windows. The order is guaranteed to be ascending by start time. */ pitrWindows?: Schema$AlloyDbPitrWindow[]; } /** * AlloyDBClusterDataSourceReferenceProperties represents the properties of an AlloyDB cluster that are stored in the DataSourceReference. */ export interface Schema$AlloyDBClusterDataSourceReferenceProperties { /** * Output only. Name of the AlloyDB cluster backed up by the datasource. Format: projects/{project\}/locations/{location\}/clusters/{cluster\} */ name?: string | null; } /** * Point in time recovery window for an AlloyDB cluster. */ export interface Schema$AlloyDbPitrWindow { /** * Output only. The end time of the PITR window. It is not set if the corresponding Backup Plan Association is active. */ endTime?: string | null; /** * Output only. Log retention days for the PITR window. */ logRetentionDays?: string | null; /** * Output only. The start time of the PITR window. */ startTime?: string | null; } /** * An instance-attached disk resource. */ export interface Schema$AttachedDisk { /** * Optional. Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance). */ autoDelete?: boolean | null; /** * Optional. Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem. */ boot?: boolean | null; /** * Optional. This is used as an identifier for the disks. This is the unique name has to provided to modify disk parameters like disk_name and replica_zones (in case of RePDs) */ deviceName?: string | null; /** * Optional. Encrypts or decrypts a disk using a customer-supplied encryption key. */ diskEncryptionKey?: Schema$CustomerEncryptionKey; /** * Optional. Specifies the disk interface to use for attaching this disk. */ diskInterface?: string | null; /** * Optional. The size of the disk in GB. */ diskSizeGb?: string | null; /** * Optional. Output only. The URI of the disk type resource. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd */ diskType?: string | null; /** * Specifies the type of the disk. */ diskTypeDeprecated?: string | null; /** * Optional. A list of features to enable on the guest operating system. Applicable only for bootable images. */ guestOsFeature?: Schema$GuestOsFeature[]; /** * Optional. A zero-based index to this disk, where 0 is reserved for the boot disk. */ index?: string | null; /** * Optional. Specifies the parameters to initialize this disk. */ initializeParams?: Schema$InitializeParams; /** * Optional. Type of the resource. */ kind?: string | null; /** * Optional. Any valid publicly visible licenses. */ license?: string[] | null; /** * Optional. The mode in which to attach this disk. */ mode?: string | null; /** * Optional. Output only. The state of the disk. */ savedState?: string | null; /** * Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource. */ source?: string | null; /** * Optional. Specifies the type of the disk. */ type?: string | null; } /** * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. */ export interface Schema$AuditConfig { /** * The configuration for logging of each type of permission. */ auditLogConfigs?: Schema$AuditLogConfig[]; /** * Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. */ service?: string | null; } /** * Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \} ] \} This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. */ export interface Schema$AuditLogConfig { /** * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. */ exemptedMembers?: string[] | null; /** * The log type that this config enables. */ logType?: string | null; } /** * Message describing a Backup object. */ export interface Schema$Backup { /** * Output only. AlloyDB specific backup properties. */ alloyDbBackupProperties?: Schema$AlloyDbClusterBackupProperties; /** * Output only. Backup Appliance specific backup properties. */ backupApplianceBackupProperties?: Schema$BackupApplianceBackupProperties; /** * Optional. The list of BackupLocks taken by the accessor Backup Appliance. */ backupApplianceLocks?: Schema$BackupLock[]; /** * Output only. Setting for how the enforced retention end time is inherited. This value is copied from this backup's BackupVault. */ backupRetentionInheritance?: string | null; /** * Output only. Type of the backup, unspecified, scheduled or ondemand. */ backupType?: string | null; /** * Output only. Cloud SQL specific backup properties. */ cloudSqlInstanceBackupProperties?: Schema$CloudSqlInstanceBackupProperties; /** * Output only. Compute Engine specific backup properties. */ computeInstanceBackupProperties?: Schema$ComputeInstanceBackupProperties; /** * Output only. The point in time when this backup was captured from the source. */ consistencyTime?: string | null; /** * Output only. The time when the instance was created. */ createTime?: string | null; /** * Output only. The description of the Backup instance (2048 characters or less). */ description?: string | null; /** * Output only. Disk specific backup properties. */ diskBackupProperties?: Schema$DiskBackupProperties; /** * Optional. The backup can not be deleted before this time. */ enforcedRetentionEndTime?: string | null; /** * Optional. Server specified ETag to prevent updates from overwriting each other. */ etag?: string | null; /** * Optional. When this backup is automatically expired. */ expireTime?: string | null; /** * Output only. Configuration for a Google Cloud resource. */ gcpBackupPlanInfo?: Schema$GCPBackupPlanInfo; /** * Output only. Unique identifier of the GCP resource that is being backed up. */ gcpResource?: Schema$BackupGcpResource; /** * Optional. Output only. The list of KMS key versions used to encrypt the backup. */ kmsKeyVersions?: string[] | null; /** * Optional. Resource labels to represent user provided metadata. No labels currently defined. */ labels?: { [key: string]: string; } | null; /** * Output only. Identifier. Name of the backup to create. It must have the format`"projects//locations//backupVaults//dataSources/{datasource\}/backups/{backup\}"`. `{backup\}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the datasource. */ name?: string | null; /** * Output only. source resource size in bytes at the time of the backup. */ resourceSizeBytes?: string | null; /** * Optional. Output only. Reserved for future use. */ satisfiesPzi?: boolean | null; /** * Optional. Output only. Reserved for future use. */ satisfiesPzs?: boolean | null; /** * Output only. The list of BackupLocks taken by the service to prevent the deletion of the backup. */ serviceLocks?: Schema$BackupLock[]; /** * Output only. The Backup resource instance state. */ state?: string | null; /** * Output only. The time when the instance was updated. */ updateTime?: string | null; } /** * BackupApplianceBackupConfig captures the backup configuration for applications that are protected by Backup Appliances. */ export interface Schema$BackupApplianceBackupConfig { /** * The name of the application. */ applicationName?: string | null; /** * The ID of the backup appliance. */ backupApplianceId?: string | null; /** * The name of the backup appliance. */ backupApplianceName?: string | null; /** * The name of the host where the application is running. */ hostName?: string | null; /** * The ID of the SLA of this application. */ slaId?: string | null; /** * The name of the SLP associated with the application. */ slpName?: string | null; /** * The name of the SLT associated with the application. */ sltName?: string | null; } /** * BackupApplianceBackupProperties represents BackupDR backup appliance's properties. */ export interface Schema$BackupApplianceBackupProperties { /** * Output only. The time when this backup object was finalized (if none, backup is not finalized). */ finalizeTime?: string | null; /** * Output only. The numeric generation ID of the backup (monotonically increasing). */ generationId?: number | null; /** * Optional. The latest timestamp of data available in this Backup. */ recoveryRangeEndTime?: string | null; /** * Optional. The earliest timestamp of data available in this Backup. */ recoveryRangeStartTime?: string | null; } /** * BackupApplianceLockInfo contains metadata about the backupappliance that created the lock. */ export interface Schema$BackupApplianceLockInfo { /** * Required. The ID of the backup/recovery appliance that created this lock. */ backupApplianceId?: string | null; /** * Required. The name of the backup/recovery appliance that created this lock. */ backupApplianceName?: string | null; /** * The image name that depends on this Backup. */ backupImage?: string | null; /** * The job name on the backup/recovery appliance that created this lock. */ jobName?: string | null; /** * Required. The reason for the lock: e.g. MOUNT/RESTORE/BACKUP/etc. The value of this string is only meaningful to the client and it is not interpreted by the BackupVault service. */ lockReason?: string | null; /** * The SLA on the backup/recovery appliance that owns the lock. */ slaId?: string | null; } /** * BackupConfigDetails has information about how the resource is configured for backups and about the most recent backup taken for this configuration. */ export interface Schema$BackupConfigDetails { /** * Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the resource that is applicable for the backup configuration. Example: "//compute.googleapis.com/projects/{project\}/zones/{zone\}/instances/{instance\}" */ applicableResource?: string | null; /** * Output only. The full resource name of the backup config source resource. For example, "//backupdr.googleapis.com/v1/projects/{project\}/locations/{region\}/backupPlans/{backupplanId\}" or "//compute.googleapis.com/projects/{project\}/locations/{region\}/resourcePolicies/{resourcePolicyId\}". */ backupConfigSource?: string | null; /** * Output only. The display name of the backup config source resource. */ backupConfigSourceDisplayName?: string | null; /** * Google Cloud Backup and DR's Backup Plan specific data. */ backupDrPlanConfig?: Schema$BackupDrPlanConfig; /** * Google Cloud Backup and DR's Template specific data. */ backupDrTemplateConfig?: Schema$BackupDrTemplateConfig; /** * The locations where the backups are to be stored. */ backupLocations?: Schema$BackupLocation[]; /** * Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the backup vault that will store the backups generated through this backup configuration. Example: "//backupdr.googleapis.com/v1/projects/{project\}/locations/{region\}/backupVaults/{backupvaultId\}" */ backupVault?: string | null; /** * Output only. Timestamp of the latest successful backup created via this backup configuration. */ latestSuccessfulBackupTime?: string | null; /** * Output only. Point in time recovery settings of the backup configuration resource. */ pitrSettings?: Schema$PitrSettings; /** * Output only. The state of the backup config resource. */ state?: string | null; /** * Output only. The type of the backup config resource. */ type?: string | null; } /** * BackupConfigInfo has information about how the resource is configured for Backup and about the most recent backup to this vault. */ export interface Schema$BackupConfigInfo { /** * Configuration for an application backed up by a Backup Appliance. */ backupApplianceBackupConfig?: Schema$BackupApplianceBackupConfig; /** * Configuration for a Google Cloud resource. */ gcpBackupConfig?: Schema$GcpBackupConfig; /** * Output only. If the last backup failed, this field has the error message. */ lastBackupError?: Schema$Status; /** * Output only. The status of the last backup to this BackupVault */ lastBackupState?: string | null; /** * Output only. If the last backup were successful, this field has the consistency date. */ lastSuccessfulBackupConsistencyTime?: string | null; } /** * BackupDrPlanConfig has additional information about Google Cloud Backup and DR's Plan backup configuration. */ export interface Schema$BackupDrPlanConfig { /** * Backup rules of the backup plan resource. */ backupDrPlanRules?: Schema$BackupDrPlanRule[]; } /** * BackupDrPlanRule has rule specific information of the backup plan resource. */ export interface Schema$BackupDrPlanRule { /** * Output only. Timestamp of the latest successful backup created via this backup rule. */ lastSuccessfulBackupTime?: string | null; /** * Output only. Unique Id of the backup rule. */ ruleId?: string | null; } /** * Provides additional information about Google Cloud Backup and DR's Template backup configuration. */ export interface Schema$BackupDrTemplateConfig { /** * Output only. The URI of the BackupDr template resource for the first party identity users. */ firstPartyManagementUri?: string | null; /** * Output only. The URI of the BackupDr template resource for the third party identity users. */ thirdPartyManagementUri?: string | null; } /** * Minimum details to identify a Google Cloud resource for a backup. */ export interface Schema$BackupGcpResource { /** * Name of the Google Cloud resource. */ gcpResourcename?: string | null; /** * Location of the resource: //"global"/"unspecified". */ location?: string | null; /** * Type of the resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance. */ type?: string | null; } /** * BackupLocation represents a cloud location where a backup can be stored. */ export interface Schema$BackupLocation { /** * Output only. The id of the cloud location. Example: "us-central1" */ locationId?: string | null; /** * Output only. The type of the location. */ type?: string | null; } /** * BackupLock represents a single lock on a Backup resource. An unexpired lock on a Backup prevents the Backup from being deleted. */ export interface Schema$BackupLock { /** * If the client is a backup and recovery appliance, this contains metadata about why the lock exists. */ backupApplianceLockInfo?: Schema$BackupApplianceLockInfo; /** * Required. The time after which this lock is not considered valid and will no longer protect the Backup from deletion. */ lockUntilTime?: string | null; /** * Output only. Contains metadata about the lock exist for Google Cloud native backups. */ serviceLockInfo?: Schema$ServiceLockInfo; } /** * A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads. */ export interface Schema$BackupPlan { /** * Optional. The backup rules for this `BackupPlan`. */ backupRules?: Schema$BackupRule[]; /** * Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project\}/locations/{location\}/backupVaults/{backupvault\} */ backupVault?: string | null; /** * Output only. The Google Cloud service account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account. */ backupVaultServiceAccount?: string | null; /** * Output only. When the `BackupPlan` was created. */ createTime?: string | null; /** * Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: "This is a backup plan that performs a daily backup at 6pm and retains data for 3 months". The description must be at most 2048 characters. */ description?: string | null; /** * Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources. */ etag?: string | null; /** * Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {"tag": "Weekly"\}. */ labels?: { [key: string]: string; } | null; /** * Optional. Applicable only for Cloud SQL resource_type. Configures how long logs will be stored. It is defined in “days”. This value should be greater than or equal to minimum enforced log retention duration of the backup vault. */ logRetentionDays?: string | null; /** * Optional. Optional field to configure the maximum number of days for which a backup can be retained. This field is only applicable for on-demand backups taken with custom retention value. */ maxCustomOnDemandRetentionDays?: number | null; /** * Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}` */ name?: string | null; /** * Required. The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance", "sqladmin.googleapis.com/Instance", "alloydb.googleapis.com/Cluster", "compute.googleapis.com/Disk". */ resourceType?: string | null; /** * Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc. */ revisionId?: string | null; /** * Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}/revisions/{revision_id\}` */ revisionName?: string | null; /** * Output only. The `State` for the `BackupPlan`. */ state?: string | null; /** * Output only. All resource types to which backupPlan can be applied. */ supportedResourceTypes?: string[] | null; /** * Output only. When the `BackupPlan` was last updated. */ updateTime?: string | null; } /** * A BackupPlanAssociation represents a single BackupPlanAssociation which contains details like workload, backup plan etc */ export interface Schema$BackupPlanAssociation { /** * Output only. AlloyDB cluster's backup plan association properties. */ alloydbClusterBackupPlanAssociationProperties?: Schema$AlloyDBClusterBackupPlanAssociationProperties; /** * Required. Resource name of backup plan which needs to be applied on workload. Format: projects/{project\}/locations/{location\}/backupPlans/{backupPlanId\} */ backupPlan?: string | null; /** * Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc. */ backupPlanRevisionId?: string | null; /** * Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}/revisions/{revision_id\}` */ backupPlanRevisionName?: string | null; /** * Output only. Cloud SQL instance's backup plan association properties. */ cloudSqlInstanceBackupPlanAssociationProperties?: Schema$CloudSqlInstanceBackupPlanAssociationProperties; /** * Output only. The time when the instance was created. */ createTime?: string | null; /** * Output only. Resource name of data source which will be used as storage location for backups taken. Format : projects/{project\}/locations/{location\}/backupVaults/{backupvault\}/dataSources/{datasource\} */ dataSource?: string | null; /** * Output only. Filestore instance's backup plan association properties. */ filestoreInstanceBackupPlanAssociationProperties?: Schema$FilestoreInstanceBackupPlanAssociationProperties; /** * Output only. Identifier. The resource name of BackupPlanAssociation in below format Format : projects/{project\}/locations/{location\}/backupPlanAssociations/{backupPlanAssociationId\} */ name?: string | null; /** * Required. Immutable. Resource name of workload on which the backup plan is applied. The format can either be the resource name (e.g., "projects/my-project/zones/us-central1-a/instances/my-instance") or the full resource URI (e.g., "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance"). */ resource?: string | null; /** * Required. Immutable. Resource type of workload on which backupplan is applied */ resourceType?: string | null; /** * Output only. The config info related to backup rules. */ rulesConfigInfo?: Schema$RuleConfigInfo[]; /** * Output only. The BackupPlanAssociation resource state. */ state?: string | null; /** * Output only. The time when the instance was updated. */ updateTime?: string | null; } /** * `BackupPlanRevision` represents a snapshot of a `BackupPlan` at a point in time. */ export interface Schema$BackupPlanRevision { /** * The Backup Plan being encompassed by this revision. */ backupPlanSnapshot?: Schema$BackupPlan; /** * Output only. The timestamp that the revision was created. */ createTime?: string | null; /** * Output only. Identifier. The resource name of the `BackupPlanRevision`. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}/revisions/{revision\}` */ name?: string | null; /** * Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc. */ revisionId?: string | null; /** * Output only. Resource State */ state?: string | null; } /** * `BackupRule` binds the backup schedule to a retention policy. */ export interface Schema$BackupRule { /** * Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less. */ backupRetentionDays?: number | null; /** * Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62\}/. */ ruleId?: string | null; /** * Optional. Defines a schedule that runs within the confines of a defined window of time. */ standardSchedule?: Schema$StandardSchedule; } /** * Message describing a BackupVault object. */ export interface Schema$BackupVault { /** * Optional. Note: This field is added for future use case and will not be supported in the current release. Access restriction for the backup vault. Default value is WITHIN_ORGANIZATION if not provided during creation. */ accessRestriction?: string | null; /** * Optional. User annotations. See https://google.aip.dev/128#annotations Stores small amounts of arbitrary data. */ annotations?: { [key: string]: string; } | null; /** * Output only. The number of backups in this backup vault. */ backupCount?: string | null; /** * Required. The default and minimum enforced retention for each backup within the backup vault. The enforced retention for each backup can be extended. Note: Longer minimum enforced retention period impacts potential storage costs post introductory trial. We recommend starting with a short duration of 3 days or less. */ backupMinimumEnforcedRetentionDuration?: string | null; /** * Optional. Setting for how a backup's enforced retention end time is inherited. */ backupRetentionInheritance?: string | null; /** * Output only. The time when the instance was created. */ createTime?: string | null; /** * Output only. Set to true when there are no backups nested under this resource. */ deletable?: boolean | null; /** * Optional. The description of the BackupVault instance (2048 characters or less). */ description?: string | null; /** * Optional. Time after which the BackupVault resource is locked. */ effectiveTime?: string | null; /** * Optional. The encryption config of the backup vault. */ encryptionConfig?: Schema$EncryptionConfig; /** * Optional. Server specified ETag for the backup vault resource to prevent simultaneous updates from overwiting each other. */ etag?: string | null; /** * Optional. Resource labels to represent user provided metadata. No labels currently defined: */ labels?: { [key: string]: string; } | null; /** * Output only. Identifier. Name of the backup vault to create. It must have the format`"projects/{project\}/locations/{location\}/backupVaults/{backupvault\}"`. `{backupvault\}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the project and location. */ name?: string | null; /** * Output only. Service account used by the BackupVault Service for this BackupVault. The user should grant this account permissions in their workload project to enable the service to run backups and restores there. */ serviceAccount?: string | null; /** * Output only. The BackupVault resource instance state. */ state?: string | null; /** * Output only. Total size of the storage used by all backup resources. */ totalStoredBytes?: string | null; /** * Output only. Immutable after resource creation until resource deletion. */ uid?: string | null; /** * Output only. The time when the instance was updated. */ updateTime?: string | null; } /** * `BackupWindow` defines a window of the day during which backup jobs will run. */ export interface Schema$BackupWindow { /** * Required. The hour of day (1-24) when the window end for example if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 <= start_hour_of_day < end_hour_of_day <= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00. */ endHourOfDay?: number | null; /** * Required. The hour of day (0-23) when the window starts for example if value of start hour of day is 6 that mean backup window start at 6:00. */ startHourOfDay?: number | null; } /** * Associates `members`, or principals, with a `role`. */ export interface Schema$Binding { /** * The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). */ condition?: Schema$Expr; /** * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/group/{group_id\}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/x`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/group/{group_id\}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/x`: All identities in a workload identity pool. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid\}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. */ members?: string[] | null; /** * Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). */ role?: string | null; } /** * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest { } /** * Cloud SQL instance's BPA properties. */ export interface Schema$CloudSqlInstanceBackupPlanAssociationProperties { /** * Output only. The time when the instance was created. */ instanceCreateTime?: string | null; } /** * CloudSqlInstanceBackupProperties represents Cloud SQL Instance Backup properties. */ export interface Schema$CloudSqlInstanceBackupProperties { /** * Output only. The installed database version of the Cloud SQL instance when the backup was taken. */ databaseInstalledVersion?: string | null; /** * Output only. Whether the backup is a final backup. */ finalBackup?: boolean | null; /** * Output only. The instance creation timestamp. */ instanceCreateTime?: string | null; /** * Output only. The instance delete timestamp. */ instanceDeleteTime?: string | null; /** * Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840` */ instanceTier?: string | null; /** * Output only. The source instance of the backup. Format: projects/{project\}/instances/{instance\} */ sourceInstance?: string | null; } /** * CloudSqlInstanceDataSourceProperties represents the properties of a Cloud SQL resource that are stored in the DataSource. */ export interface Schema$CloudSqlInstanceDataSourceProperties { /** * Output only. The installed database version of the Cloud SQL instance. */ databaseInstalledVersion?: string | null; /** * Output only. The instance creation timestamp. */ instanceCreateTime?: string | null; /** * Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840` */ instanceTier?: string | null; /** * Output only. Name of the Cloud SQL instance backed up by the datasource. Format: projects/{project\}/instances/{instance\} */ name?: string | null; } /** * CloudSqlInstanceDataSourceReferenceProperties represents the properties of a Cloud SQL resource that are stored in the DataSourceReference. */ export interface Schema$CloudSqlInstanceDataSourceReferenceProperties { /** * Output only. The installed database version of the Cloud SQL instance. */ databaseInstalledVersion?: string | null; /** * Output only. The instance creation timest