You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: managing_providers/_topics/automation_management_providers.md
+145Lines changed: 145 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -365,3 +365,148 @@ To use the button to run an Ansible Tower job on a virtual machine:
365
365
If you selected a service dialog to run when creating the button, {{ site.data.product.title_short }} will then prompt you to enter variables to complete the task. After entering your desired parameters, {{ site.data.product.title_short }} takes you to the **Requests** page.
366
366
367
367
The service item’s details can be viewed in menu: **Services > My Services** in {{ site.data.product.title_short }}.
368
+
369
+
## OpenTofu
370
+
371
+
OpenTofu is an open source infrastructure as code tool, which can be used to build, change, and version infrastructure. OpenTofu allows you to define infrastructure resources in human-readable configuration files that you can use to version, reuse, and share.
372
+
373
+
OpenTofu is built into {{ site.data.product.title_short }} so you do not need to install any additional components. The basic workflow to use OpenTofu in {{ site.data.product.title_short }} is as follows:
374
+
375
+
1. Enable the Embedded Terraform server role.
376
+
2. Add a source control repository that contains your templates.
377
+
3. Add credentials for your cloud providers.
378
+
4. Create a Service Catalog item with the desired Terraform template.
379
+
380
+
Use the following sections to learn more about OpenTofu and how to use these described workflows within {{ site.data.product.title_short }}.
381
+
382
+
### Enabling the Embedded Terraform Server Role
383
+
384
+
In {{ site.data.product.title_short }}, the Embedded Terraform Role is disabled by default. Enable this server role to utilize Terraform Automation Inside.
385
+
386
+
To enable the Embedded Terraform Server Role, use the following steps:
387
+
388
+
1. Browse to the settings menu, and click **Configuration** > **Settings**.
389
+
2. Select the desired server under **Zones**.
390
+
3. Set the **Server Role** for **Embedded Terraform** to `On`.
391
+
392
+
### Verifying the Embedded Terraform worker state
393
+
394
+
Verify that the Embedded Terraform worker is started to utilize its features:
395
+
396
+
1. Browse to the settings menu, then click **Configuration** > **Diagnostics** and click on the desired server.
397
+
2. Click **Roles by Servers** tab.
398
+
399
+
A table of all workers and their current status appears from which you can confirm the state of your Embedded Terraform worker.
400
+
401
+
### Adding a Template Repository
402
+
403
+
To enable {{ site.data.product.title_short }} to discover and utilize your Terraform templates, add a repository to store and manage your templates.
404
+
405
+
1. Browse to menu and click **Automation > Embedded Terraform > Repositories**.
406
+
407
+
2. Click **Configuration**, then  (**Add New Repository**).
408
+
409
+
3. Provide a Repository Name in the **Name** field.
410
+
411
+
4. Add a description for the repository in the **Description** field.
412
+
413
+
5. Add a **URL** or IP Address for the repository.
414
+
415
+
6. Select the appropriate **SCM Credentials** from the drop down menu.
416
+
417
+
7. Provide a branch name in the **SCM Branch** field.
418
+
419
+
8. Click **Save**.
420
+
421
+
Once you have synced a repository, the Terraform templates become available to {{ site.data.product.title_short }}.
422
+
423
+
### Refreshing Repositories
424
+
425
+
{{ site.data.product.title_short }} allows you to refresh a targeted Terraform templates or all repositories in your inventory to ensure that your templates are up to date.
426
+
427
+
Use the following steps to refresh a targeted repository:
428
+
429
+
1. Browse to menu and click **Automation > Embedded Terraform > Repositories**.
430
+
431
+
2. Click on a repository.
432
+
433
+
3. Click **Configuration**, then  (**Refresh this Repository**).
434
+
435
+
Alternately, you can refresh some or all of the repositories from the list view:
436
+
437
+
1. Browse to menu and click **Automation > Embedded Terraform > Repositories**.
438
+
439
+
2. Select the repositories that you want to refresh. Click **Check All** to select all repositories.
### Executing a Terraform Template from a Service Catalog
446
+
447
+
You can execute a Terraform Template from {{ site.data.product.title_short }} by creating a Service Catalog item from a Terraform template.
448
+
449
+
Use the following sections listed in order to execute a Terraform Template from a Service Catalog:
450
+
451
+
1. Create a catalog
452
+
2. Create a Terraform Service Catalog item
453
+
3. Execute the Terraform template
454
+
455
+
#### Create a catalog
456
+
457
+
Use the following steps to create a catalog:
458
+
459
+
1. In the navigation bar click **Services** > **Catalogs and click Catalog Items**.
460
+
461
+
2. Click **Configuration**, then click **Add a New Catalog**.
462
+
463
+
3. Enter a **Name** and **Description** for the catalog.
464
+
465
+
4. Click **Add**.
466
+
467
+
#### Create a Terraform Service Catalog item
468
+
469
+
Use the following steps to create a Terraform Service Catalog item:
470
+
471
+
1. In the navigation bar click **Automation** > **Embedded Automate** > **Customization**, then click **Service Dialog**.
472
+
473
+
2. Click **Configuration** > **Create Service Dialog**.
474
+
475
+
3. Enter a **Service Dialog Name** and add the required fields for the Terraform template.
476
+
477
+
4. Click **Save**.
478
+
479
+
5. In the navigation nar click **Services** > **Catalogs** > **Catalog Items**.
480
+
481
+
6. Click **Configuration** > **Add a New Catalog Item* to create a new catalog item with the following details at minimum:
482
+
483
+
- For **Catalog Item type**, select **Terraform Template**.
484
+
485
+
- Enter a **Name** for the service catalog item.
486
+
487
+
- Select **Display** in **Catalog**.
488
+
489
+
- In Catalog, select the catalog that you created previously.
490
+
491
+
- In Provisioning, select the repository that you previously added and select the Terraform template that you want to deploy.
492
+
493
+
- In Provisioning, select the **Cloud Type** and then select the **credential** to connect to the cloud.
494
+
495
+
- In Provisioning, select the **Service Dialog** that you created previously. If you want enter additional information when running the task, **Service Dialog** must be selected. A dialog is required if **Display in Catalog** is chosen.
496
+
497
+
6. Click **Save**. The catalog item you created appears in the *All Service Catalog Items* list.
498
+
499
+
#### Execute the Terraform Template:
500
+
501
+
Use the following steps to execute the Terraform Template.
502
+
503
+
1. In the navigation bar click **Service** > **Catalogs** > **Service Catalogs** > **created catalog**.
504
+
505
+
2. Click **Order** for the catalog item.
506
+
507
+
3. Enter any variables requested and click **Submit**.
508
+
509
+
{{ site.data.product.title_short }} takes you to the *Requests queue* page and displays the status of the job.
510
+
511
+
The service item details can be viewed by navigating to **Services** > **My Services in Infrastructure Automation**.
Use the following sections to learn more about credentials that are associated with {{ site.data.product.title_short }} and Embedded Terraform:
4
+
5
+
#### Adding Credentials
6
+
7
+
Credentials are used by {{ site.data.product.title_short }} for authentication when you connect to cloud providers for infrastructure deployment.
8
+
9
+
1. Browse to the menu and click **Automation > Embedded Terraform > Credentials**.
10
+
11
+
2. Click **Configuration**, then  (**Add New Credential**).
12
+
13
+
3. Provide a **Name** for the credential.
14
+
15
+
4. Select the **Credential Type**. Additional fields might appear depending on the credential type that you chose.
16
+
17
+
5. Click **Add**.
18
+
19
+
#### Credential Types
20
+
21
+
Each credential type that is used by {{ site.data.product.title_short }} for the Embedded Terraform is listed in the following sections:
22
+
23
+
##### SCM
24
+
25
+
SCM (source control) credentials are used with projects to clone and update the local source code repositories from a remote revision control system such as Git, Subversion, or Mercurial.
26
+
27
+
Source Control credentials contain multiple attributes, which you need to configure:
28
+
29
+
-**Username**: The username for source control system.
30
+
31
+
-**Password**: The password for source control system.
32
+
33
+
-**Private key passphrase**: If the SSH private key used is protected by a passphrase, you might need to configure a key passphrase for the private key.
34
+
35
+
-**Private Key**: Copy or drag-and-drop the actual SSH private key, which is used to authenticate the user to the source control system by using SSH.
36
+
37
+
##### Amazon
38
+
39
+
If you select this credential type, it enables connection between {{ site.data.product.title_short }} and Amazon Web Services.
40
+
41
+
Amazon Web Services credentials contain multiple attributes, which you need to configure:
42
+
43
+
-**Access Key**: User credentials that allow for programmatic calls to Amazon Web Services.
44
+
45
+
-**Secret Key**: The secret key that corresponds to the user access key.
46
+
47
+
-**STS Token**: Token generated by Amazon Web Services Security Token Service.
48
+
49
+
##### Azure
50
+
51
+
If you select this credential type, it enables connection between {{ site.data.product.title_short }} and Microsoft Azure.
52
+
53
+
Microsoft Azure credentials contain multiple attributes, which you need to configure:
54
+
55
+
-**Username**: The username to connect to the Microsoft Azure account.
56
+
57
+
-**Password**: The password to connect to the Microsoft Azure account.
58
+
59
+
-**Subscription ID**: The Subscription UUID for the Microsoft Azure account.
60
+
61
+
-**Tenant ID**: The Tenant ID for the Microsoft Azure account.
62
+
63
+
-**Client Secret**: The Client Secret for the Microsoft Azure account.
64
+
65
+
-**Client ID**: The Client ID for the Microsoft Azure account.
66
+
67
+
##### Google Compute Engine
68
+
69
+
If you select this credential type, it enables connection between {{ site.data.product.title_short }} and Google Compute Engine.
70
+
71
+
Google Compute Engine credentials contain multiple attributes, which you need to configure:
72
+
73
+
-**Service Account Email Address**: The Service Account email address to connect to the Google Compute Engine.
74
+
-**RSA Private Key**: Contents of the PEM file associated with the service account email.
75
+
-**Project**: The Google Compute Engine assigned identification. This field is constructed as two words followed by a three-digit number, such as `squeamish-ossifrage-123`.
76
+
-**Google Cloud Region**: The default region for the resources. If another region is specified on the resource, it takes precedence.
77
+
78
+
##### IBM Cloud Classic Infrastructure
79
+
80
+
If you select this credential type, it enables connection between {{ site.data.product.title_short }} and IBM Cloud Classic Infrastructure.
81
+
82
+
IBM Cloud Classic Infrastructure credentials contain multiple attributes, which you need to configure:
83
+
84
+
-**IBM Cloud Classic Infrastructure User Name**: The username for IBM Cloud Classic Infrastructure.
85
+
-**IBM Cloud Classic Infrastructure API Key**: The API key for IBM Cloud Classic Infrastructure.
86
+
87
+
##### OpenStack
88
+
89
+
If you select this credential type, it enables connection between {{ site.data.product.title_short }} and OpenStack.
90
+
91
+
OpenStack credentials contain multiple attributes, which you might need to configure:
92
+
93
+
-**Username**: The username to connect to OpenStack.
94
+
95
+
-**Password (API Key)**: The password or API key to connect to OpenStack.
96
+
97
+
-**Host (Authentication URL)**: The host to be used for authentication.
98
+
99
+
-**Project (Tenant Name)**: The Tenant name or Tenant ID to connect to OpenStack. This value is usually the same as the username.
100
+
101
+
-**Domain name**: The Fully qualified domain name (FQDN) to connect to OpenStack.
102
+
103
+
##### VMware
104
+
105
+
If you select this credential type, it enables connection between {{ site.data.product.title_short }} and VMware vCenter.
106
+
107
+
**Important:** If both {{ site.data.product.title_short }} and a VMware provider are located in the same IPv6-only network, then use a DNS-resolvable hostname for the VMware provider in the **vCenter Host** field when you add the credentials.
108
+
109
+
VMware credentials contain multiple attributes, which you might need to configure:
110
+
111
+
-**Username**: The username to connect to vCenter.
112
+
113
+
-**Password**: The password to connect to vCenter.
114
+
115
+
-**vCenter Host**: The vCenter hostname or IP address to connect to.
0 commit comments