class TerraspacePluginAzurerm::Interfaces::Backend::StorageAccount

Public Instance Methods

create() click to toggle source
# File lib/terraspace_plugin_azurerm/interfaces/backend/storage_account.rb, line 6
def create
  if exist?
    logger.debug "Storage Account #{@storage_account_name} already exists"
  else
    create_storage_account
  end
end
create_storage_account() click to toggle source
# File lib/terraspace_plugin_azurerm/interfaces/backend/storage_account.rb, line 35
def create_storage_account
  logger.info "Creating Storage Account #{@storage_account_name}..."
  storage_accounts.create(@resource_group_name, @storage_account_name, storage_account_params)
end
exist?() click to toggle source
# File lib/terraspace_plugin_azurerm/interfaces/backend/storage_account.rb, line 14
def exist?
  params = StorageAccountCheckNameAvailabilityParameters.new
  params.name = @storage_account_name
  result = storage_accounts.check_name_availability(params)
  validate!(result)
  !result.name_available
end
sku() click to toggle source
# File lib/terraspace_plugin_azurerm/interfaces/backend/storage_account.rb, line 48
def sku
  sku = Sku.new
  sku.name = config.storage_account.sku.name
  sku.tier = config.storage_account.sku.tier
  sku
end
storage_account_params() click to toggle source
# File lib/terraspace_plugin_azurerm/interfaces/backend/storage_account.rb, line 40
def storage_account_params
  params = StorageAccountCreateParameters.new
  params.location = config.location || azure_info.location # IE: eastus
  params.sku = sku
  params.kind = Kind::StorageV2
  params
end
validate!(result) click to toggle source
# File lib/terraspace_plugin_azurerm/interfaces/backend/storage_account.rb, line 22
def validate!(result)
  return true if result.name_available

  case result.reason
  when "AccountNameInvalid"
    logger.error "ERROR: Failed to create storage account, reason: #{result.reason}".color(:red)
    logger.error "Provided storage_account_name: #{@storage_account_name}"
    exit 1
  else
    false
  end
end