Class DatabaseProperties

java.lang.Object
com.azure.resourcemanager.sql.fluent.models.DatabaseProperties
All Implemented Interfaces:
com.azure.json.JsonSerializable<DatabaseProperties>

public final class DatabaseProperties extends Object implements com.azure.json.JsonSerializable<DatabaseProperties>
The database's properties.
  • Constructor Details

    • DatabaseProperties

      public DatabaseProperties()
      Creates an instance of DatabaseProperties class.
  • Method Details

    • createMode

      public CreateMode createMode()
      Get the createMode property: Specifies the mode of database creation. Default: regular database creation. Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database. Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database. PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified. Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore. Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time. RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.
      Returns:
      the createMode value.
    • withCreateMode

      public DatabaseProperties withCreateMode(CreateMode createMode)
      Set the createMode property: Specifies the mode of database creation. Default: regular database creation. Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database. Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database. PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified. Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore. Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time. RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.
      Parameters:
      createMode - the createMode value to set.
      Returns:
      the DatabaseProperties object itself.
    • collation

      public String collation()
      Get the collation property: The collation of the database.
      Returns:
      the collation value.
    • withCollation

      public DatabaseProperties withCollation(String collation)
      Set the collation property: The collation of the database.
      Parameters:
      collation - the collation value to set.
      Returns:
      the DatabaseProperties object itself.
    • maxSizeBytes

      public Long maxSizeBytes()
      Get the maxSizeBytes property: The max size of the database expressed in bytes.
      Returns:
      the maxSizeBytes value.
    • withMaxSizeBytes

      public DatabaseProperties withMaxSizeBytes(Long maxSizeBytes)
      Set the maxSizeBytes property: The max size of the database expressed in bytes.
      Parameters:
      maxSizeBytes - the maxSizeBytes value to set.
      Returns:
      the DatabaseProperties object itself.
    • sampleName

      public SampleName sampleName()
      Get the sampleName property: The name of the sample schema to apply when creating this database.
      Returns:
      the sampleName value.
    • withSampleName

      public DatabaseProperties withSampleName(SampleName sampleName)
      Set the sampleName property: The name of the sample schema to apply when creating this database.
      Parameters:
      sampleName - the sampleName value to set.
      Returns:
      the DatabaseProperties object itself.
    • elasticPoolId

      public String elasticPoolId()
      Get the elasticPoolId property: The resource identifier of the elastic pool containing this database.
      Returns:
      the elasticPoolId value.
    • withElasticPoolId

      public DatabaseProperties withElasticPoolId(String elasticPoolId)
      Set the elasticPoolId property: The resource identifier of the elastic pool containing this database.
      Parameters:
      elasticPoolId - the elasticPoolId value to set.
      Returns:
      the DatabaseProperties object itself.
    • sourceDatabaseId

      public String sourceDatabaseId()
      Get the sourceDatabaseId property: The resource identifier of the source database associated with create operation of this database.
      Returns:
      the sourceDatabaseId value.
    • withSourceDatabaseId

      public DatabaseProperties withSourceDatabaseId(String sourceDatabaseId)
      Set the sourceDatabaseId property: The resource identifier of the source database associated with create operation of this database.
      Parameters:
      sourceDatabaseId - the sourceDatabaseId value to set.
      Returns:
      the DatabaseProperties object itself.
    • status

      public DatabaseStatus status()
      Get the status property: The status of the database.
      Returns:
      the status value.
    • databaseId

      public UUID databaseId()
      Get the databaseId property: The ID of the database.
      Returns:
      the databaseId value.
    • creationDate

      public OffsetDateTime creationDate()
      Get the creationDate property: The creation date of the database (ISO8601 format).
      Returns:
      the creationDate value.
    • currentServiceObjectiveName

      public String currentServiceObjectiveName()
      Get the currentServiceObjectiveName property: The current service level objective name of the database.
      Returns:
      the currentServiceObjectiveName value.
    • requestedServiceObjectiveName

      public String requestedServiceObjectiveName()
      Get the requestedServiceObjectiveName property: The requested service level objective name of the database.
      Returns:
      the requestedServiceObjectiveName value.
    • defaultSecondaryLocation

      public String defaultSecondaryLocation()
      Get the defaultSecondaryLocation property: The default secondary region for this database.
      Returns:
      the defaultSecondaryLocation value.
    • failoverGroupId

      public String failoverGroupId()
      Get the failoverGroupId property: Failover Group resource identifier that this database belongs to.
      Returns:
      the failoverGroupId value.
    • restorePointInTime

      public OffsetDateTime restorePointInTime()
      Get the restorePointInTime property: Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.
      Returns:
      the restorePointInTime value.
    • withRestorePointInTime

      public DatabaseProperties withRestorePointInTime(OffsetDateTime restorePointInTime)
      Set the restorePointInTime property: Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.
      Parameters:
      restorePointInTime - the restorePointInTime value to set.
      Returns:
      the DatabaseProperties object itself.
    • sourceDatabaseDeletionDate

      public OffsetDateTime sourceDatabaseDeletionDate()
      Get the sourceDatabaseDeletionDate property: Specifies the time that the database was deleted.
      Returns:
      the sourceDatabaseDeletionDate value.
    • withSourceDatabaseDeletionDate

      public DatabaseProperties withSourceDatabaseDeletionDate(OffsetDateTime sourceDatabaseDeletionDate)
      Set the sourceDatabaseDeletionDate property: Specifies the time that the database was deleted.
      Parameters:
      sourceDatabaseDeletionDate - the sourceDatabaseDeletionDate value to set.
      Returns:
      the DatabaseProperties object itself.
    • recoveryServicesRecoveryPointId

      public String recoveryServicesRecoveryPointId()
      Get the recoveryServicesRecoveryPointId property: The resource identifier of the recovery point associated with create operation of this database.
      Returns:
      the recoveryServicesRecoveryPointId value.
    • withRecoveryServicesRecoveryPointId

      public DatabaseProperties withRecoveryServicesRecoveryPointId(String recoveryServicesRecoveryPointId)
      Set the recoveryServicesRecoveryPointId property: The resource identifier of the recovery point associated with create operation of this database.
      Parameters:
      recoveryServicesRecoveryPointId - the recoveryServicesRecoveryPointId value to set.
      Returns:
      the DatabaseProperties object itself.
    • longTermRetentionBackupResourceId

      public String longTermRetentionBackupResourceId()
      Get the longTermRetentionBackupResourceId property: The resource identifier of the long term retention backup associated with create operation of this database.
      Returns:
      the longTermRetentionBackupResourceId value.
    • withLongTermRetentionBackupResourceId

      public DatabaseProperties withLongTermRetentionBackupResourceId(String longTermRetentionBackupResourceId)
      Set the longTermRetentionBackupResourceId property: The resource identifier of the long term retention backup associated with create operation of this database.
      Parameters:
      longTermRetentionBackupResourceId - the longTermRetentionBackupResourceId value to set.
      Returns:
      the DatabaseProperties object itself.
    • recoverableDatabaseId

      public String recoverableDatabaseId()
      Get the recoverableDatabaseId property: The resource identifier of the recoverable database associated with create operation of this database.
      Returns:
      the recoverableDatabaseId value.
    • withRecoverableDatabaseId

      public DatabaseProperties withRecoverableDatabaseId(String recoverableDatabaseId)
      Set the recoverableDatabaseId property: The resource identifier of the recoverable database associated with create operation of this database.
      Parameters:
      recoverableDatabaseId - the recoverableDatabaseId value to set.
      Returns:
      the DatabaseProperties object itself.
    • restorableDroppedDatabaseId

      public String restorableDroppedDatabaseId()
      Get the restorableDroppedDatabaseId property: The resource identifier of the restorable dropped database associated with create operation of this database.
      Returns:
      the restorableDroppedDatabaseId value.
    • withRestorableDroppedDatabaseId

      public DatabaseProperties withRestorableDroppedDatabaseId(String restorableDroppedDatabaseId)
      Set the restorableDroppedDatabaseId property: The resource identifier of the restorable dropped database associated with create operation of this database.
      Parameters:
      restorableDroppedDatabaseId - the restorableDroppedDatabaseId value to set.
      Returns:
      the DatabaseProperties object itself.
    • catalogCollation

      public CatalogCollationType catalogCollation()
      Get the catalogCollation property: Collation of the metadata catalog.
      Returns:
      the catalogCollation value.
    • withCatalogCollation

      public DatabaseProperties withCatalogCollation(CatalogCollationType catalogCollation)
      Set the catalogCollation property: Collation of the metadata catalog.
      Parameters:
      catalogCollation - the catalogCollation value to set.
      Returns:
      the DatabaseProperties object itself.
    • zoneRedundant

      public Boolean zoneRedundant()
      Get the zoneRedundant property: Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.
      Returns:
      the zoneRedundant value.
    • withZoneRedundant

      public DatabaseProperties withZoneRedundant(Boolean zoneRedundant)
      Set the zoneRedundant property: Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.
      Parameters:
      zoneRedundant - the zoneRedundant value to set.
      Returns:
      the DatabaseProperties object itself.
    • licenseType

      public DatabaseLicenseType licenseType()
      Get the licenseType property: The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit.
      Returns:
      the licenseType value.
    • withLicenseType

      public DatabaseProperties withLicenseType(DatabaseLicenseType licenseType)
      Set the licenseType property: The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit.
      Parameters:
      licenseType - the licenseType value to set.
      Returns:
      the DatabaseProperties object itself.
    • maxLogSizeBytes

      public Long maxLogSizeBytes()
      Get the maxLogSizeBytes property: The max log size for this database.
      Returns:
      the maxLogSizeBytes value.
    • earliestRestoreDate

      public OffsetDateTime earliestRestoreDate()
      Get the earliestRestoreDate property: This records the earliest start date and time that restore is available for this database (ISO8601 format).
      Returns:
      the earliestRestoreDate value.
    • readScale

      public DatabaseReadScale readScale()
      Get the readScale property: The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.
      Returns:
      the readScale value.
    • withReadScale

      public DatabaseProperties withReadScale(DatabaseReadScale readScale)
      Set the readScale property: The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.
      Parameters:
      readScale - the readScale value to set.
      Returns:
      the DatabaseProperties object itself.
    • highAvailabilityReplicaCount

      public Integer highAvailabilityReplicaCount()
      Get the highAvailabilityReplicaCount property: The number of secondary replicas associated with the database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.
      Returns:
      the highAvailabilityReplicaCount value.
    • withHighAvailabilityReplicaCount

      public DatabaseProperties withHighAvailabilityReplicaCount(Integer highAvailabilityReplicaCount)
      Set the highAvailabilityReplicaCount property: The number of secondary replicas associated with the database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.
      Parameters:
      highAvailabilityReplicaCount - the highAvailabilityReplicaCount value to set.
      Returns:
      the DatabaseProperties object itself.
    • secondaryType

      public SecondaryType secondaryType()
      Get the secondaryType property: The secondary type of the database if it is a secondary. Valid values are Geo and Named.
      Returns:
      the secondaryType value.
    • withSecondaryType

      public DatabaseProperties withSecondaryType(SecondaryType secondaryType)
      Set the secondaryType property: The secondary type of the database if it is a secondary. Valid values are Geo and Named.
      Parameters:
      secondaryType - the secondaryType value to set.
      Returns:
      the DatabaseProperties object itself.
    • currentSku

      public Sku currentSku()
      Get the currentSku property: The name and tier of the SKU.
      Returns:
      the currentSku value.
    • autoPauseDelay

      public Integer autoPauseDelay()
      Get the autoPauseDelay property: Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled.
      Returns:
      the autoPauseDelay value.
    • withAutoPauseDelay

      public DatabaseProperties withAutoPauseDelay(Integer autoPauseDelay)
      Set the autoPauseDelay property: Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled.
      Parameters:
      autoPauseDelay - the autoPauseDelay value to set.
      Returns:
      the DatabaseProperties object itself.
    • currentBackupStorageRedundancy

      public BackupStorageRedundancy currentBackupStorageRedundancy()
      Get the currentBackupStorageRedundancy property: The storage account type used to store backups for this database.
      Returns:
      the currentBackupStorageRedundancy value.
    • requestedBackupStorageRedundancy

      public BackupStorageRedundancy requestedBackupStorageRedundancy()
      Get the requestedBackupStorageRedundancy property: The storage account type to be used to store backups for this database.
      Returns:
      the requestedBackupStorageRedundancy value.
    • withRequestedBackupStorageRedundancy

      public DatabaseProperties withRequestedBackupStorageRedundancy(BackupStorageRedundancy requestedBackupStorageRedundancy)
      Set the requestedBackupStorageRedundancy property: The storage account type to be used to store backups for this database.
      Parameters:
      requestedBackupStorageRedundancy - the requestedBackupStorageRedundancy value to set.
      Returns:
      the DatabaseProperties object itself.
    • minCapacity

      public Double minCapacity()
      Get the minCapacity property: Minimal capacity that database will always have allocated, if not paused.
      Returns:
      the minCapacity value.
    • withMinCapacity

      public DatabaseProperties withMinCapacity(Double minCapacity)
      Set the minCapacity property: Minimal capacity that database will always have allocated, if not paused.
      Parameters:
      minCapacity - the minCapacity value to set.
      Returns:
      the DatabaseProperties object itself.
    • pausedDate

      public OffsetDateTime pausedDate()
      Get the pausedDate property: The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready.
      Returns:
      the pausedDate value.
    • resumedDate

      public OffsetDateTime resumedDate()
      Get the resumedDate property: The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.
      Returns:
      the resumedDate value.
    • maintenanceConfigurationId

      public String maintenanceConfigurationId()
      Get the maintenanceConfigurationId property: Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.
      Returns:
      the maintenanceConfigurationId value.
    • withMaintenanceConfigurationId

      public DatabaseProperties withMaintenanceConfigurationId(String maintenanceConfigurationId)
      Set the maintenanceConfigurationId property: Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.
      Parameters:
      maintenanceConfigurationId - the maintenanceConfigurationId value to set.
      Returns:
      the DatabaseProperties object itself.
    • isLedgerOn

      public Boolean isLedgerOn()
      Get the isLedgerOn property: Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.
      Returns:
      the isLedgerOn value.
    • withIsLedgerOn

      public DatabaseProperties withIsLedgerOn(Boolean isLedgerOn)
      Set the isLedgerOn property: Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.
      Parameters:
      isLedgerOn - the isLedgerOn value to set.
      Returns:
      the DatabaseProperties object itself.
    • isInfraEncryptionEnabled

      public Boolean isInfraEncryptionEnabled()
      Get the isInfraEncryptionEnabled property: Infra encryption is enabled for this database.
      Returns:
      the isInfraEncryptionEnabled value.
    • federatedClientId

      public UUID federatedClientId()
      Get the federatedClientId property: The Client id used for cross tenant per database CMK scenario.
      Returns:
      the federatedClientId value.
    • withFederatedClientId

      public DatabaseProperties withFederatedClientId(UUID federatedClientId)
      Set the federatedClientId property: The Client id used for cross tenant per database CMK scenario.
      Parameters:
      federatedClientId - the federatedClientId value to set.
      Returns:
      the DatabaseProperties object itself.
    • sourceResourceId

      public String sourceResourceId()
      Get the sourceResourceId property: The resource identifier of the source associated with the create operation of this database. This property is only supported for DataWarehouse edition and allows to restore across subscriptions. When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover. When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql pool, and restorePointInTime must be specified. When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool. When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool. When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant.
      Returns:
      the sourceResourceId value.
    • withSourceResourceId

      public DatabaseProperties withSourceResourceId(String sourceResourceId)
      Set the sourceResourceId property: The resource identifier of the source associated with the create operation of this database. This property is only supported for DataWarehouse edition and allows to restore across subscriptions. When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover. When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql pool, and restorePointInTime must be specified. When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool. When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool. When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant.
      Parameters:
      sourceResourceId - the sourceResourceId value to set.
      Returns:
      the DatabaseProperties object itself.
    • validate

      public void validate()
      Validates the instance.
      Throws:
      IllegalArgumentException - thrown if the instance is not valid.
    • toJson

      public com.azure.json.JsonWriter toJson(com.azure.json.JsonWriter jsonWriter) throws IOException
      Specified by:
      toJson in interface com.azure.json.JsonSerializable<DatabaseProperties>
      Throws:
      IOException
    • fromJson

      public static DatabaseProperties fromJson(com.azure.json.JsonReader jsonReader) throws IOException
      Reads an instance of DatabaseProperties from the JsonReader.
      Parameters:
      jsonReader - The JsonReader being read.
      Returns:
      An instance of DatabaseProperties if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
      Throws:
      IOException - If an error occurs while reading the DatabaseProperties.