Как колонизировать запасы Ansible в формате yaml

Другой пример:

class func getExchangeRate(#baseCurrency: String, foreignCurrency:String, completion: ((result:Double?) -> Void)!){
    let baseURL = kAPIEndPoint
    let query = String(baseCurrency)+"_"+String(foreignCurrency)

    var finalExchangeRate = 0.0
    if let url = NSURL(string: baseURL + query) {
        NSURLSession.sharedSession().dataTaskWithURL(url) { data, response, error in

            if ((data) != nil) {
                let jsonDictionary:NSDictionary = NSJSONSerialization.JSONObjectWithData(data!, options: nil, error: nil) as NSDictionary

                if let results = jsonDictionary["results"] as? NSDictionary{
                    if let queryResults = results[query] as? NSDictionary{
                        if let exchangeRate = queryResults["val"] as? Double{
                            let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
                            dispatch_async(dispatch_get_global_queue(priority, 0)) {
                                dispatch_async(dispatch_get_main_queue()) {
                                    completion(result: exchangeRate)
                                }
                            }

                        }
                    }
                }
            }
            else {
                completion(result: nil)
            }

        }.resume()
    }
}    

Вызов:

 Currency.getExchangeRate(baseCurrency: "USD", foreignCurrency: "EUR") { (result) -> Void in
                if let exchangeValue = result {
                    print(exchangeValue)
                }
            }
2
задан Lefty G Balogh 16 January 2019 в 15:16
поделиться

1 ответ

Занимательный вопрос :)

Получил это совершенно неправильно при первом проходе :( Я предположил, что YAML-версия базового INI-файла отражала структуру структуры данных, использованной при написании сценария динамической инвентаризации, и поэтому группы содержали списки хостов. Это не так, и они этого не делают.

Я случайно прочитал документы Inventory сегодня. Это ясно показывает, что в YAML-версии базового INI описывают, что группа действительно является словарем, содержащим ключи имен хостов и значения либо пустого словаря, либо словаря специфических для хоста опций.

Пример из документации:

all:
  hosts:
    mail.example.com:
        ansible_port: 5555
        ansible_host: 192.0.2.50
  children:
    webservers:
      hosts:
        foo.example.com:
        bar.example.com:
    dbservers:
      hosts:
        one.example.com:
        two.example.com:
        three.example.com:

Короче говоря, вы застряли с двоеточиями.

0
ответ дан clockworknet 16 January 2019 в 15:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: