Class: Fog::Sql::AzureRM::SqlDatabase

Inherits:
Model
  • Object
show all
Defined in:
lib/fog/azurerm/models/sql/sql_database.rb

Overview

Sql Database model for Database Service

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.parse(database) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/fog/azurerm/models/sql/sql_database.rb', line 29

def self.parse(database)
  {
    id: database['id'],
    type: database['type'],
    name: database['name'],
    location: database['location'],
    edition: database['properties']['edition'],
    elastic_pool_name: database['elasticPoolName'],
    collation: database['properties']['collation'],
    create_mode: database['properties']['createMode'],
    database_id: database['properties']['databaseId'],
    server_name: get_server_name_from_id(database['id']),
    creation_date: database['properties']['creationDate'],
    max_size_bytes: database['properties']['maxSizeBytes'],
    resource_group: get_resource_group_from_id(database['id']),
    source_database_id: database['properties']['sourceDatabaseId'],
    restore_point_in_time: database['properties']['restorePointInTime'],
    earliest_restore_date: database['properties']['earliestRestoreDate'],
    service_level_objective: database['properties']['serviceLevelObjective'],
    default_secondary_location: database['properties']['defaultSecondaryLocation'],
    source_database_deletion_date: database['properties']['sourceDatabaseDeletionDate'],
    requested_service_objective_id: database['properties']['requestedServiceObjectiveId'],
    requested_service_objective_name: database['properties']['requestedServiceObjectiveName'],
    current_service_level_objective_id: database['properties']['currentServiceLevelObjectiveId'],
  }
end

Instance Method Details

#destroyObject



62
63
64
# File 'lib/fog/azurerm/models/sql/sql_database.rb', line 62

def destroy
  service.delete_database(resource_group, server_name, name)
end

#saveObject



56
57
58
59
60
# File 'lib/fog/azurerm/models/sql/sql_database.rb', line 56

def save
  requires :resource_group, :server_name, :name, :location
  sql_database = service.create_or_update_database(database_params)
  merge_attributes(Fog::Sql::AzureRM::SqlDatabase.parse(sql_database))
end