Sha256: 81b467db85e873de8eca4399a1cc4724e3c9bd53a3aaa74e12160de21efa7ce9

Contents?: true

Size: 1.62 KB

Versions: 3

Compression:

Stored size: 1.62 KB

Contents

[<< back](README.md)

1. [Tree directory](#tree-directory)
2. [Execution section](#execution-section)
3. [Users file](#users-file)
4. [Network file](#network-file)

# Example: learn-04-use

Learn how to:
* Organize huge amount of groups/targets into several files.
* Checking Windows OS infrastructure (host1).

> This example is on GitHub repository at `examples/learn-04-use`.

## Tree directory

This example has more files:

```bash
$ tree example/learn-04-use
example/learn-04-require
├── config.yaml
├── network.rb
├── README.md
├── start.rb
└── users.rb
```

* `README.md` and `config.yaml` are the same as previous example.

## Execution section

Previous `start.rb` file is now splited in: start.rb, users.rb and network.rb.

Let's see current `start.rb` file:

```ruby
use 'users'
use 'network'

play do
  show
  export
end
```

* `use`, indicates external rb file that will be included/imported into main rb file. It's a good idea to organize project files, when the number of groups/targets is high.

## Users file

> Require Windows OS on remote machine.

Let's see `users.rb` file

```ruby
group "Use file: User configuration" do

  target "Create user #{gett(:username)}"
  run "net user", on: :host1
  expect get(:username)

end
```

## Network file

> Require Windows OS on remote machine.

Let's see `network.rb` file:

```ruby
group "Use file: Network configuracion" do

  target "Update computer name with #{gett(:host1_hostname)}"
  run "hostname", on: :host1
  expect_one get(:host1_hostname)

  target "Ensure DNS Server is working"
  run "nslookup www.google.es", on: :host1
  expect "Nombre:"

end
```

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
teuton-2.1.11 docs/learn/example-04-use.md
teuton-2.1.10 docs/learn/example-04-use.md
teuton-2.1.9 docs/learn/example-04-use.md