26个版本 (12个重大变更)

0.13.3 2024年8月17日
0.12.1 2024年4月6日
0.12.0 2024年3月24日
0.1.5 2023年12月18日

#196异步

Download history 211/week @ 2024-04-29 3/week @ 2024-07-01 239/week @ 2024-07-29 40/week @ 2024-08-05 277/week @ 2024-08-12

每月556次下载

MIT/Apache

320KB
9K SLoC

z_osmf

正在开发中的Rust z/OSMFTM [^1] 客户端。

示例

列出您的数据集

#[tokio::main]
async fn main() -> z_osmf::Result<()> {
    let client = reqwest::Client::new();
    let base_url = "https://mainframe.my-company.com";

    let zosmf = z_osmf::ZOsmf::new(client, base_url);
    zosmf.login("USERNAME", "PASSWORD").await?;

    let my_datasets = zosmf
        .datasets()
        .list("USERNAME")
        .build()
        .await?;

    for dataset in my_datasets.items().iter() {
        println!("{}", dataset.name());
    }

    Ok(())
}

列出您的家目录中的文件

#[tokio::main]
async fn main() -> z_osmf::Result<()> {
    let client = reqwest::Client::new();
    let base_url = "https://mainframe.my-company.com";

    let zosmf = z_osmf::ZOsmf::new(client, base_url);
    zosmf.login("USERNAME", "PASSWORD").await?;

    let my_files = zosmf
        .files()
        .list("/u/username")
        .build()
        .await?;

    for file in my_files.items().iter() {
        println!("{}", file.name());
    }

    Ok(())
}

列出所有活动作业

#[tokio::main]
async fn main() -> z_osmf::Result<()> {
    let client = reqwest::Client::new();
    let base_url = "https://mainframe.my-company.com";

    let zosmf = z_osmf::ZOsmf::new(client, base_url);
    zosmf.login("USERNAME", "PASSWORD").await?;

    let active_jobs = zosmf
        .jobs()
        .list()
        .owner("*")
        .active_only(true)
        .build()
        .await?;

    for job in active_jobs.items().iter() {
        println!("{}", job.name());
    }

    Ok(())
}

[^1]: z/OSMFTM、z/OSTM 和小写字母 zTM (可能) 是国际商业机器公司 ("IBM") 的商标。本软件包未经 IBM 批准、认可、承认或容忍。 (请不要起诉我,蓝色巨人)

依赖项

~7–18MB
~260K SLoC