Skip to content

Commit

Permalink
Terraform PScale Provider 1.1.0 Doc Update (#102)
Browse files Browse the repository at this point in the history
  • Loading branch information
RayLiu7 authored Nov 24, 2023
1 parent a464c70 commit 658f680
Show file tree
Hide file tree
Showing 47 changed files with 458 additions and 89 deletions.
37 changes: 37 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,5 +49,42 @@ N/A
## Enhancements
N/A

## Bug Fixes
N/A

# v1.1.0 (Nov 24, 2023)
## Release Summary
The release supports resources and data sources mentioned in the Features section for Dell PowerScale.
## Features

### Data Sources:

* `powerscale_groupnet` for reading groupnets in PowerScale.
* `powerscale_network_settings` for reading network settings in PowerScale.
* `powerscale_networkpool` for reading network pools in PowerScale.
* `powerscale_quota` for reading quotas in PowerScale.
* `powerscale_smartpool_settings` for reading smart pool settings in PowerScale.
* `powerscale_snapshot` for reading snapshots in PowerScale.
* `powerscale_snapshot_schedule` for reading snapshot schedules in PowerScale.
* `powerscale_subnet` for reading subnets in PowerScale.


### Resources

* `powerscale_groupnet` for managing groupnets in PowerScale.
* `powerscale_network_settings` for managing network settings in PowerScale.
* `powerscale_networkpool` for managing network pools in PowerScale.
* `powerscale_quota` for managing quotas in PowerScale.
* `powerscale_smartpool_settings` for managing smart pool settings in PowerScale.
* `powerscale_snapshot` for managing snapshots in PowerScale.
* `powerscale_snapshot_schedule` for managing snapshot schedules in PowerScale.
* `powerscale_subnet` for managing subnets in PowerScale.

### Others
N/A

## Enhancements
N/A

## Bug Fixes
N/A
82 changes: 75 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,23 @@ limitations under the License.
-->

# Terraform Provider for Dell Technologies PowerScale
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](about/CODE_OF_CONDUCT.md)
[![License](https://img.shields.io/badge/License-MPL_2.0-blue.svg)](LICENSE)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](https://github.com/dell/terraform-provider-powerscale/blob/main/about/CODE_OF_CONDUCT.md)
[![License](https://img.shields.io/badge/License-MPL_2.0-blue.svg)](https://github.com/dell/terraform-provider-powerscale/blob/main/LICENSE)

The Terraform Provider for Dell Technologies (Dell) PowerScale allows Data Center and IT administrators to use Hashicorp Terraform to automate and orchestrate the provisioning and management of Dell PowerScale storage systems.

The Terraform Provider can be used to manage ...
The Terraform Provider can be used to manage access zone, active directory, cluster, user, user group, file system, smb share, nfs export, snapshot, snapshot schedule, quota, groupnet, subnet, network pool, network settings and smart pool settings.

The logged-in user configured in the Terraform provider must possess adequate permissions against the target Dell PowerScale System

## Table of Contents

* [Code of Conduct](https://github.com/dell/dell-terraform-providers/blob/main/docs/CODE_OF_CONDUCT.md)
* [Maintainer Guide](https://github.com/dell/dell-terraform-providers/blob/main/docs/MAINTAINER_GUIDE.md)
* [Committer Guide](https://github.com/dell/dell-terraform-providers/blob/main/docs/COMMITTER_GUIDE.md)
* [Contributing Guide](https://github.com/dell/dell-terraform-providers/blob/main/docs/CONTRIBUTING.md)
* [List of Adopters](https://github.com/dell/dell-terraform-providers/blob/main/docs/ADOPTERS.md)
* [Security](https://github.com/dell/dell-terraform-providers/blob/main/docs/SECURITY.md)
* [Support](#support)
* [License](#license)
* [Prerequisites](#prerequisites)
Expand All @@ -40,31 +48,91 @@ The Terraform Provider for Dell PowerScale is released and licensed under the MP

## Prerequisites

| **Terraform Provider** | **PowerScale Version** | **OS** | **Terraform** | **Golang** |
|------------------------|:-----------------------|:--------------------------------------|------------------|------------|
| v1.0.0 | 9.4 <br> 9.5 | ubuntu22.04 <br> rhel8.x <br> rhel9.x | 1.4.x <br> 1.5.x | 1.20 |
| **Terraform Provider** | **PowerScale Version** | **OS** | **Terraform** | **Golang** |
|------------------------|:-----------------------|:--------------------------|------------------|------------|
| v1.1.0 | 9.4 <br> 9.5 | ubuntu22.04 <br> rhel9.x | 1.5.x <br> 1.6.x | 1.21 |

## List of DataSources in Terraform Provider for Dell PowerScale
* Cluster
* Access Zone
* Active Directory
* File System
* Groupnet
* Network Pool
* Network Settings
* NFS Export
* Quota
* Smart Pool Settings
* SMB Share
* Snapshot
* Snapshot Schedule
* Subnet
* User
* User Group

## List of Resources in Terraform Provider for Dell PowerScale
* Access Zone
* Active Directory
* File System
* Groupnet
* Network Pool
* Network Settings
* NFS Export
* Quota
* Smart Pool Settings
* SMB Share
* Snapshot
* Snapshot Schedule
* Subnet
* User
* User Group

## Installation and execution of Terraform Provider for Dell PowerScale
The installation and execution steps of Terraform Provider for Dell PowerScale can be found [here](about/INSTALLATION.md).

## Installation from public repository

The provider will be fetched from the public repository and installed by Terraform automatically.
Create a file called `main.tf` in your workspace with the following contents

```tf
terraform {
required_providers {
powerscale = {
version = "1.1.0"
source = "registry.terraform.io/dell/powerscale"
}
}
}
```
Then, in that workspace, run
```
terraform init
```

## Installation from source code

1. Clone this repo
2. In the root of this repo run
```
make install
```
Then follow [installation from public repo](#installation-from-public-repository)

## SSL Certificate Verification

For SSL verifcation on RHEL, these steps can be performed:
* Copy the CA certificate to the `/etc/pki/ca-trust/source/anchors` path of the host by any external means.
* Import the SSL certificate to host by running
```
update-ca-trust extract
```

For SSL verification on Ubuntu, these steps can be performed:
* Copy the CA certificate to the `/etc/ssl/certs` path of the host by any external means.
* Import the SSL certificate to host by running:
```
update-ca-certificates
```

## Releasing, Maintenance and Deprecation

Expand Down
4 changes: 2 additions & 2 deletions docs/data-sources/accesszone.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ linkTitle: "powerscale_accesszone"
page_title: "powerscale_accesszone Data Source - terraform-provider-powerscale"
subcategory: ""
description: |-
Access Zone Datasource. This datasource is used to query the existing Access Zone from PowerScale array. The information fetched from this datasource can be used for getting the details / for further processing in resource block. PowerScale Access Zones allow you to isolate data and control who can access data in each zone.
Access Zone Datasource. This datasource is used to query the existing Access Zone from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale Access Zones allow you to isolate data and control who can access data in each zone.
---

# powerscale_accesszone (Data Source)

Access Zone Datasource. This datasource is used to query the existing Access Zone from PowerScale array. The information fetched from this datasource can be used for getting the details / for further processing in resource block. PowerScale Access Zones allow you to isolate data and control who can access data in each zone.
Access Zone Datasource. This datasource is used to query the existing Access Zone from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale Access Zones allow you to isolate data and control who can access data in each zone.

## Example Usage

Expand Down
4 changes: 2 additions & 2 deletions docs/data-sources/adsprovider.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ linkTitle: "powerscale_adsprovider"
page_title: "powerscale_adsprovider Data Source - terraform-provider-powerscale"
subcategory: ""
description: |-
This datasource is used to query the existing ADS providers from PowerScale array. The information fetched from this datasource can be used for getting the details / for further processing in resource block. Joining your cluster to an AD domain allows you to perform user and group authentication.
This datasource is used to query the existing ADS providers from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. Joining your cluster to an AD domain allows you to perform user and group authentication.
---

# powerscale_adsprovider (Data Source)

This datasource is used to query the existing ADS providers from PowerScale array. The information fetched from this datasource can be used for getting the details / for further processing in resource block. Joining your cluster to an AD domain allows you to perform user and group authentication.
This datasource is used to query the existing ADS providers from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. Joining your cluster to an AD domain allows you to perform user and group authentication.

## Example Usage

Expand Down
4 changes: 2 additions & 2 deletions docs/data-sources/filesystem.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ linkTitle: "powerscale_filesystem"
page_title: "powerscale_filesystem Data Source - terraform-provider-powerscale"
subcategory: ""
description: |-
This datasource is used to query the existing FileSystem(Namespace Directory) from PowerScale array. The information fetched from this datasource can be used for getting the details / for further processing in resource block.It allows you to get information which includes all metadata , access control , quotas and snapshots related information for the directory.
This datasource is used to query the existing FileSystem (Namespace Directory) from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block.It allows you to get information which includes all metadata , access control , quotas and snapshots related information for the directory.
---

# powerscale_filesystem (Data Source)

This datasource is used to query the existing FileSystem(Namespace Directory) from PowerScale array. The information fetched from this datasource can be used for getting the details / for further processing in resource block.It allows you to get information which includes all metadata , access control , quotas and snapshots related information for the directory.
This datasource is used to query the existing FileSystem (Namespace Directory) from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block.It allows you to get information which includes all metadata , access control , quotas and snapshots related information for the directory.

## Example Usage

Expand Down
6 changes: 3 additions & 3 deletions docs/data-sources/groupnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ linkTitle: "powerscale_groupnet"
page_title: "powerscale_groupnet Data Source - terraform-provider-powerscale"
subcategory: ""
description: |-
This datasource is used to query the existing Groupnets from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. powerscale_groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.
This datasource is used to query the existing Groupnets from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale Groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.
---

# powerscale_groupnet (Data Source)

This datasource is used to query the existing Groupnets from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. powerscale_groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.
This datasource is used to query the existing Groupnets from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale Groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.

## Example Usage

Expand All @@ -46,7 +46,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
# powerscale_groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.
# PowerScale Groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.
# Returns a list of PowerScale Groupnets based on names filter block.
data "powerscale_groupnet" "example_groupnet" {
Expand Down
35 changes: 33 additions & 2 deletions docs/data-sources/network_settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,45 @@ linkTitle: "powerscale_network_settings"
page_title: "powerscale_network_settings Data Source - terraform-provider-powerscale"
subcategory: ""
description: |-
This datasource is used to query the Network Settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. powerscalenetworksettings provides the ability to configure external network configuration on the cluster.
This datasource is used to query the Network Settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale Network Settings provide the ability to configure external network configuration on the cluster.
---

# powerscale_network_settings (Data Source)

This datasource is used to query the Network Settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. powerscale_network_settings provides the ability to configure external network configuration on the cluster.
This datasource is used to query the Network Settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale Network Settings provide the ability to configure external network configuration on the cluster.

## Example Usage

```terraform
/*
Copyright (c) 2023 Dell Inc., or its subsidiaries. All Rights Reserved.
Licensed under the Mozilla Public License Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://mozilla.org/MPL/2.0/
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
# PowerScale Network Settings provide the ability to configure external network configuration on the cluster.
# Returns PowerScale network settings detail
data "powerscale_network_settings" "example" {
}
# Output value of above block by executing 'terraform output' command
# The user can use the fetched information by the variable data.powerscale_network_settings.example
output "powerscale_network_settings_output" {
value = data.powerscale_network_settings.example
}
```

<!-- schema generated by tfplugindocs -->
## Schema
Expand Down
4 changes: 2 additions & 2 deletions docs/data-sources/networkpool.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ linkTitle: "powerscale_networkpool"
page_title: "powerscale_networkpool Data Source - terraform-provider-powerscale"
subcategory: ""
description: |-
This datasource is used to query the existing network pools from PowerScale array. The information fetched from this datasource can be used for getting the details / for further processing in resource block. You can add network interfaces to network pools to associate address ranges with a node or a group of nodes.
This datasource is used to query the existing network pools from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. You can add network interfaces to network pools to associate address ranges with a node or a group of nodes.
---

# powerscale_networkpool (Data Source)

This datasource is used to query the existing network pools from PowerScale array. The information fetched from this datasource can be used for getting the details / for further processing in resource block. You can add network interfaces to network pools to associate address ranges with a node or a group of nodes.
This datasource is used to query the existing network pools from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. You can add network interfaces to network pools to associate address ranges with a node or a group of nodes.

## Example Usage

Expand Down
4 changes: 2 additions & 2 deletions docs/data-sources/nfs_export.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ linkTitle: "powerscale_nfs_export"
page_title: "powerscale_nfs_export Data Source - terraform-provider-powerscale"
subcategory: ""
description: |-
This datasource is used to query the existing NFS exports from PowerScale array. The information fetched from this datasource can be used for getting the details / for further processing in resource block. PowerScale provides an NFS server so you can share files on your cluster
This datasource is used to query the existing NFS exports from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale provides an NFS server so you can share files on your cluster
---

# powerscale_nfs_export (Data Source)

This datasource is used to query the existing NFS exports from PowerScale array. The information fetched from this datasource can be used for getting the details / for further processing in resource block. PowerScale provides an NFS server so you can share files on your cluster
This datasource is used to query the existing NFS exports from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale provides an NFS server so you can share files on your cluster

## Example Usage

Expand Down
4 changes: 2 additions & 2 deletions docs/data-sources/smartpool_settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ linkTitle: "powerscale_smartpool_settings"
page_title: "powerscale_smartpool_settings Data Source - terraform-provider-powerscale"
subcategory: ""
description: |-
This datasource is used to query the SmartPools settings from PowerScale array. The information fetched from this datasource can be used for getting the details / for further processing in resource block. PowerScale SmartPools settings provide the ability to configure SmartPools on the cluster.
This datasource is used to query the SmartPools settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale SmartPools settings provide the ability to configure SmartPools on the cluster.
---

# powerscale_smartpool_settings (Data Source)

This datasource is used to query the SmartPools settings from PowerScale array. The information fetched from this datasource can be used for getting the details / for further processing in resource block. PowerScale SmartPools settings provide the ability to configure SmartPools on the cluster.
This datasource is used to query the SmartPools settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale SmartPools settings provide the ability to configure SmartPools on the cluster.

## Example Usage

Expand Down
Loading

0 comments on commit 658f680

Please sign in to comment.