2014-12-02 3 views
0

У меня есть команда curl, чтобы загрузить файл и отправить форму.Загрузите файл и отправьте форму, используя CURL в кукольном модуле

необходимо написать кукольный блок исполнения, как показано ниже.

ex: exec { "IngestClient $abc_name" : 

    command => "curl --form [email protected]$file --form press=Submit http://ipaddress:portno/myapp/abc/" 
    cwd  => "$data/bin", 
    path => "$data/bin:/usr/bin", 
    require => [File["$package_file"],Package['curl']], 
} 

Мне нужно параметризовать URL-адрес и имя файла, а также значение файла и кнопки.

Спасибо заранее,

+0

Тогда я предлагаю вам сделать именно это. Но, шутки в сторону, не совсем понятно, к чему вы клоните. Пожалуйста, уточните свой вопрос. –

+0

необходимо параметризовать URL-адрес. Вместо этого введите код жесткого кодирования. – user2779221

ответ

1

вы могли бы определить пользовательский тип с параметрами filename, url, abc_name, data и package_file:

define uploadFile(
    $filename  = $title, 
    $url   = undef, 
    $abc_name  = undef, 
    $data   = undef, 
    $package_file = undef 
) { 
    exec { "IngestClient ${abc_name}" : 

     command => "curl --form [email protected]${filename} --form press=Submit ${url}" 
     cwd  => "${data}/bin", 
     path => "${data}/bin:/usr/bin", 
     require => [ File["${package_file}"], Package['curl'] ] 
    } 
} 

, а затем использовать его как это:

uploadFile { "my-file": 
    url   => "http://ipaddress:portno/myapp/abc", 
    abc_name  => "???", 
    data   => "/foo/bar", 
    package_file => "???" 
} 
Смежные вопросы