From 61272868a05eaa0f16cf62949977fd80edcbf261 Mon Sep 17 00:00:00 2001 From: rounak-adhikary Date: Thu, 26 Sep 2024 20:11:20 +0530 Subject: [PATCH] Updating docs for v1.5 release (#216) * Updating Readme * Adding link to resources and datasources in readme * Rectifying synciq policy datasource docs * Adding cannot-be-updated tags to resource fields * Updating example Readme --- README.md | 150 +++++---- about/INSTALLATION.md | 2 +- docs/data-sources/synciq_global_settings.md | 2 +- docs/data-sources/synciq_policy.md | 10 +- docs/data-sources/synciq_rule.md | 4 +- docs/index.md | 2 +- docs/resources/accesszone.md | 10 +- docs/resources/aclsettings.md | 2 + docs/resources/adsprovider.md | 2 + docs/resources/cluster_email.md | 2 + docs/resources/cluster_identity.md | 8 +- docs/resources/cluster_owner.md | 2 + docs/resources/cluster_snmp.md | 16 +- docs/resources/cluster_time.md | 2 + docs/resources/filepool_policy.md | 14 +- docs/resources/filesystem.md | 2 + docs/resources/groupnet.md | 18 +- docs/resources/ldap_provider.md | 158 ++++----- docs/resources/namespace_acl.md | 2 + docs/resources/network_rule.md | 2 + docs/resources/network_settings.md | 8 +- docs/resources/networkpool.md | 2 + docs/resources/nfs_export.md | 2 + docs/resources/nfs_export_settings.md | 2 + docs/resources/nfs_global_settings.md | 2 + docs/resources/nfs_zone_settings.md | 2 + docs/resources/ntpserver.md | 2 + docs/resources/ntpsettings.md | 2 + docs/resources/quota.md | 2 + docs/resources/role.md | 2 + docs/resources/s3_bucket.md | 2 + docs/resources/s3_global_settings.md | 4 +- docs/resources/s3_key.md | 10 +- docs/resources/s3_zone_settings.md | 15 +- docs/resources/smartpool_settings.md | 2 + docs/resources/smb_server_settings.md | 2 + docs/resources/smb_share.md | 2 + docs/resources/smb_share_settings.md | 2 + docs/resources/snapshot.md | 8 +- docs/resources/snapshot_schedule.md | 2 + docs/resources/subnet.md | 2 + docs/resources/support_assist.md | 4 +- docs/resources/synciq_global_settings.md | 6 +- docs/resources/synciq_peer_certificate.md | 9 +- docs/resources/synciq_policy.md | 11 +- docs/resources/user.md | 38 ++- docs/resources/user_group.md | 22 +- docs/resources/user_mapping_rules.md | 50 +-- examples/README.md | 47 +-- .../data-source.tf | 2 +- .../powerscale_synciq_policy/data-source.tf | 6 +- examples/provider/provider.tf | 2 +- .../powerscale_cluster_identity/import.sh | 2 +- .../powerscale_cluster_snmp/import.sh | 2 +- .../powerscale_s3_global_settings/import.sh | 2 +- .../powerscale_s3_zone_settings/import.sh | 5 +- .../powerscale_support_assist/import.sh | 2 +- .../import.sh | 2 +- .../resource.tf | 2 +- .../import.sh | 2 +- .../resource.tf | 5 +- .../powerscale_synciq_policy/resource.tf | 9 +- .../helper/synciq_rule_schema_datasource.go | 6 +- powerscale/provider/access_zone_resource.go | 16 +- .../provider/cluster_identity_resource.go | 4 +- powerscale/provider/cluster_snmp_resource.go | 50 +-- .../provider/file_pool_policy_resource.go | 28 +- powerscale/provider/groupnet_resource.go | 32 +- powerscale/provider/ldap_provider_resource.go | 312 +++++++++--------- .../provider/network_setting_resource.go | 12 +- powerscale/provider/s3_key_resource.go | 29 +- .../provider/s3_zone_settings_resource.go | 32 +- powerscale/provider/snapshot_resource.go | 12 +- .../provider/synciq_policy_datasource.go | 8 +- powerscale/provider/user_group_resource.go | 40 +-- .../provider/user_mapping_rules_resource.go | 96 +++--- powerscale/provider/user_resource.go | 72 ++-- templates/resources.md.tmpl | 2 + 78 files changed, 804 insertions(+), 664 deletions(-) diff --git a/README.md b/README.md index f91e032..424655d 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,13 @@ limitations under the 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 access zone, active directory, cluster, user, user group, file system, smb share, nfs export, snapshot, snapshot schedule, quota, groupnet, subnet, network pool, network settings, smart pool settings, ldap providers, network rule, file pool policy, ntp server, ntp settings, cluster email settings, acl settings, nfs export settings, role, user mapping rules, role privilege, s3 bucket, nfs global settings, nfs zone settings, smb share settings, smb server settings, namespace acl. +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, smart pool settings, ldap providers, network rule, file pool policy, ntp server, ntp settings, cluster email settings, acl settings, nfs export settings, role, user mapping rules, role privilege, s3 bucket, nfs global settings, nfs zone settings, smb share settings, smb server settings, namespace acl, cluster identity, cluster snmp, cluster owner, cluster time, support assist, s3 keys, s3 zone settings, s3 global settings, synciq policies, synciq rules, synciq global settings, synciq peer certificates. The logged-in user configured in the Terraform provider must possess adequate permissions against the target Dell PowerScale System. ## Table of Contents +* [PowerScale Provider Documentation](docs/) * [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) @@ -51,75 +52,90 @@ The Terraform Provider for Dell PowerScale is released and licensed under the MP | **Terraform Provider** | **PowerScale Version** | **OS** | **Terraform** | **Golang** | |------------------------|:-----------------------|:--------------------------|-----------------------------|------------| -| v1.4.0 | 9.5
9.7
9.8 | ubuntu22.04
rhel9.x | 1.7.x
1.8.x | 1.22 | +| v1.5.0 | 9.5
9.7
9.8 | ubuntu22.04
rhel9.x | 1.8.x
1.9.x | 1.22 | ## List of DataSources in Terraform Provider for Dell PowerScale -* Cluster -* Access Zone -* ACL Settings -* Active Directory -* Cluster Email Settings -* File Pool Policy -* File System -* Groupnet -* LDAP Provider -* Namespace ACL -* Network Pool -* Network Rule -* Network Settings -* NFS Export -* NFS Export Settings -* NFS Global Settings -* NFS Zone Settings -* NTP Server -* NTP Settings -* Quota -* Role -* Role Privilege -* S3 Bucket -* Smart Pool Settings -* SMB Server Settings -* SMB Share -* SMB Share Settings -* Snapshot -* Snapshot Schedule -* Subnet -* User -* User Group -* User Mapping Rules +* [Cluster](docs/data-sources/cluster.md) +* [Access Zone](docs/data-sources/accesszone.md) +* [ACL Settings](docs/data-sources/aclsettings.md) +* [Active Directory Service Provider](docs/data-sources/adsprovider.md) +* [Cluster Email Settings](docs/data-sources/cluster_email.md) +* [File Pool Policy](docs/data-sources/filepool_policy.md) +* [File System](docs/data-sources/filesystem.md) +* [Groupnet](docs/data-sources/groupnet.md) +* [LDAP Provider](docs/data-sources/ldap_provider.md) +* [Namespace ACL](docs/data-sources/namespace_acl.md) +* [Network Pool](docs/data-sources/networkpool.md) +* [Network Rule](docs/data-sources/network_rule.md) +* [Network Settings](docs/data-sources/network_settings.md) +* [NFS Export](docs/data-sources/nfs_export.md) +* [NFS Export Settings](docs/data-sources/nfs_export_settings.md) +* [NFS Global Settings](docs/data-sources/nfs_global_settings.md) +* [NFS Zone Settings](docs/data-sources/nfs_zone_settings.md) +* [NTP Server](docs/data-sources/ntpserver.md) +* [NTP Settings](docs/data-sources/ntpsettings.md) +* [Quota](docs/data-sources/quota.md) +* [Role](docs/data-sources/role.md) +* [Role Privilege](docs/data-sources/roleprivilege.md) +* [S3 Bucket](docs/data-sources/s3_bucket.md) +* [Smart Pool Settings](docs/data-sources/smartpool_settings.md) +* [SMB Server Settings](docs/data-sources/smb_server_settings.md) +* [SMB Share](docs/data-sources/smb_share.md) +* [SMB Share Settings](docs/data-sources/smb_share_settings.md) +* [Snapshot](docs/data-sources/snapshot.md) +* [Snapshot Schedule](docs/data-sources/snapshot_schedule.md) +* [Subnet](docs/data-sources/subnet.md) +* [User](docs/data-sources/user.md) +* [User Group](docs/data-sources/user_group.md) +* [User Mapping Rules](docs/data-sources/user_mapping_rules.md) +* [SyncIQ Policy](docs/data-sources/synciq_policy.md) +* [SyncIQ Global Settings](docs/data-sources/synciq_global_settings.md) +* [SyncIQ Rule](docs/data-sources/synciq_rule.md) +* [SyncIQ Peer Certificate](docs/data-sources/synciq_peer_certificate.md) ## List of Resources in Terraform Provider for Dell PowerScale -* Access Zone -* ACL Settings -* Active Directory -* Cluster Email Settings -* File Pool Policy -* File System -* Groupnet -* LDAP Provider -* Namespace ACL -* Network Pool -* Network Rule -* Network Settings -* NFS Export -* NFS Export Settings -* NFS Global Settings -* NFS Zone Settings -* NTP Server -* NTP Settings -* Quota -* Role -* S3 Bucket -* Smart Pool Settings -* SMB Server Settings -* SMB Share -* SMB Share Settings -* Snapshot -* Snapshot Schedule -* Subnet -* User -* User Group -* User Mapping Rules +* [Access Zone](docs/resources/accesszone.md) +* [ACL Settings](docs/resources/aclsettings.md) +* [Active Directory Service Provider](docs/resources/adsprovider.md) +* [Cluster Email Settings](docs/resources/cluster_email.md) +* [File Pool Policy](docs/resources/filepool_policy.md) +* [File System](docs/resources/filesystem.md) +* [Groupnet](docs/resources/groupnet.md) +* [LDAP Provider](docs/resources/ldap_provider.md) +* [Namespace ACL](docs/resources/namespace_acl.md) +* [Network Pool](docs/resources/networkpool.md) +* [Network Rule](docs/resources/network_rule.md) +* [Network Settings](docs/resources/network_settings.md) +* [NFS Export](docs/resources/nfs_export.md) +* [NFS Export Settings](docs/resources/nfs_export_settings.md) +* [NFS Global Settings](docs/resources/nfs_global_settings.md) +* [NFS Zone Settings](docs/resources/nfs_zone_settings.md) +* [NTP Server](docs/resources/ntpserver.md) +* [NTP Settings](docs/resources/ntpsettings.md) +* [Quota](docs/resources/quota.md) +* [Role](docs/resources/role.md) +* [S3 Bucket](docs/resources/s3_bucket.md) +* [Smart Pool Settings](docs/resources/smartpool_settings.md) +* [SMB Server Settings](docs/resources/smb_server_settings.md) +* [SMB Share](docs/resources/smb_share.md) +* [SMB Share Settings](docs/resources/smb_share_settings.md) +* [Snapshot](docs/resources/snapshot.md) +* [Snapshot Schedule](docs/resources/snapshot_schedule.md) +* [Subnet](docs/resources/subnet.md) +* [User](docs/resources/user.md) +* [User Group](docs/resources/user_group.md) +* [User Mapping Rules](docs/resources/user_mapping_rules.md) +* [Cluster Identity](docs/resources/cluster_identity.md) +* [Cluster SNMP](docs/resources/cluster_snmp.md) +* [Cluster Owner](docs/resources/cluster_owner.md) +* [Cluster Time](docs/resources/cluster_time.md) +* [Support Assist](docs/resources/support_assist.md) +* [S3 Key](docs/resources/s3_key.md) +* [S3 Zone Settings](docs/resources/s3_zone_settings.md) +* [S3 Global Settings](docs/resources/s3_global_settings.md) +* [SyncIQ Policy](docs/resources/synciq_policy.md) +* [SyncIQ Global Settings](docs/resources/synciq_global_settings.md) +* [SyncIQ Peer Certificate](docs/resources/synciq_peer_certificate.md) ## Installation and execution of Terraform Provider for Dell PowerScale @@ -132,7 +148,7 @@ Create a file called `main.tf` in your workspace with the following contents terraform { required_providers { powerscale = { - version = "1.4.0" + version = "1.5.0" source = "registry.terraform.io/dell/powerscale" } } diff --git a/about/INSTALLATION.md b/about/INSTALLATION.md index 8ac867b..c47826d 100644 --- a/about/INSTALLATION.md +++ b/about/INSTALLATION.md @@ -26,7 +26,7 @@ Create a file called `main.tf` in your workspace with the following contents terraform { required_providers { powerscale = { - version = "1.0.0" + version = "1.5.0" source = "registry.terraform.io/dell/powerscale" } } diff --git a/docs/data-sources/synciq_global_settings.md b/docs/data-sources/synciq_global_settings.md index a0c3fb1..6d01277 100644 --- a/docs/data-sources/synciq_global_settings.md +++ b/docs/data-sources/synciq_global_settings.md @@ -46,7 +46,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -# This Terraform DataSource is used to query the details of the SyncIQ Globalbsettings from PowerScale array. +# This Terraform DataSource is used to query the details of the SyncIQ Global Settings from PowerScale array. # Returns the PowerScale SyncIQ Global settings on PowerScale array data "powerscale_synciq_global_settings" "all" { diff --git a/docs/data-sources/synciq_policy.md b/docs/data-sources/synciq_policy.md index b9dd3c6..d8cbb22 100644 --- a/docs/data-sources/synciq_policy.md +++ b/docs/data-sources/synciq_policy.md @@ -19,12 +19,12 @@ linkTitle: "powerscale_synciq_policy" page_title: "powerscale_synciq_policy Data Source - terraform-provider-powerscale" subcategory: "" description: |- - This datasource is used to query the existing SyncIQ Policies from PowerScale array. + This datasource is used to query the existing SyncIQ Policies from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. --- # powerscale_synciq_policy (Data Source) -This datasource is used to query the existing SyncIQ Policies from PowerScale array. +This datasource is used to query the existing SyncIQ Policies from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. ## Example Usage @@ -53,7 +53,7 @@ data "powerscale_synciq_policy" "all_policies" { } # Returns a the PowerScale SyncIQ Policy with given ID -data "powerscale_synciq_policy" "all_policies" { +data "powerscale_synciq_policy" "one_policy" { id = "g23j9a1f83h12n5j4" } @@ -63,9 +63,9 @@ output "powerscale_synciq_all_policies" { value = data.powerscale_synciq_policy.all_policies.policies } -# The user can use the fetched policy by ID by the variable data.powerscale_synciq_policy.one.policies[0] +# The user can use the fetched policy by ID by the variable data.powerscale_synciq_policy.one_policy.policies[0] output "policyByID" { - value = data.powerscale_synciq_policy.one.policies[0] + value = data.powerscale_synciq_policy.one_policy.one_policy[0] } # Get syncIQ policy by name diff --git a/docs/data-sources/synciq_rule.md b/docs/data-sources/synciq_rule.md index 4cc2100..3a69ad6 100644 --- a/docs/data-sources/synciq_rule.md +++ b/docs/data-sources/synciq_rule.md @@ -19,12 +19,12 @@ linkTitle: "powerscale_synciq_rule" page_title: "powerscale_synciq_rule Data Source - terraform-provider-powerscale" subcategory: "" description: |- - This datasource is used to query the existing SyncIQ Replication Rules from PowerScale array. + This datasource is used to query the existing SyncIQ Replication Rules from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. --- # powerscale_synciq_rule (Data Source) -This datasource is used to query the existing SyncIQ Replication Rules from PowerScale array. +This datasource is used to query the existing SyncIQ Replication Rules from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. ## Example Usage diff --git a/docs/index.md b/docs/index.md index adaf963..a0a862e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -53,7 +53,7 @@ terraform { required_providers { powerscale = { source = "registry.terraform.io/dell/powerscale" - version = "1.4.0" + version = "1.5.0" } } } diff --git a/docs/resources/accesszone.md b/docs/resources/accesszone.md index 342cf65..83a76b4 100644 --- a/docs/resources/accesszone.md +++ b/docs/resources/accesszone.md @@ -83,13 +83,13 @@ resource "powerscale_accesszone" "zone" { ### Required -- `groupnet` (String) Groupnet identifier -- `name` (String) Specifies the access zone name. (Update Supported) -- `path` (String) Specifies the access zone base directory path. (Update Supported) +- `groupnet` (String) Groupnet identifier. Cannot be updated. +- `name` (String) Specifies the access zone name. +- `path` (String) Specifies the access zone base directory path. ### Optional -- `custom_auth_providers` (List of String) An optional parameter which adds new auth_providers to the access zone. A provider name should be of the form '[provider-type:]provider-name', the provider-type defaults to 'lsa-local-provider'. (Update Supported) +- `custom_auth_providers` (List of String) An optional parameter which adds new auth_providers to the access zone. A provider name should be of the form '[provider-type:]provider-name', the provider-type defaults to 'lsa-local-provider'. ### Read-Only @@ -118,6 +118,8 @@ Read-Only: - `name` (String) Specifies the persona name, which must be combined with a type. - `type` (String) Specifies the type of persona, which must be combined with a name. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/aclsettings.md b/docs/resources/aclsettings.md index faaf774..0529b5a 100644 --- a/docs/resources/aclsettings.md +++ b/docs/resources/aclsettings.md @@ -100,6 +100,8 @@ resource "powerscale_aclsettings" "example_acl_settings" { - `synthetic_denies` (String) Synthetic 'deny' ACEs. Options: none, remove - `utimes` (String) Access check (utimes). Options: only_owner, owner_and_write +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/adsprovider.md b/docs/resources/adsprovider.md index 696a70a..a24edb0 100644 --- a/docs/resources/adsprovider.md +++ b/docs/resources/adsprovider.md @@ -190,6 +190,8 @@ resource "powerscale_adsprovider" "ads_test" { - `system` (Boolean) If set to true, indicates that this provider instance was created by OneFS and cannot be removed. - `zone_name` (String) Specifies the name of the access zone in which this provider was created. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/cluster_email.md b/docs/resources/cluster_email.md index 2d7791e..5ae59ba 100644 --- a/docs/resources/cluster_email.md +++ b/docs/resources/cluster_email.md @@ -109,6 +109,8 @@ Read-Only: - `smtp_auth_passwd_set` (Boolean) Indicates if an SMTP authentication password is set. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/cluster_identity.md b/docs/resources/cluster_identity.md index df196a1..a19dfef 100644 --- a/docs/resources/cluster_identity.md +++ b/docs/resources/cluster_identity.md @@ -19,12 +19,12 @@ linkTitle: "powerscale_cluster_identity" page_title: "powerscale_cluster_identity Resource - terraform-provider-powerscale" subcategory: "" description: |- - This resource is used to manage the Cluster Identity settings of PowerScale Array. We can Create, Update and Delete the Cluster Identity using this resource. We can also import an existing Cluster Identity from PowerScale array. + This resource is used to manage the Cluster Identity settings of PowerScale Array. We can Create, Update and Delete the Cluster Identity using this resource. We can also import the existing Cluster Identity settings from PowerScale array. --- # powerscale_cluster_identity (Resource) -This resource is used to manage the Cluster Identity settings of PowerScale Array. We can Create, Update and Delete the Cluster Identity using this resource. We can also import an existing Cluster Identity from PowerScale array. +This resource is used to manage the Cluster Identity settings of PowerScale Array. We can Create, Update and Delete the Cluster Identity using this resource. We can also import the existing Cluster Identity settings from PowerScale array. ## Example Usage @@ -100,6 +100,8 @@ Optional: - `motd` (String) The message of the day. - `motd_header` (String) The header to the message of the day. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: @@ -124,6 +126,6 @@ Import is supported using the following syntax: # terraform import powerscale_cluster_identity.example_identity_settings # Example: terraform import powerscale_cluster_identity.example_identity_settings "cluster_identity" -# after running this command, populate the name field and other required parameters in the config file to start managing this resource. +# after running this command, populate fields as per your requirement in the config file to start managing this resource. # Note: running "terraform show" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource. ``` \ No newline at end of file diff --git a/docs/resources/cluster_owner.md b/docs/resources/cluster_owner.md index af3816e..833d0a1 100644 --- a/docs/resources/cluster_owner.md +++ b/docs/resources/cluster_owner.md @@ -92,6 +92,8 @@ resource "powerscale_cluster_owner" "test" { - `id` (String) ID of the Cluster Owner Settings. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/cluster_snmp.md b/docs/resources/cluster_snmp.md index 539c787..cddc645 100644 --- a/docs/resources/cluster_snmp.md +++ b/docs/resources/cluster_snmp.md @@ -19,12 +19,12 @@ linkTitle: "powerscale_cluster_snmp" page_title: "powerscale_cluster_snmp Resource - terraform-provider-powerscale" subcategory: "" description: |- - This resource is used to manage the Cluster SNMP settings of PowerScale Array. We can Create, Update and Delete the Cluster SNMP using this resource. We can also import an existing Cluster SNMP from PowerScale array. + This resource is used to manage the Cluster SNMP settings of PowerScale Array. We can Create, Update and Delete the Cluster SNMP using this resource. We can also import the existing Cluster SNMP settings from PowerScale array. --- # powerscale_cluster_snmp (Resource) -This resource is used to manage the Cluster SNMP settings of PowerScale Array. We can Create, Update and Delete the Cluster SNMP using this resource. We can also import an existing Cluster SNMP from PowerScale array. +This resource is used to manage the Cluster SNMP settings of PowerScale Array. We can Create, Update and Delete the Cluster SNMP using this resource. We can also import the existing Cluster SNMP settings from PowerScale array. ## Example Usage @@ -74,14 +74,14 @@ resource "powerscale_cluster_snmp" "example_snmp_settings" { ### Required -- `enabled` (Boolean) True if the Cluster SNMP is enabled. +- `enabled` (Boolean) True if the Cluster SNMP is enabled. If true, either `snmp_v1v2_access` or `snmp_v3_access` is required. ### Optional - `read_only_community` (String) The read-only community string for the Cluster SNMP. -- `snmp_v1_v2c_access` (Boolean) The SNMPv1/v2c access for the Cluster SNMP. -- `snmp_v3_access` (Boolean) The SNMPv3 access for the Cluster SNMP. -- `snmp_v3_auth_protocol` (String) The SNMPv3 authentication protocol for the Cluster SNMP. +- `snmp_v1_v2c_access` (Boolean) The SNMPv1/v2c access for the Cluster SNMP. Also requires `read_only_community`. +- `snmp_v3_access` (Boolean) The SNMPv3 access for the Cluster SNMP. Also requires snmp_v3_password. +- `snmp_v3_auth_protocol` (String) The SNMPv3 authentication protocol for the Cluster SNMP. Accepted values are `MD5`and `SHA`. - `snmp_v3_password` (String) The SNMPv3 authentication password for the Cluster SNMP. - `snmp_v3_priv_password` (String) The SNMPv3 privacy protocol password for the Cluster SNMP. - `snmp_v3_priv_protocol` (String) The SNMPv3 privacy protocol for the Cluster SNMP. @@ -94,6 +94,8 @@ resource "powerscale_cluster_snmp" "example_snmp_settings" { - `id` (String) ID of the Cluster SNMP. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: @@ -118,6 +120,6 @@ Import is supported using the following syntax: # terraform import powerscale_cluster_snmp.example_snmp_settings # Example: terraform import powerscale_cluster_snmp.example_snmp_settings "cluster_snmp" -# after running this command, populate the name field and other required parameters in the config file to start managing this resource. +# after running this command, populate the enabled field and other required parameters in the config file to start managing this resource. # Note: running "terraform show" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource. ``` \ No newline at end of file diff --git a/docs/resources/cluster_time.md b/docs/resources/cluster_time.md index 84d12bc..5cd0ffd 100644 --- a/docs/resources/cluster_time.md +++ b/docs/resources/cluster_time.md @@ -80,6 +80,8 @@ resource "powerscale_cluster_time" "test" { - `id` (String) ID of the Cluster Time Settings. - `time_millis` (Number) Time in Miliseconds of the Cluster +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/filepool_policy.md b/docs/resources/filepool_policy.md index ff90015..d4e51de 100644 --- a/docs/resources/filepool_policy.md +++ b/docs/resources/filepool_policy.md @@ -344,15 +344,15 @@ resource "powerscale_filepool_policy" "example_default_policy" { ### Required -- `name` (String) A unique name for this policy. If the policy is default policy, its name should be "Default policy". (Update Supported) +- `name` (String) A unique name for this policy. If the policy is default policy, its name should be "Default policy". ### Optional -- `actions` (Attributes List) A list of actions to be taken for matching files. (Update Supported) (see [below for nested schema](#nestedatt--actions)) -- `apply_order` (Number) The order in which this policy should be applied (relative to other policies). (Update Supported) -- `description` (String) A description for this File Pool Policy. (Update Supported) -- `file_matching_pattern` (Attributes) Specifies the file matching rules for determining which files will be managed by this policy. (Update Supported) (see [below for nested schema](#nestedatt--file_matching_pattern)) -- `is_default_policy` (Boolean) Specifies if the policy is default policy. Default policy applies to all files not selected by higher-priority policies. +- `actions` (Attributes List) A list of actions to be taken for matching files. (see [below for nested schema](#nestedatt--actions)) +- `apply_order` (Number) The order in which this policy should be applied (relative to other policies). +- `description` (String) A description for this File Pool Policy. +- `file_matching_pattern` (Attributes) Specifies the file matching rules for determining which files will be managed by this policy. (see [below for nested schema](#nestedatt--file_matching_pattern)) +- `is_default_policy` (Boolean) Specifies if the policy is default policy. Default policy applies to all files not selected by higher-priority policies. Cannot be updated. ### Read-Only @@ -458,6 +458,8 @@ Optional: - `use_relative_time` (Boolean) Whether time units refer to a calendar date and time (e.g., Jun 3, 2009) or a relative duration (e.g., 2 weeks) (valid only with 'type' in {accessed_time, birth_time, changed_time or metadata_changed_time}. - `value` (String) The value to be compared against a file attribute. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/filesystem.md b/docs/resources/filesystem.md index 4d2365c..8c95a69 100644 --- a/docs/resources/filesystem.md +++ b/docs/resources/filesystem.md @@ -136,6 +136,8 @@ Optional: - `name` (String) Owner name - `type` (String) Owner type +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/groupnet.md b/docs/resources/groupnet.md index 24891ae..afc34ee 100644 --- a/docs/resources/groupnet.md +++ b/docs/resources/groupnet.md @@ -88,23 +88,25 @@ resource "powerscale_groupnet" "example_groupnet" { ### Required -- `name` (String) The name of the groupnet. (Update Supported) +- `name` (String) The name of the groupnet. ### Optional -- `allow_wildcard_subdomains` (Boolean) If enabled, SmartConnect treats subdomains of known dns zones as the known dns zone. This is required for S3 Virtual Host domains. Defaults to True. (Update Supported) -- `description` (String) A description of the groupnet. (Update Supported) -- `dns_cache_enabled` (Boolean) DNS caching is enabled or disabled. Defaults to True. (Update Supported) -- `dns_resolver_rotate` (Boolean) Enable or disable DNS resolver rotate. Defaults to False. (Update Supported) -- `dns_search` (List of String) List of DNS search suffixes. (Update Supported) -- `dns_servers` (List of String) List of Domain Name Server IP addresses. (Update Supported) -- `server_side_dns_search` (Boolean) Enable or disable appending nodes DNS search list to client DNS inquiries directed at SmartConnect service IP. Defaults to True. (Update Supported) +- `allow_wildcard_subdomains` (Boolean) If enabled, SmartConnect treats subdomains of known dns zones as the known dns zone. This is required for S3 Virtual Host domains. Defaults to True. +- `description` (String) A description of the groupnet. +- `dns_cache_enabled` (Boolean) DNS caching is enabled or disabled. Defaults to True. +- `dns_resolver_rotate` (Boolean) Enable or disable DNS resolver rotate. Defaults to False. +- `dns_search` (List of String) List of DNS search suffixes. +- `dns_servers` (List of String) List of Domain Name Server IP addresses. +- `server_side_dns_search` (Boolean) Enable or disable appending nodes DNS search list to client DNS inquiries directed at SmartConnect service IP. Defaults to True. ### Read-Only - `id` (String) Unique Interface ID. - `subnets` (List of String) Name of the subnets in the groupnet. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/ldap_provider.md b/docs/resources/ldap_provider.md index e3a08c0..36add11 100644 --- a/docs/resources/ldap_provider.md +++ b/docs/resources/ldap_provider.md @@ -233,93 +233,95 @@ resource "powerscale_ldap_provider" "example_ldap_provider" { ### Required -- `base_dn` (String) Specifies the root of the tree in which to search identities. (Update Supported) -- `name` (String) Specifies the name of the LDAP provider. (Update Supported) -- `server_uris` (List of String) Specifies the server URIs. (Update Supported) +- `base_dn` (String) Specifies the root of the tree in which to search identities. +- `name` (String) Specifies the name of the LDAP provider. +- `server_uris` (List of String) Specifies the server URIs. ### Optional -- `alternate_security_identities_attribute` (String) Specifies the attribute name used when searching for alternate security identities. (Update Supported) -- `authentication` (Boolean) If true, enables authentication and identity management through the authentication provider. (Update Supported) -- `balance_servers` (Boolean) If true, connects the provider to a random server. (Update Supported) -- `bind_dn` (String) Specifies the distinguished name for binding to the LDAP server. (Update Supported) -- `bind_mechanism` (String) Specifies which bind mechanism to use when connecting to an LDAP server. The only supported option is the 'simple' value. (Update Supported) -- `bind_timeout` (Number) Specifies the timeout in seconds when binding to an LDAP server. (Update Supported) -- `certificate_authority_file` (String) Specifies the path to the root certificates file. (Update Supported) -- `check_online_interval` (Number) Specifies the time in seconds between provider online checks. (Update Supported) -- `cn_attribute` (String) Specifies the canonical name. (Update Supported) -- `create_home_directory` (Boolean) Automatically create the home directory on the first login. (Update Supported) -- `crypt_password_attribute` (String) Specifies the hashed password value. (Update Supported) -- `email_attribute` (String) Specifies the LDAP Email attribute. (Update Supported) -- `enabled` (Boolean) If true, enables the LDAP provider. (Update Supported) -- `enumerate_groups` (Boolean) If true, allows the provider to enumerate groups. (Update Supported) -- `enumerate_users` (Boolean) If true, allows the provider to enumerate users. (Update Supported) -- `findable_groups` (List of String) Specifies the list of groups that can be resolved. (Update Supported) -- `findable_users` (List of String) Specifies the list of users that can be resolved. (Update Supported) -- `gecos_attribute` (String) Specifies the LDAP GECOS attribute. (Update Supported) -- `gid_attribute` (String) Specifies the LDAP GID attribute. (Update Supported) -- `group_base_dn` (String) Specifies the distinguished name of the entry where LDAP searches for groups are started. (Update Supported) -- `group_domain` (String) Specifies the domain for this provider through which groups are qualified. (Update Supported) -- `group_filter` (String) Specifies the LDAP filter for group objects. (Update Supported) -- `group_members_attribute` (String) Specifies the LDAP Group Members attribute. (Update Supported) -- `group_search_scope` (String) Specifies the depth from the base DN to perform LDAP searches. Acceptable values: "default", "base", "onelevel", "subtree", "children". (Update Supported) -- `groupnet` (String) Groupnet identifier. -- `home_directory_template` (String) Specifies the path to the home directory template. (Update Supported) -- `homedir_attribute` (String) Specifies the LDAP Homedir attribute. (Update Supported) -- `ignore_tls_errors` (Boolean) If true, continues over secure connections even if identity checks fail. (Update Supported) -- `ignore_unresolvable_server_urls` (Boolean) Ignore unresolvable server URIs when creating and updating. (Update Supported) -- `listable_groups` (List of String) Specifies the groups that can be viewed in the provider. (Update Supported) -- `listable_users` (List of String) Specifies the users that can be viewed in the provider. (Update Supported) -- `login_shell` (String) Specifies the login shell path. (Update Supported) -- `member_lookup_method` (String) Sets the method by which group member lookups are performed. Use caution when changing this option directly. Acceptable values: "default", "rfc2307bis". (Update Supported) -- `member_of_attribute` (String) Specifies the LDAP Query Member Of attribute, which performs reverse membership queries. (Update Supported) -- `name_attribute` (String) Specifies the LDAP UID attribute, which is used as the login name. (Update Supported) -- `netgroup_base_dn` (String) Specifies the distinguished name of the entry where LDAP searches for netgroups are started. (Update Supported) -- `netgroup_filter` (String) Specifies the LDAP filter for netgroup objects. (Update Supported) -- `netgroup_members_attribute` (String) Specifies the LDAP Netgroup Members attribute. (Update Supported) -- `netgroup_search_scope` (String) Specifies the depth from the base DN to perform LDAP searches. Acceptable values: "default", "base", "onelevel", "subtree", "children". (Update Supported) -- `netgroup_triple_attribute` (String) Specifies the LDAP Netgroup Triple attribute. (Update Supported) -- `normalize_groups` (Boolean) Normalizes group names to lowercase before look up. (Update Supported) -- `normalize_users` (Boolean) Normalizes user names to lowercase before look up. (Update Supported) -- `nt_password_attribute` (String) Specifies the LDAP NT Password attribute. (Update Supported) -- `ntlm_support` (String) Specifies which NTLM versions to support for users with NTLM-compatible credentials. Acceptable values: "all", "v2only", "none". (Update Supported) -- `ocsp_server_uris` (List of String) Specifies the OCSP server URIs. Only available for PowerScale 9.5 and above. (Update Supported) -- `provider_domain` (String) Specifies the provider domain. (Update Supported) -- `require_secure_connection` (Boolean) Determines whether to continue over a non-TLS connection. (Update Supported) -- `restrict_findable` (Boolean) If true, checks the provider for filtered lists of findable and unfindable users and groups. (Update Supported) -- `restrict_listable` (Boolean) If true, checks the provider for filtered lists of listable and unlistable users and groups. (Update Supported) -- `search_scope` (String) Specifies the default depth from the base DN to perform LDAP searches. Acceptable values: "base", "onelevel", "subtree", "children". (Update Supported) -- `search_timeout` (Number) Specifies the search timeout period in seconds. (Update Supported) -- `shadow_expire_attribute` (String) Sets the attribute name that indicates the absolute date to expire the account. (Update Supported) -- `shadow_flag_attribute` (String) Sets the attribute name that indicates the section of the shadow map that is used to store the flag value. (Update Supported) -- `shadow_inactive_attribute` (String) Sets the attribute name that indicates the number of days of inactivity that is allowed for the user. (Update Supported) -- `shadow_last_change_attribute` (String) Sets the attribute name that indicates the last change of the shadow information. (Update Supported) -- `shadow_max_attribute` (String) Sets the attribute name that indicates the maximum number of days a password can be valid. (Update Supported) -- `shadow_min_attribute` (String) Sets the attribute name that indicates the minimum number of days between shadow changes. (Update Supported) -- `shadow_user_filter` (String) Sets LDAP filter for shadow user objects. (Update Supported) -- `shadow_warning_attribute` (String) Sets the attribute name that indicates the number of days before the password expires to warn the user. (Update Supported) -- `shell_attribute` (String) Specifies the LDAP Shell attribute. (Update Supported) -- `ssh_public_key_attribute` (String) Sets the attribute name that indicates the SSH Public Key for the user. (Update Supported) -- `status` (String) Specifies the status of the provider. (Update Supported) -- `system` (Boolean) If true, indicates that this provider instance was created by OneFS and cannot be removed. (Update Supported) -- `tls_protocol_min` (String) Specifies the minimum TLS protocol version. (Update Supported) -- `tls_revocation_check_level` (String) This setting controls the behavior of the certificate revocation checking algorithm when the LDAP provider is presented with a digital certificate by an LDAP server. Acceptable values: "none", "allowNoData", "allowNoSrc", "strict". Only available for PowerScale 9.5 and above. (Update Supported) -- `uid_attribute` (String) Specifies the LDAP UID Number attribute. (Update Supported) -- `unfindable_groups` (List of String) Specifies the groups that cannot be resolved by the provider. (Update Supported) -- `unfindable_users` (List of String) Specifies users that cannot be resolved by the provider. (Update Supported) -- `unique_group_members_attribute` (String) Sets the LDAP Unique Group Members attribute. (Update Supported) -- `unlistable_groups` (List of String) Specifies a group that cannot be listed by the provider. (Update Supported) -- `unlistable_users` (List of String) Specifies a user that cannot be listed by the provider. (Update Supported) -- `user_base_dn` (String) Specifies the distinguished name of the entry at which to start LDAP searches for users. (Update Supported) -- `user_domain` (String) Specifies the domain for this provider through which users are qualified. (Update Supported) -- `user_filter` (String) Specifies the LDAP filter for user objects. (Update Supported) -- `user_search_scope` (String) Specifies the depth from the base DN to perform LDAP searches. Acceptable values: "default", "base", "onelevel", "subtree", "children". (Update Supported) +- `alternate_security_identities_attribute` (String) Specifies the attribute name used when searching for alternate security identities. +- `authentication` (Boolean) If true, enables authentication and identity management through the authentication provider. +- `balance_servers` (Boolean) If true, connects the provider to a random server. +- `bind_dn` (String) Specifies the distinguished name for binding to the LDAP server. +- `bind_mechanism` (String) Specifies which bind mechanism to use when connecting to an LDAP server. The only supported option is the 'simple' value. +- `bind_timeout` (Number) Specifies the timeout in seconds when binding to an LDAP server. +- `certificate_authority_file` (String) Specifies the path to the root certificates file. +- `check_online_interval` (Number) Specifies the time in seconds between provider online checks. +- `cn_attribute` (String) Specifies the canonical name. +- `create_home_directory` (Boolean) Automatically create the home directory on the first login. +- `crypt_password_attribute` (String) Specifies the hashed password value. +- `email_attribute` (String) Specifies the LDAP Email attribute. +- `enabled` (Boolean) If true, enables the LDAP provider. +- `enumerate_groups` (Boolean) If true, allows the provider to enumerate groups. +- `enumerate_users` (Boolean) If true, allows the provider to enumerate users. +- `findable_groups` (List of String) Specifies the list of groups that can be resolved. +- `findable_users` (List of String) Specifies the list of users that can be resolved. +- `gecos_attribute` (String) Specifies the LDAP GECOS attribute. +- `gid_attribute` (String) Specifies the LDAP GID attribute. +- `group_base_dn` (String) Specifies the distinguished name of the entry where LDAP searches for groups are started. +- `group_domain` (String) Specifies the domain for this provider through which groups are qualified. +- `group_filter` (String) Specifies the LDAP filter for group objects. +- `group_members_attribute` (String) Specifies the LDAP Group Members attribute. +- `group_search_scope` (String) Specifies the depth from the base DN to perform LDAP searches. Acceptable values: "default", "base", "onelevel", "subtree", "children". +- `groupnet` (String) Groupnet identifier. Cannot be updated. +- `home_directory_template` (String) Specifies the path to the home directory template. +- `homedir_attribute` (String) Specifies the LDAP Homedir attribute. +- `ignore_tls_errors` (Boolean) If true, continues over secure connections even if identity checks fail. +- `ignore_unresolvable_server_urls` (Boolean) Ignore unresolvable server URIs when creating and updating. +- `listable_groups` (List of String) Specifies the groups that can be viewed in the provider. +- `listable_users` (List of String) Specifies the users that can be viewed in the provider. +- `login_shell` (String) Specifies the login shell path. +- `member_lookup_method` (String) Sets the method by which group member lookups are performed. Use caution when changing this option directly. Acceptable values: "default", "rfc2307bis". +- `member_of_attribute` (String) Specifies the LDAP Query Member Of attribute, which performs reverse membership queries. +- `name_attribute` (String) Specifies the LDAP UID attribute, which is used as the login name. +- `netgroup_base_dn` (String) Specifies the distinguished name of the entry where LDAP searches for netgroups are started. +- `netgroup_filter` (String) Specifies the LDAP filter for netgroup objects. +- `netgroup_members_attribute` (String) Specifies the LDAP Netgroup Members attribute. +- `netgroup_search_scope` (String) Specifies the depth from the base DN to perform LDAP searches. Acceptable values: "default", "base", "onelevel", "subtree", "children". +- `netgroup_triple_attribute` (String) Specifies the LDAP Netgroup Triple attribute. +- `normalize_groups` (Boolean) Normalizes group names to lowercase before look up. +- `normalize_users` (Boolean) Normalizes user names to lowercase before look up. +- `nt_password_attribute` (String) Specifies the LDAP NT Password attribute. +- `ntlm_support` (String) Specifies which NTLM versions to support for users with NTLM-compatible credentials. Acceptable values: "all", "v2only", "none". +- `ocsp_server_uris` (List of String) Specifies the OCSP server URIs. Only available for PowerScale 9.5 and above. +- `provider_domain` (String) Specifies the provider domain. +- `require_secure_connection` (Boolean) Determines whether to continue over a non-TLS connection. +- `restrict_findable` (Boolean) If true, checks the provider for filtered lists of findable and unfindable users and groups. +- `restrict_listable` (Boolean) If true, checks the provider for filtered lists of listable and unlistable users and groups. +- `search_scope` (String) Specifies the default depth from the base DN to perform LDAP searches. Acceptable values: "base", "onelevel", "subtree", "children". +- `search_timeout` (Number) Specifies the search timeout period in seconds. +- `shadow_expire_attribute` (String) Sets the attribute name that indicates the absolute date to expire the account. +- `shadow_flag_attribute` (String) Sets the attribute name that indicates the section of the shadow map that is used to store the flag value. +- `shadow_inactive_attribute` (String) Sets the attribute name that indicates the number of days of inactivity that is allowed for the user. +- `shadow_last_change_attribute` (String) Sets the attribute name that indicates the last change of the shadow information. +- `shadow_max_attribute` (String) Sets the attribute name that indicates the maximum number of days a password can be valid. +- `shadow_min_attribute` (String) Sets the attribute name that indicates the minimum number of days between shadow changes. +- `shadow_user_filter` (String) Sets LDAP filter for shadow user objects. +- `shadow_warning_attribute` (String) Sets the attribute name that indicates the number of days before the password expires to warn the user. +- `shell_attribute` (String) Specifies the LDAP Shell attribute. +- `ssh_public_key_attribute` (String) Sets the attribute name that indicates the SSH Public Key for the user. +- `status` (String) Specifies the status of the provider. +- `system` (Boolean) If true, indicates that this provider instance was created by OneFS and cannot be removed. +- `tls_protocol_min` (String) Specifies the minimum TLS protocol version. +- `tls_revocation_check_level` (String) This setting controls the behavior of the certificate revocation checking algorithm when the LDAP provider is presented with a digital certificate by an LDAP server. Acceptable values: "none", "allowNoData", "allowNoSrc", "strict". Only available for PowerScale 9.5 and above. +- `uid_attribute` (String) Specifies the LDAP UID Number attribute. +- `unfindable_groups` (List of String) Specifies the groups that cannot be resolved by the provider. +- `unfindable_users` (List of String) Specifies users that cannot be resolved by the provider. +- `unique_group_members_attribute` (String) Sets the LDAP Unique Group Members attribute. +- `unlistable_groups` (List of String) Specifies a group that cannot be listed by the provider. +- `unlistable_users` (List of String) Specifies a user that cannot be listed by the provider. +- `user_base_dn` (String) Specifies the distinguished name of the entry at which to start LDAP searches for users. +- `user_domain` (String) Specifies the domain for this provider through which users are qualified. +- `user_filter` (String) Specifies the LDAP filter for user objects. +- `user_search_scope` (String) Specifies the depth from the base DN to perform LDAP searches. Acceptable values: "default", "base", "onelevel", "subtree", "children". ### Read-Only - `id` (String) Specifies the ID of the LDAP provider. - `zone_name` (String) Specifies the name of the access zone in which this provider was created. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/namespace_acl.md b/docs/resources/namespace_acl.md index ab21684..ba324bc 100644 --- a/docs/resources/namespace_acl.md +++ b/docs/resources/namespace_acl.md @@ -201,6 +201,8 @@ Read-Only: - `name` (String) Specifies the persona name, which must be combined with a type. - `type` (String) Specifies the type of persona, which must be combined with a name. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/network_rule.md b/docs/resources/network_rule.md index 16070aa..4ad95db 100644 --- a/docs/resources/network_rule.md +++ b/docs/resources/network_rule.md @@ -92,6 +92,8 @@ resource "powerscale_network_rule" "rule" { - `id` (String) Unique rule ID. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/network_settings.md b/docs/resources/network_settings.md index 311a923..0bef617 100644 --- a/docs/resources/network_settings.md +++ b/docs/resources/network_settings.md @@ -78,15 +78,17 @@ resource "powerscale_network_settings" "example_network_settings" { ### Optional -- `sc_rebalance_delay` (Number) Delay in seconds for IP rebalance. (Update Supported) -- `source_based_routing_enabled` (Boolean) Enable or disable Source Based Routing. (Update Supported) -- `tcp_ports` (List of Number) List of client TCP ports. (Update Supported) +- `sc_rebalance_delay` (Number) Delay in seconds for IP rebalance. +- `source_based_routing_enabled` (Boolean) Enable or disable Source Based Routing. +- `tcp_ports` (List of Number) List of client TCP ports. ### Read-Only - `default_groupnet` (String) Default client-side DNS settings for non-multitenancy aware programs. - `id` (String) Network Settings ID. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/networkpool.md b/docs/resources/networkpool.md index ba4b221..77b8ea4 100644 --- a/docs/resources/networkpool.md +++ b/docs/resources/networkpool.md @@ -159,6 +159,8 @@ Optional: - `prefixlen` (Number) Prefix length in the format: nn. - `subnet` (String) Network address in the format: xxx.xxx.xxx.xxx +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/nfs_export.md b/docs/resources/nfs_export.md index 61f83cd..f62006c 100644 --- a/docs/resources/nfs_export.md +++ b/docs/resources/nfs_export.md @@ -370,6 +370,8 @@ Optional: - `name` (String) Specifies the persona name, which must be combined with a type. - `type` (String) Specifies the type of persona, which must be combined with a name. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/nfs_export_settings.md b/docs/resources/nfs_export_settings.md index fbb09a7..1b30535 100644 --- a/docs/resources/nfs_export_settings.md +++ b/docs/resources/nfs_export_settings.md @@ -296,6 +296,8 @@ Optional: - `name` (String) Specifies the persona name, which must be combined with a type. - `type` (String) Specifies the type of persona, which must be combined with a name. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/nfs_global_settings.md b/docs/resources/nfs_global_settings.md index 570af37..0a4f542 100644 --- a/docs/resources/nfs_global_settings.md +++ b/docs/resources/nfs_global_settings.md @@ -88,6 +88,8 @@ resource "powerscale_nfs_global_settings" "example" { - `id` (String) Id of NFS Global settings. Readonly. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/nfs_zone_settings.md b/docs/resources/nfs_zone_settings.md index 960ecff..f12d8b3 100644 --- a/docs/resources/nfs_zone_settings.md +++ b/docs/resources/nfs_zone_settings.md @@ -94,6 +94,8 @@ resource "powerscale_nfs_zone_settings" "example" { - `id` (String) ID of NFS Zone Settings. Value of ID will be same as the access zone. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/ntpserver.md b/docs/resources/ntpserver.md index b97a252..5802f6c 100644 --- a/docs/resources/ntpserver.md +++ b/docs/resources/ntpserver.md @@ -79,6 +79,8 @@ resource "powerscale_ntpserver" "ntp_server_test" { - `id` (String) Field ID. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/ntpsettings.md b/docs/resources/ntpsettings.md index 77cb9fc..e296678 100644 --- a/docs/resources/ntpsettings.md +++ b/docs/resources/ntpsettings.md @@ -75,6 +75,8 @@ resource "powerscale_ntpsettings" "example_ntp_settings" { - `excluded` (List of String) Node number (LNN) for nodes excluded from chimer duty. - `key_file` (String) Path to NTP key file within /ifs. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/quota.md b/docs/resources/quota.md index 70de344..0c932b3 100644 --- a/docs/resources/quota.md +++ b/docs/resources/quota.md @@ -169,6 +169,8 @@ Read-Only: - `shadow_refs` (Number) Number of shadow references (cloned, deduplicated or packed filesystem blocks) used by governed data. - `shadow_refs_ready` (Boolean) True if shadow_refs resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/role.md b/docs/resources/role.md index ebcb08f..4688ebf 100644 --- a/docs/resources/role.md +++ b/docs/resources/role.md @@ -135,6 +135,8 @@ Read-Only: - `name` (String) Specifies the name of the privilege. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/s3_bucket.md b/docs/resources/s3_bucket.md index cfc9b46..663353b 100644 --- a/docs/resources/s3_bucket.md +++ b/docs/resources/s3_bucket.md @@ -130,6 +130,8 @@ Read-Only: - `id` (String) Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/s3_global_settings.md b/docs/resources/s3_global_settings.md index daa6c93..33232d1 100644 --- a/docs/resources/s3_global_settings.md +++ b/docs/resources/s3_global_settings.md @@ -70,6 +70,8 @@ resource "powerscale_s3_global_settings" "s3_global_setting" { - `https_port` (Number) Specifies the HTTPS port. - `service` (Boolean) Specifies if the service is enabled. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: @@ -91,7 +93,7 @@ Import is supported using the following syntax: # limitations under the License. # The command is -# terraform import powerscale_s3_global_settings.s3_global_settings_example +# terraform import powerscale_s3_global_settings.s3_global_settings_example terraform import powerscale_s3_global_settings.s3_global_settings_example "" # after running this command, populate the name field and other required parameters in the config file to start managing this resource. diff --git a/docs/resources/s3_key.md b/docs/resources/s3_key.md index c16ca3a..e49712d 100644 --- a/docs/resources/s3_key.md +++ b/docs/resources/s3_key.md @@ -19,12 +19,12 @@ linkTitle: "powerscale_s3_key" page_title: "powerscale_s3_key Resource - terraform-provider-powerscale" subcategory: "" description: |- - This resource is used to manage the S3 Key of PowerScale Array. PowerScale S3 keys are used to sign the requests you send to the S3 protocol. We can Create, Update and Delete the S3 Bucket using this resource. + This resource is used to manage the S3 Key Entity of PowerScale Array. PowerScale S3 keys are used to sign the requests you send to the S3 protocol. We can Create, Update and Delete the S3 Key using this resource. --- # powerscale_s3_key (Resource) -This resource is used to manage the S3 Key of PowerScale Array. PowerScale S3 keys are used to sign the requests you send to the S3 protocol. We can Create, Update and Delete the S3 Bucket using this resource. +This resource is used to manage the S3 Key Entity of PowerScale Array. PowerScale S3 keys are used to sign the requests you send to the S3 protocol. We can Create, Update and Delete the S3 Key using this resource. ## Example Usage @@ -69,8 +69,8 @@ output "key" { ### Required -- `user` (String) The username to create the S3 key. -- `zone` (String) The zone of the user. +- `user` (String) The username to create the S3 key. This resource will be recreated if the value of this field is changed. +- `zone` (String) The zone of the user. This resource will be recreated if the value of this field is changed. ### Optional @@ -85,3 +85,5 @@ output "key" { - `secret_key` (String) The secret key of the key. Computed. - `secret_key_timestamp` (Number) The timestamp of the secret key. Computed. +Unless specified otherwise, all fields of this resource can be updated. + diff --git a/docs/resources/s3_zone_settings.md b/docs/resources/s3_zone_settings.md index 6af73ab..f741ef5 100644 --- a/docs/resources/s3_zone_settings.md +++ b/docs/resources/s3_zone_settings.md @@ -19,12 +19,12 @@ linkTitle: "powerscale_s3_zone_settings" page_title: "powerscale_s3_zone_settings Resource - terraform-provider-powerscale" subcategory: "" description: |- - Resource for managing S3ZoneSettings on PowerScale. + This resource is used to manage the S3 Zone Settings entity of the PowerScale Array. PowerScale S3 Zone Setting map to access zone configuration which provide default location for creating s3 buckets. We can Create, Update and Delete the S3 Zone Setting using this resource. We can also import an existing S3 Zone Settings from PowerScale array. --- # powerscale_s3_zone_settings (Resource) -Resource for managing S3ZoneSettings on PowerScale. +This resource is used to manage the S3 Zone Settings entity of the PowerScale Array. PowerScale S3 Zone Setting map to access zone configuration which provide default location for creating s3 buckets. We can Create, Update and Delete the S3 Zone Setting using this resource. We can also import an existing S3 Zone Settings from PowerScale array. ## Example Usage @@ -66,15 +66,17 @@ resource "powerscale_s3_zone_settings" "s3_zone_setting" { ### Required -- `zone` (String) The name of the access zone you want to update settings for s3 service +- `zone` (String) The name of the access zone you want to update settings for s3 service. If this field is updated, Terraform will delete and then recreate this resource. ### Optional - `base_domain` (String) Base Domain for S3 zone - `bucket_directory_create_mode` (Number) The permission mode for creating bucket directories. -- `object_acl_policy` (String) The default policy for object access control lists (ACLs), which can be either “replace” or “deny” +- `object_acl_policy` (String) The default policy for object access control lists (ACLs), which can be either `replace` or `deny`. - `root_path` (String) The root path for the S3 bucket. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: @@ -95,10 +97,11 @@ Import is supported using the following syntax: # See the License for the specific language governing permissions and # limitations under the License. +# S3 Zone Settings can be imported by the name of the S3 Zone # The command is -# terraform import powerscale_s3_zone_settings.s3_zone_settings_example +# terraform import powerscale_s3_zone_settings.s3_zone_settings_example terraform import powerscale_s3_zone_settings.s3_zone_settings_example "System" -# after running this command, populate the name field and other required parameters in the config file to start managing this resource. +# after running this command, populate the zone field and other required parameters in the config file to start managing this resource. # Note: running "terraform show" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource. ``` \ No newline at end of file diff --git a/docs/resources/smartpool_settings.md b/docs/resources/smartpool_settings.md index 5397b90..79e402f 100644 --- a/docs/resources/smartpool_settings.md +++ b/docs/resources/smartpool_settings.md @@ -122,6 +122,8 @@ Optional: - `name` (String) Target pool name if target specified as storagepool, otherwise empty string. - `type` (String) Type of target pool. Acceptable values: storagepool, anywhere +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/smb_server_settings.md b/docs/resources/smb_server_settings.md index 30a00df..4eab35c 100644 --- a/docs/resources/smb_server_settings.md +++ b/docs/resources/smb_server_settings.md @@ -119,6 +119,8 @@ resource "powerscale_smb_server_settings" "example" { - `id` (String) ID of SMB Server Settings. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/smb_share.md b/docs/resources/smb_share.md index a598f79..da59b4c 100644 --- a/docs/resources/smb_share.md +++ b/docs/resources/smb_share.md @@ -205,6 +205,8 @@ Optional: - `name` (String) Specifies the persona name, which must be combined with a type. - `type` (String) Specifies the type of persona, which must be combined with a name. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/smb_share_settings.md b/docs/resources/smb_share_settings.md index 32828fc..746903a 100644 --- a/docs/resources/smb_share_settings.md +++ b/docs/resources/smb_share_settings.md @@ -147,6 +147,8 @@ resource "powerscale_smb_share_settings" "example" { - `id` (String) ID of SMB share Settings. Value of ID will be same as the access zone. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/snapshot.md b/docs/resources/snapshot.md index 154e902..edf08c3 100644 --- a/docs/resources/snapshot.md +++ b/docs/resources/snapshot.md @@ -75,12 +75,12 @@ resource "powerscale_snapshot" "snap" { ### Required -- `path` (String) The /ifs path snapshotted. +- `path` (String) The /ifs path snapshotted. Cannot be updated. ### Optional -- `name` (String) The user or system supplied snapshot name. This will be null for snapshots pending delete. Only alphanumeric characters, underscores ( _ ), and hyphens (-) are allowed. (Update Supported) -- `set_expires` (String) The amount of time from creation before the snapshot will expire and be eligible for automatic deletion. Resets each time this value is updated (Update Supported) +- `name` (String) The user or system supplied snapshot name. This will be null for snapshots pending delete. Only alphanumeric characters, underscores ( _ ), and hyphens (-) are allowed. +- `set_expires` (String) The amount of time from creation before the snapshot will expire and be eligible for automatic deletion. Resets each time this value is updated ### Read-Only @@ -98,6 +98,8 @@ resource "powerscale_snapshot" "snap" { - `target_id` (Number) The ID of the snapshot pointed to if this is an alias. 18446744073709551615 (max uint64) is returned for an alias to the live filesystem. - `target_name` (String) The name of the snapshot pointed to if this is an alias. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/snapshot_schedule.md b/docs/resources/snapshot_schedule.md index 5581aff..0017dfc 100644 --- a/docs/resources/snapshot_schedule.md +++ b/docs/resources/snapshot_schedule.md @@ -123,6 +123,8 @@ resource "powerscale_snapshot_schedule" "snap_schedule" { - `id` (String) The system ID given to the schedule. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/subnet.md b/docs/resources/subnet.md index baf624a..9191608 100644 --- a/docs/resources/subnet.md +++ b/docs/resources/subnet.md @@ -122,6 +122,8 @@ Optional: - `high` (String) High IP - `low` (String) Low IP +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/support_assist.md b/docs/resources/support_assist.md index c8ca30d..ec6963a 100644 --- a/docs/resources/support_assist.md +++ b/docs/resources/support_assist.md @@ -180,6 +180,8 @@ Optional: - `telemetry_persist` (Boolean) Change if files are kept after upload - `telemetry_threads` (Number) Change the number of threads for telemetry gathers +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: @@ -204,6 +206,6 @@ Import is supported using the following syntax: # terraform import powerscale_support_assist.example_support_assist # Example: terraform import powerscale_support_assist.example_support_assist "support_assist" -# After running this command, populate the fields in the config file to start managing this resource. +# After running this command, populate one or more fields in the config file to start managing this resource. # Note: running "terraform show" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource. ``` \ No newline at end of file diff --git a/docs/resources/synciq_global_settings.md b/docs/resources/synciq_global_settings.md index 6d63aaa..dc79454 100644 --- a/docs/resources/synciq_global_settings.md +++ b/docs/resources/synciq_global_settings.md @@ -47,7 +47,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -# Available actions: Create and Update updates the syncIQ global settings. Delete will delete the state file. Import action is also available +# Available actions: Create and Update updates the syncIQ global settings. Delete will delete the state file. Import action is also available. # After `terraform apply` of this example file will update the settings according to the attributes set in the config # PowerScale SynIQ global settings allows you to manage the global settings on the Powerscale array @@ -103,6 +103,8 @@ Optional: - `pool` (String) The pool to restrict replication policies to. - `subnet` (String) The subnet to restrict replication policies to. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: @@ -127,6 +129,6 @@ Import is supported using the following syntax: # terraform import powerscale_synciq_global_settings.settings # Example: terraform import powerscale_synciq_global_settings.settings global_setting -# after running this command, populate the other required parameters in the config file to start managing this resource. +# after running this command, populate one or more parameters in the config file to start managing this resource. # Note: running "terraform show" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource. ``` \ No newline at end of file diff --git a/docs/resources/synciq_peer_certificate.md b/docs/resources/synciq_peer_certificate.md index a59fe98..1db68a1 100644 --- a/docs/resources/synciq_peer_certificate.md +++ b/docs/resources/synciq_peer_certificate.md @@ -50,7 +50,7 @@ limitations under the License. # Available actions: Create, Read, Update, Delete and Import. -# Step 1: Upload a certificate to PowerScale. +# Step 1: Upload a certificate to the PowerScale filesystem. # This can be done using the file provisioner. resource "terraform_data" "cert" { provisioner "file" { @@ -76,7 +76,8 @@ resource "terraform_data" "cert" { resource "powerscale_synciq_peer_certificate" "certificate" { depends_on = [terraform_data.cert] // required - // Cannot be updated, requires-replace + // Cannot be updated + // If the value of this resource is changed, Terraform will destroy this resource and recreate it. path = "/ifs/peerCert1.crt" // optional name = "cert1" @@ -104,6 +105,8 @@ resource "powerscale_synciq_peer_certificate" "certificate" { - `id` (String) ID of the SyncIQ Peer certificate. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: @@ -126,7 +129,7 @@ Import is supported using the following syntax: # A Peer Certificate can be imported by its name -# The command to import by ID is +# The command to import is # terraform import powerscale_synciq_peer_certificate.certificate # Example: terraform import powerscale_synciq_peer_certificate.certificate2 "peer_certificate_01" diff --git a/docs/resources/synciq_policy.md b/docs/resources/synciq_policy.md index 6cdd623..95983e9 100644 --- a/docs/resources/synciq_policy.md +++ b/docs/resources/synciq_policy.md @@ -49,9 +49,6 @@ limitations under the License. # Available actions: Create, Update, Delete and Import. -# If resource arguments are omitted, `terraform apply` will load User Mapping Rules from PowerScale, and save to terraform state file. -# If any resource arguments are specified, `terraform apply` will try to load User Mapping Rules (if not loaded) and update the settings. -# `terraform destroy` will delete the resource from terraform state file rather than deleting User Mapping Rules from PowerScale. # For more information, Please check the terraform state file. resource "powerscale_synciq_peer_certificate" "cert_10_10_10_10" { @@ -135,8 +132,8 @@ resource "powerscale_synciq_policy" "policy" { target_snapshot_pattern = "SIQ-%%{SrcCluster}-%%{PolicyName}-%Y-%m-%d_%H-%M-%S" } -# After the execution of above resource block, Sync IQ Policies would have been cached in terraform state file, or -# Sync IQ Policies would have been updated on PowerScale. +# After the execution of above resource block, a Sync IQ Policy would have been cached in terraform state file +# and a Sync IQ Policies would have been created/updated on PowerScale. # For more information, Please check the terraform state file. # sheduling a policy when source is modified @@ -153,7 +150,7 @@ resource "powerscale_synciq_policy" "policy_when_source_modified" { schedule = "when-source-modified" job_delay = 20 * 60 * 60 - # ocsp + # OCSP settings ocsp_address = "10.20.10.9" # Installed ca certificates can be listed using "isi certificate authority list" # which gives a list of all certificates with their short IDs. @@ -270,6 +267,8 @@ Optional: - `pool` (String) The pool to restrict replication policies to. - `subnet` (String) The subnet to restrict replication policies to. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/user.md b/docs/resources/user.md index 3ab33f0..d25a9aa 100644 --- a/docs/resources/user.md +++ b/docs/resources/user.md @@ -92,28 +92,28 @@ resource "powerscale_user" "testUser" { ### Required -- `name` (String) Specifies a user name. +- `name` (String) Specifies a user name. Cannot be updated. ### Optional -- `domain` (String) Specifies the domain that the object is part of. -- `email` (String) Specifies an email address. (Update Supported) -- `enabled` (Boolean) If true, the authenticated user is enabled. (Update Supported) -- `expiry` (Number) Specifies the Unix Epoch time at which the authenticated user will expire. (Update Supported) -- `gecos` (String) Specifies the GECOS value, which is usually the full name. (Update Supported) -- `home_directory` (String) Specifies a home directory for the user. (Update Supported) -- `password` (String, Sensitive) Sets or Changes the password for the user. (Update Supported) -- `password_expires` (Boolean) If true, the password is allowed to expire. (Update Supported) -- `primary_group` (String) Specifies the name of the primary group. (Update Supported) -- `prompt_password_change` (Boolean) If true, Prompts the user to change their password at the next login. (Update Supported) +- `domain` (String) Specifies the domain that the object is part of. Cannot be updated. +- `email` (String) Specifies an email address. +- `enabled` (Boolean) If true, the authenticated user is enabled. +- `expiry` (Number) Specifies the Unix Epoch time at which the authenticated user will expire. +- `gecos` (String) Specifies the GECOS value, which is usually the full name. +- `home_directory` (String) Specifies a home directory for the user. +- `password` (String, Sensitive) Sets or Changes the password for the user. +- `password_expires` (Boolean) If true, the password is allowed to expire. +- `primary_group` (String) Specifies the name of the primary group. +- `prompt_password_change` (Boolean) If true, Prompts the user to change their password at the next login. - `query_force` (Boolean) If true, skip validation checks when creating user. Need to be true, when changing user UID. -- `query_provider` (String) Specifies the provider type. -- `query_zone` (String) Specifies the zone that the object belongs to. -- `roles` (List of String) List of roles, the user is assigned. (Update Supported) -- `shell` (String) Specifies a path to the shell for the user. (Update Supported) -- `sid` (String) Specifies a security identifier. -- `uid` (Number) Specifies a numeric user identifier. (Update Supported) -- `unlock` (Boolean) If true, the user account should be unlocked. (Update Supported) +- `query_provider` (String) Specifies the provider type. Cannot be updated. +- `query_zone` (String) Specifies the zone that the object belongs to. Cannot be updated. +- `roles` (List of String) List of roles, the user is assigned. +- `shell` (String) Specifies a path to the shell for the user. +- `sid` (String) Specifies a security identifier. Cannot be updated. +- `uid` (Number) Specifies a numeric user identifier. +- `unlock` (Boolean) If true, the user account should be unlocked. ### Read-Only @@ -156,6 +156,8 @@ Read-Only: - `name` (String) - `type` (String) +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/user_group.md b/docs/resources/user_group.md index d4fe423..efbb111 100644 --- a/docs/resources/user_group.md +++ b/docs/resources/user_group.md @@ -84,20 +84,20 @@ resource "powerscale_user_group" "testUserGroup" { ### Required -- `name` (String) Specifies a user group name. +- `name` (String) Specifies a user group name. Cannot be updated. ### Optional -- `domain` (String) Specifies the domain that the object is part of. -- `gid` (Number) Specifies a numeric user group identifier. (Update Supported) -- `groups` (List of String) Specifies list members of group within the group. (Update Supported) +- `domain` (String) Specifies the domain that the object is part of. Cannot be updated. +- `gid` (Number) Specifies a numeric user group identifier. +- `groups` (List of String) Specifies list members of group within the group. - `query_force` (Boolean) If true, skip validation checks when creating user group. Need to be true, when changing group GID. -- `query_provider` (String) Specifies the provider type. -- `query_zone` (String) Specifies the zone that the object belongs to. -- `roles` (List of String) List of roles, the user is assigned. (Update Supported) -- `sid` (String) Specifies a security identifier. -- `users` (List of String) Specifies list members of user within the group. (Update Supported) -- `well_knowns` (List of String) Specifies list members of well_known within the group. (Update Supported) +- `query_provider` (String) Specifies the provider type. Cannot be updated. +- `query_zone` (String) Specifies the zone that the object belongs to. Cannot be updated. +- `roles` (List of String) List of roles, the user is assigned. +- `sid` (String) Specifies a security identifier. Cannot be updated. +- `users` (List of String) Specifies list members of user within the group. +- `well_knowns` (List of String) Specifies list members of well_known within the group. ### Read-Only @@ -109,6 +109,8 @@ resource "powerscale_user_group" "testUserGroup" { - `sam_account_name` (String) Specifies a user group name. - `type` (String) Specifies the object type. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/docs/resources/user_mapping_rules.md b/docs/resources/user_mapping_rules.md index fb838c4..ca34744 100644 --- a/docs/resources/user_mapping_rules.md +++ b/docs/resources/user_mapping_rules.md @@ -205,10 +205,10 @@ resource "powerscale_user_mapping_rules" "testUserMappingRules" { ### Optional -- `parameters` (Attributes) Specifies the parameters for user mapping rules. (Update Supported) (see [below for nested schema](#nestedatt--parameters)) -- `rules` (Attributes List) Specifies the list of user mapping rules. (Update Supported) (see [below for nested schema](#nestedatt--rules)) -- `test_mapping_users` (Attributes List) List of user identity for mapping test. (Update Supported) (see [below for nested schema](#nestedatt--test_mapping_users)) -- `zone` (String) The zone to which the user mapping applies. (Update Supported) +- `parameters` (Attributes) Specifies the parameters for user mapping rules. (see [below for nested schema](#nestedatt--parameters)) +- `rules` (Attributes List) Specifies the list of user mapping rules. (see [below for nested schema](#nestedatt--rules)) +- `test_mapping_users` (Attributes List) List of user identity for mapping test. (see [below for nested schema](#nestedatt--test_mapping_users)) +- `zone` (String) The zone to which the user mapping applies. ### Read-Only @@ -220,18 +220,18 @@ resource "powerscale_user_mapping_rules" "testUserMappingRules" { Optional: -- `default_unix_user` (Attributes) Specifies the default UNIX user information that can be applied if the final credentials do not have valid UID and GID information. (Update Supported) (see [below for nested schema](#nestedatt--parameters--default_unix_user)) +- `default_unix_user` (Attributes) Specifies the default UNIX user information that can be applied if the final credentials do not have valid UID and GID information. (see [below for nested schema](#nestedatt--parameters--default_unix_user)) ### Nested Schema for `parameters.default_unix_user` Required: -- `user` (String) Specifies the name of the user that is being mapped. (Update Supported) +- `user` (String) Specifies the name of the user that is being mapped. Optional: -- `domain` (String) Specifies the domain of the user that is being mapped. (Update Supported) +- `domain` (String) Specifies the domain of the user that is being mapped. @@ -240,24 +240,24 @@ Optional: Required: -- `operator` (String) Specifies the operator to make rules on specified users or groups. (Update Supported) -- `target_user` (Attributes) Specifies the target user information that the rule can be applied to. (Update Supported) (see [below for nested schema](#nestedatt--rules--target_user)) +- `operator` (String) Specifies the operator to make rules on specified users or groups. +- `target_user` (Attributes) Specifies the target user information that the rule can be applied to. (see [below for nested schema](#nestedatt--rules--target_user)) Optional: -- `options` (Attributes) Specifies the mapping options for this user mapping rule. (Update Supported) (see [below for nested schema](#nestedatt--rules--options)) -- `source_user` (Attributes) Specifies the source user information that the rule can be applied from. (Update Supported) (see [below for nested schema](#nestedatt--rules--source_user)) +- `options` (Attributes) Specifies the mapping options for this user mapping rule. (see [below for nested schema](#nestedatt--rules--options)) +- `source_user` (Attributes) Specifies the source user information that the rule can be applied from. (see [below for nested schema](#nestedatt--rules--source_user)) ### Nested Schema for `rules.target_user` Required: -- `user` (String) Specifies the name of the user that is being mapped. (Update Supported) +- `user` (String) Specifies the name of the user that is being mapped. Optional: -- `domain` (String) Specifies the domain of the user that is being mapped. (Update Supported) +- `domain` (String) Specifies the domain of the user that is being mapped. @@ -265,22 +265,22 @@ Optional: Optional: -- `break` (Boolean) If true, and the rule was applied successfully, stop processing further. (Update Supported) -- `default_user` (Attributes) Specifies the default user information that can be applied if the final credentials do not have valid UID and GID information. (Update Supported) (see [below for nested schema](#nestedatt--rules--options--default_user)) -- `group` (Boolean) If true, the primary GID and primary group SID should be copied to the existing credential. (Update Supported) -- `groups` (Boolean) If true, all additional identifiers should be copied to the existing credential. (Update Supported) -- `user` (Boolean) If true, the primary UID and primary user SID should be copied to the existing credential. (Update Supported) +- `break` (Boolean) If true, and the rule was applied successfully, stop processing further. +- `default_user` (Attributes) Specifies the default user information that can be applied if the final credentials do not have valid UID and GID information. (see [below for nested schema](#nestedatt--rules--options--default_user)) +- `group` (Boolean) If true, the primary GID and primary group SID should be copied to the existing credential. +- `groups` (Boolean) If true, all additional identifiers should be copied to the existing credential. +- `user` (Boolean) If true, the primary UID and primary user SID should be copied to the existing credential. ### Nested Schema for `rules.options.default_user` Required: -- `user` (String) Specifies the name of the user that is being mapped. (Update Supported) +- `user` (String) Specifies the name of the user that is being mapped. Optional: -- `domain` (String) Specifies the domain of the user that is being mapped. (Update Supported) +- `domain` (String) Specifies the domain of the user that is being mapped. @@ -289,11 +289,11 @@ Optional: Required: -- `user` (String) Specifies the name of the user that is being mapped. (Update Supported) +- `user` (String) Specifies the name of the user that is being mapped. Optional: -- `domain` (String) Specifies the domain of the user that is being mapped. (Update Supported) +- `domain` (String) Specifies the domain of the user that is being mapped. @@ -302,8 +302,8 @@ Optional: Optional: -- `name` (String) Specifies a user name. (Update Supported) -- `uid` (Number) Specifies a numeric user identifier. (Update Supported) +- `name` (String) Specifies a user name. +- `uid` (Number) Specifies a numeric user identifier. @@ -349,6 +349,8 @@ Read-Only: - `sid` (String) Specifies a user or group SID. - `uid` (String) Specifies the user UID. +Unless specified otherwise, all fields of this resource can be updated. + ## Import Import is supported using the following syntax: diff --git a/examples/README.md b/examples/README.md index 91b9c76..8b69166 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,25 +1,32 @@ ---- -# Copyright (c) 2023-2024 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. + + +# Full documentation + +This directory contains only examples and may not showcase all available features. +For full documentation, please refer the follwoing links: +* [provider](../docs/index.md) +* [resources](../docs/resources/) +* [data-sources](../docs/data-sources/) # Examples This directory contains examples that are mostly used for documentation, but can also be run/tested manually via the Terraform CLI. -The document generation tool looks for files in the following locations by default. All other *.tf files besides the ones mentioned below are ignored by the documentation tool. This is useful for creating examples that can run and/or ar testable even if some parts are not relevant for the documentation. - -* **provider/provider.tf** example file for the provider index page -* **data-sources/`full data source name`/data-source.tf** example file for the named data source page -* **resources/`full resource name`/resource.tf** example file for the named data source page +For developers who wish to extend this provider: +The tool [terraform-plugin-docs](https://github.com/hashicorp/terraform-plugin-docs) is used as our documentation generator and it reads examples from this folder. +Please refer [conventional paths](https://github.com/hashicorp/terraform-plugin-docs?tab=readme-ov-file#conventional-paths) to understand which files in this folder are read into the documentation and which are ignored. diff --git a/examples/data-sources/powerscale_synciq_global_settings/data-source.tf b/examples/data-sources/powerscale_synciq_global_settings/data-source.tf index 9703a77..4d3b510 100644 --- a/examples/data-sources/powerscale_synciq_global_settings/data-source.tf +++ b/examples/data-sources/powerscale_synciq_global_settings/data-source.tf @@ -15,7 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -# This Terraform DataSource is used to query the details of the SyncIQ Globalbsettings from PowerScale array. +# This Terraform DataSource is used to query the details of the SyncIQ Global Settings from PowerScale array. # Returns the PowerScale SyncIQ Global settings on PowerScale array data "powerscale_synciq_global_settings" "all" { diff --git a/examples/data-sources/powerscale_synciq_policy/data-source.tf b/examples/data-sources/powerscale_synciq_policy/data-source.tf index 6230612..c3292c6 100644 --- a/examples/data-sources/powerscale_synciq_policy/data-source.tf +++ b/examples/data-sources/powerscale_synciq_policy/data-source.tf @@ -22,7 +22,7 @@ data "powerscale_synciq_policy" "all_policies" { } # Returns a the PowerScale SyncIQ Policy with given ID -data "powerscale_synciq_policy" "all_policies" { +data "powerscale_synciq_policy" "one_policy" { id = "g23j9a1f83h12n5j4" } @@ -32,9 +32,9 @@ output "powerscale_synciq_all_policies" { value = data.powerscale_synciq_policy.all_policies.policies } -# The user can use the fetched policy by ID by the variable data.powerscale_synciq_policy.one.policies[0] +# The user can use the fetched policy by ID by the variable data.powerscale_synciq_policy.one_policy.policies[0] output "policyByID" { - value = data.powerscale_synciq_policy.one.policies[0] + value = data.powerscale_synciq_policy.one_policy.one_policy[0] } # Get syncIQ policy by name diff --git a/examples/provider/provider.tf b/examples/provider/provider.tf index 3fe8666..bc3e8e8 100644 --- a/examples/provider/provider.tf +++ b/examples/provider/provider.tf @@ -19,7 +19,7 @@ terraform { required_providers { powerscale = { source = "registry.terraform.io/dell/powerscale" - version = "1.4.0" + version = "1.5.0" } } } diff --git a/examples/resources/powerscale_cluster_identity/import.sh b/examples/resources/powerscale_cluster_identity/import.sh index 72b0533..084c2e8 100644 --- a/examples/resources/powerscale_cluster_identity/import.sh +++ b/examples/resources/powerscale_cluster_identity/import.sh @@ -17,5 +17,5 @@ # terraform import powerscale_cluster_identity.example_identity_settings # Example: terraform import powerscale_cluster_identity.example_identity_settings "cluster_identity" -# after running this command, populate the name field and other required parameters in the config file to start managing this resource. +# after running this command, populate fields as per your requirement in the config file to start managing this resource. # Note: running "terraform show" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource. \ No newline at end of file diff --git a/examples/resources/powerscale_cluster_snmp/import.sh b/examples/resources/powerscale_cluster_snmp/import.sh index f2397bb..7f13550 100644 --- a/examples/resources/powerscale_cluster_snmp/import.sh +++ b/examples/resources/powerscale_cluster_snmp/import.sh @@ -17,5 +17,5 @@ # terraform import powerscale_cluster_snmp.example_snmp_settings # Example: terraform import powerscale_cluster_snmp.example_snmp_settings "cluster_snmp" -# after running this command, populate the name field and other required parameters in the config file to start managing this resource. +# after running this command, populate the enabled field and other required parameters in the config file to start managing this resource. # Note: running "terraform show" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource. \ No newline at end of file diff --git a/examples/resources/powerscale_s3_global_settings/import.sh b/examples/resources/powerscale_s3_global_settings/import.sh index d62ce25..7e7705f 100644 --- a/examples/resources/powerscale_s3_global_settings/import.sh +++ b/examples/resources/powerscale_s3_global_settings/import.sh @@ -14,7 +14,7 @@ # limitations under the License. # The command is -# terraform import powerscale_s3_global_settings.s3_global_settings_example +# terraform import powerscale_s3_global_settings.s3_global_settings_example terraform import powerscale_s3_global_settings.s3_global_settings_example "" # after running this command, populate the name field and other required parameters in the config file to start managing this resource. diff --git a/examples/resources/powerscale_s3_zone_settings/import.sh b/examples/resources/powerscale_s3_zone_settings/import.sh index 558a824..ad19e88 100644 --- a/examples/resources/powerscale_s3_zone_settings/import.sh +++ b/examples/resources/powerscale_s3_zone_settings/import.sh @@ -13,9 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. +# S3 Zone Settings can be imported by the name of the S3 Zone # The command is -# terraform import powerscale_s3_zone_settings.s3_zone_settings_example +# terraform import powerscale_s3_zone_settings.s3_zone_settings_example terraform import powerscale_s3_zone_settings.s3_zone_settings_example "System" -# after running this command, populate the name field and other required parameters in the config file to start managing this resource. +# after running this command, populate the zone field and other required parameters in the config file to start managing this resource. # Note: running "terraform show" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource. diff --git a/examples/resources/powerscale_support_assist/import.sh b/examples/resources/powerscale_support_assist/import.sh index 7a210b3..e7a0015 100644 --- a/examples/resources/powerscale_support_assist/import.sh +++ b/examples/resources/powerscale_support_assist/import.sh @@ -17,5 +17,5 @@ # terraform import powerscale_support_assist.example_support_assist # Example: terraform import powerscale_support_assist.example_support_assist "support_assist" -# After running this command, populate the fields in the config file to start managing this resource. +# After running this command, populate one or more fields in the config file to start managing this resource. # Note: running "terraform show" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource. \ No newline at end of file diff --git a/examples/resources/powerscale_synciq_global_settings/import.sh b/examples/resources/powerscale_synciq_global_settings/import.sh index 57ba2a9..a3bf1e1 100644 --- a/examples/resources/powerscale_synciq_global_settings/import.sh +++ b/examples/resources/powerscale_synciq_global_settings/import.sh @@ -17,5 +17,5 @@ # terraform import powerscale_synciq_global_settings.settings # Example: terraform import powerscale_synciq_global_settings.settings global_setting -# after running this command, populate the other required parameters in the config file to start managing this resource. +# after running this command, populate one or more parameters in the config file to start managing this resource. # Note: running "terraform show" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource. diff --git a/examples/resources/powerscale_synciq_global_settings/resource.tf b/examples/resources/powerscale_synciq_global_settings/resource.tf index b59f267..95f6517 100644 --- a/examples/resources/powerscale_synciq_global_settings/resource.tf +++ b/examples/resources/powerscale_synciq_global_settings/resource.tf @@ -15,7 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -# Available actions: Create and Update updates the syncIQ global settings. Delete will delete the state file. Import action is also available +# Available actions: Create and Update updates the syncIQ global settings. Delete will delete the state file. Import action is also available. # After `terraform apply` of this example file will update the settings according to the attributes set in the config # PowerScale SynIQ global settings allows you to manage the global settings on the Powerscale array diff --git a/examples/resources/powerscale_synciq_peer_certificate/import.sh b/examples/resources/powerscale_synciq_peer_certificate/import.sh index cdacfbe..044e760 100644 --- a/examples/resources/powerscale_synciq_peer_certificate/import.sh +++ b/examples/resources/powerscale_synciq_peer_certificate/import.sh @@ -15,7 +15,7 @@ # A Peer Certificate can be imported by its name -# The command to import by ID is +# The command to import is # terraform import powerscale_synciq_peer_certificate.certificate # Example: terraform import powerscale_synciq_peer_certificate.certificate2 "peer_certificate_01" diff --git a/examples/resources/powerscale_synciq_peer_certificate/resource.tf b/examples/resources/powerscale_synciq_peer_certificate/resource.tf index 290b0ab..8c2fdd5 100644 --- a/examples/resources/powerscale_synciq_peer_certificate/resource.tf +++ b/examples/resources/powerscale_synciq_peer_certificate/resource.tf @@ -18,7 +18,7 @@ limitations under the License. # Available actions: Create, Read, Update, Delete and Import. -# Step 1: Upload a certificate to PowerScale. +# Step 1: Upload a certificate to the PowerScale filesystem. # This can be done using the file provisioner. resource "terraform_data" "cert" { provisioner "file" { @@ -44,7 +44,8 @@ resource "terraform_data" "cert" { resource "powerscale_synciq_peer_certificate" "certificate" { depends_on = [terraform_data.cert] // required - // Cannot be updated, requires-replace + // Cannot be updated + // If the value of this resource is changed, Terraform will destroy this resource and recreate it. path = "/ifs/peerCert1.crt" // optional name = "cert1" diff --git a/examples/resources/powerscale_synciq_policy/resource.tf b/examples/resources/powerscale_synciq_policy/resource.tf index ad21070..e719fd6 100644 --- a/examples/resources/powerscale_synciq_policy/resource.tf +++ b/examples/resources/powerscale_synciq_policy/resource.tf @@ -17,9 +17,6 @@ limitations under the License. # Available actions: Create, Update, Delete and Import. -# If resource arguments are omitted, `terraform apply` will load User Mapping Rules from PowerScale, and save to terraform state file. -# If any resource arguments are specified, `terraform apply` will try to load User Mapping Rules (if not loaded) and update the settings. -# `terraform destroy` will delete the resource from terraform state file rather than deleting User Mapping Rules from PowerScale. # For more information, Please check the terraform state file. resource "powerscale_synciq_peer_certificate" "cert_10_10_10_10" { @@ -103,8 +100,8 @@ resource "powerscale_synciq_policy" "policy" { target_snapshot_pattern = "SIQ-%%{SrcCluster}-%%{PolicyName}-%Y-%m-%d_%H-%M-%S" } -# After the execution of above resource block, Sync IQ Policies would have been cached in terraform state file, or -# Sync IQ Policies would have been updated on PowerScale. +# After the execution of above resource block, a Sync IQ Policy would have been cached in terraform state file +# and a Sync IQ Policies would have been created/updated on PowerScale. # For more information, Please check the terraform state file. # sheduling a policy when source is modified @@ -121,7 +118,7 @@ resource "powerscale_synciq_policy" "policy_when_source_modified" { schedule = "when-source-modified" job_delay = 20 * 60 * 60 - # ocsp + # OCSP settings ocsp_address = "10.20.10.9" # Installed ca certificates can be listed using "isi certificate authority list" # which gives a list of all certificates with their short IDs. diff --git a/powerscale/helper/synciq_rule_schema_datasource.go b/powerscale/helper/synciq_rule_schema_datasource.go index 1cbf97d..a9fc9df 100644 --- a/powerscale/helper/synciq_rule_schema_datasource.go +++ b/powerscale/helper/synciq_rule_schema_datasource.go @@ -28,8 +28,10 @@ import ( // SyncIQRuleDataSourceSchema defines the schema for the data source. func SyncIQRuleDataSourceSchema(ctx context.Context) schema.Schema { return schema.Schema{ - MarkdownDescription: "This datasource is used to query the existing SyncIQ Replication Rules from PowerScale array.", - Description: "This datasource is used to query the existing SyncIQ Replication Rules from PowerScale array.", + MarkdownDescription: "This datasource is used to query the existing SyncIQ Replication Rules from PowerScale array." + + " The information fetched from this datasource can be used for getting the details or for further processing in resource block.", + Description: "This datasource is used to query the existing SyncIQ Replication Rules from PowerScale array." + + " The information fetched from this datasource can be used for getting the details or for further processing in resource block.", Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ Optional: true, diff --git a/powerscale/provider/access_zone_resource.go b/powerscale/provider/access_zone_resource.go index 19806e1..44f0da4 100644 --- a/powerscale/provider/access_zone_resource.go +++ b/powerscale/provider/access_zone_resource.go @@ -68,8 +68,8 @@ func (r *AccessZoneResource) Schema(ctx context.Context, req resource.SchemaRequ Computed: true, }, "custom_auth_providers": schema.ListAttribute{ - Description: "An optional parameter which adds new auth_providers to the access zone. A provider name should be of the form '[provider-type:]provider-name', the provider-type defaults to 'lsa-local-provider'. (Update Supported)", - MarkdownDescription: "An optional parameter which adds new auth_providers to the access zone. A provider name should be of the form '[provider-type:]provider-name', the provider-type defaults to 'lsa-local-provider'. (Update Supported)", + Description: "An optional parameter which adds new auth_providers to the access zone. A provider name should be of the form '[provider-type:]provider-name', the provider-type defaults to 'lsa-local-provider'.", + MarkdownDescription: "An optional parameter which adds new auth_providers to the access zone. A provider name should be of the form '[provider-type:]provider-name', the provider-type defaults to 'lsa-local-provider'.", Optional: true, Computed: true, ElementType: types.StringType, @@ -92,8 +92,8 @@ func (r *AccessZoneResource) Schema(ctx context.Context, req resource.SchemaRequ Computed: true, }, "groupnet": schema.StringAttribute{ - Description: "Groupnet identifier", - MarkdownDescription: "Groupnet identifier", + Description: "Groupnet identifier. Cannot be updated.", + MarkdownDescription: "Groupnet identifier. Cannot be updated.", Required: true, }, "home_directory_umask": schema.Int64Attribute{ @@ -136,8 +136,8 @@ func (r *AccessZoneResource) Schema(ctx context.Context, req resource.SchemaRequ Computed: true, }, "name": schema.StringAttribute{ - Description: "Specifies the access zone name. (Update Supported)", - MarkdownDescription: "Specifies the access zone name. (Update Supported)", + Description: "Specifies the access zone name.", + MarkdownDescription: "Specifies the access zone name.", Required: true, }, "negative_cache_entry_expiry": schema.Int64Attribute{ @@ -151,8 +151,8 @@ func (r *AccessZoneResource) Schema(ctx context.Context, req resource.SchemaRequ Computed: true, }, "path": schema.StringAttribute{ - Description: "Specifies the access zone base directory path. (Update Supported)", - MarkdownDescription: "Specifies the access zone base directory path. (Update Supported)", + Description: "Specifies the access zone base directory path.", + MarkdownDescription: "Specifies the access zone base directory path.", Required: true, }, "skeleton_directory": schema.StringAttribute{ diff --git a/powerscale/provider/cluster_identity_resource.go b/powerscale/provider/cluster_identity_resource.go index 0fd072a..fe1e206 100644 --- a/powerscale/provider/cluster_identity_resource.go +++ b/powerscale/provider/cluster_identity_resource.go @@ -60,9 +60,9 @@ func (r *ClusterIdentityResource) Metadata(ctx context.Context, req resource.Met func (r *ClusterIdentityResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ MarkdownDescription: "This resource is used to manage the Cluster Identity settings of PowerScale Array. " + - "We can Create, Update and Delete the Cluster Identity using this resource. We can also import an existing Cluster Identity from PowerScale array.", + "We can Create, Update and Delete the Cluster Identity using this resource. We can also import the existing Cluster Identity settings from PowerScale array.", Description: "This resource is used to manage the Cluster Identity settings of PowerScale Array. " + - "We can Create, Update and Delete the Cluster Identity using this resource. We can also import an existing Cluster Identity from PowerScale array.", + "We can Create, Update and Delete the Cluster Identity using this resource. We can also import the existing Cluster Identity settings from PowerScale array.", Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ Description: "The id for this cluster.", diff --git a/powerscale/provider/cluster_snmp_resource.go b/powerscale/provider/cluster_snmp_resource.go index f06104f..588998f 100644 --- a/powerscale/provider/cluster_snmp_resource.go +++ b/powerscale/provider/cluster_snmp_resource.go @@ -63,8 +63,12 @@ func (r *ClusterSnmpResource) Schema(ctx context.Context, req resource.SchemaReq // Schema describes the resource arguments. resp.Schema = schema.Schema{ // This description is used by the documentation generator and the language server. - MarkdownDescription: "This resource is used to manage the Cluster SNMP settings of PowerScale Array. We can Create, Update and Delete the Cluster SNMP using this resource. We can also import an existing Cluster SNMP from PowerScale array.", - Description: "This resource is used to manage the Cluster SNMP settings of PowerScale Array. We can Create, Update and Delete the Cluster SNMP using this resource. We can also import an existing Cluster SNMP from PowerScale array.", + MarkdownDescription: "This resource is used to manage the Cluster SNMP settings of PowerScale Array." + + " We can Create, Update and Delete the Cluster SNMP using this resource." + + " We can also import the existing Cluster SNMP settings from PowerScale array.", + Description: "This resource is used to manage the Cluster SNMP settings of PowerScale Array." + + " We can Create, Update and Delete the Cluster SNMP using this resource." + + " We can also import the existing Cluster SNMP settings from PowerScale array.", Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ Description: "ID of the Cluster SNMP.", @@ -72,9 +76,11 @@ func (r *ClusterSnmpResource) Schema(ctx context.Context, req resource.SchemaReq Computed: true, }, "enabled": schema.BoolAttribute{ - Description: "True if the Cluster SNMP is enabled.", - MarkdownDescription: "True if the Cluster SNMP is enabled.", - Required: true, + Description: "True if the Cluster SNMP is enabled." + + " If true, either 'snmp_v1v2_access' or 'snmp_v3_access' is required.", + MarkdownDescription: "True if the Cluster SNMP is enabled." + + " If true, either `snmp_v1v2_access` or `snmp_v3_access` is required.", + Required: true, }, "read_only_community": schema.StringAttribute{ Description: "The read-only community string for the Cluster SNMP.", @@ -83,18 +89,22 @@ func (r *ClusterSnmpResource) Schema(ctx context.Context, req resource.SchemaReq Optional: true, }, "snmp_v1_v2c_access": schema.BoolAttribute{ - Description: "The SNMPv1/v2c access for the Cluster SNMP.", - MarkdownDescription: "The SNMPv1/v2c access for the Cluster SNMP.", - Computed: true, - Optional: true, - Validators: []validator.Bool{boolvalidator.AlsoRequires(path.MatchRoot("read_only_community"))}, + Description: "The SNMPv1/v2c access for the Cluster SNMP." + + " Also requires `read_only_community`.", + MarkdownDescription: "The SNMPv1/v2c access for the Cluster SNMP." + + " Also requires `read_only_community`.", + Computed: true, + Optional: true, + Validators: []validator.Bool{boolvalidator.AlsoRequires(path.MatchRoot("read_only_community"))}, }, "snmp_v3_access": schema.BoolAttribute{ - Description: "The SNMPv3 access for the Cluster SNMP.", - MarkdownDescription: "The SNMPv3 access for the Cluster SNMP.", - Computed: true, - Optional: true, - Validators: []validator.Bool{boolvalidator.AlsoRequires(path.MatchRoot("snmp_v3_password"))}, + Description: "The SNMPv3 access for the Cluster SNMP." + + " Also requires snmp_v3_password.", + MarkdownDescription: "The SNMPv3 access for the Cluster SNMP." + + " Also requires snmp_v3_password.", + Computed: true, + Optional: true, + Validators: []validator.Bool{boolvalidator.AlsoRequires(path.MatchRoot("snmp_v3_password"))}, }, "snmp_v3_password": schema.StringAttribute{ Description: "The SNMPv3 authentication password for the Cluster SNMP.", @@ -106,10 +116,12 @@ func (r *ClusterSnmpResource) Schema(ctx context.Context, req resource.SchemaReq }, }, "snmp_v3_auth_protocol": schema.StringAttribute{ - Description: "The SNMPv3 authentication protocol for the Cluster SNMP.", - MarkdownDescription: "The SNMPv3 authentication protocol for the Cluster SNMP.", - Computed: true, - Optional: true, + Description: "The SNMPv3 authentication protocol for the Cluster SNMP." + + " Accepted values are `MD5`and `SHA`.", + MarkdownDescription: "The SNMPv3 authentication protocol for the Cluster SNMP." + + " Accepted values are `MD5`and `SHA`.", + Computed: true, + Optional: true, Validators: []validator.String{ stringvalidator.OneOf( "MD5", diff --git a/powerscale/provider/file_pool_policy_resource.go b/powerscale/provider/file_pool_policy_resource.go index 1f6a958..9fc94ae 100644 --- a/powerscale/provider/file_pool_policy_resource.go +++ b/powerscale/provider/file_pool_policy_resource.go @@ -61,18 +61,20 @@ func (r *FilePoolPolicyResource) Schema(ctx context.Context, req resource.Schema Description: "This resource is used to manage the File Pool Policy entity of PowerScale Array. We can Create, Update and Delete the File Pool Policy using this resource. We can also import an existing File Pool Policy from PowerScale array. PowerScale File Pool Policy can identify logical groups of files and specify storage operations for these files.", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "A unique name for this policy. If the policy is default policy, its name should be \"Default policy\". (Update Supported)", - MarkdownDescription: "A unique name for this policy. If the policy is default policy, its name should be \"Default policy\". (Update Supported)", + Description: "A unique name for this policy. If the policy is default policy, its name should be \"Default policy\".", + MarkdownDescription: "A unique name for this policy. If the policy is default policy, its name should be \"Default policy\".", Required: true, }, "is_default_policy": schema.BoolAttribute{ - Description: "Specifies if the policy is default policy. Default policy applies to all files not selected by higher-priority policies.", - MarkdownDescription: "Specifies if the policy is default policy. Default policy applies to all files not selected by higher-priority policies.", - Optional: true, + Description: "Specifies if the policy is default policy. Default policy applies to all files not selected by higher-priority policies." + + " Cannot be updated.", + MarkdownDescription: "Specifies if the policy is default policy. Default policy applies to all files not selected by higher-priority policies." + + " Cannot be updated.", + Optional: true, }, "file_matching_pattern": schema.SingleNestedAttribute{ - Description: "Specifies the file matching rules for determining which files will be managed by this policy. (Update Supported)", - MarkdownDescription: "Specifies the file matching rules for determining which files will be managed by this policy. (Update Supported)", + Description: "Specifies the file matching rules for determining which files will be managed by this policy.", + MarkdownDescription: "Specifies the file matching rules for determining which files will be managed by this policy.", Optional: true, Attributes: map[string]schema.Attribute{ "or_criteria": schema.ListNestedAttribute{ @@ -150,8 +152,8 @@ func (r *FilePoolPolicyResource) Schema(ctx context.Context, req resource.Schema }, }, "actions": schema.ListNestedAttribute{ - Description: "A list of actions to be taken for matching files. (Update Supported)", - MarkdownDescription: "A list of actions to be taken for matching files. (Update Supported)", + Description: "A list of actions to be taken for matching files.", + MarkdownDescription: "A list of actions to be taken for matching files.", Optional: true, NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ @@ -302,14 +304,14 @@ func (r *FilePoolPolicyResource) Schema(ctx context.Context, req resource.Schema }, }, "apply_order": schema.Int64Attribute{ - Description: "The order in which this policy should be applied (relative to other policies). (Update Supported)", - MarkdownDescription: "The order in which this policy should be applied (relative to other policies). (Update Supported)", + Description: "The order in which this policy should be applied (relative to other policies).", + MarkdownDescription: "The order in which this policy should be applied (relative to other policies).", Optional: true, Computed: true, }, "description": schema.StringAttribute{ - Description: "A description for this File Pool Policy. (Update Supported)", - MarkdownDescription: "A description for this File Pool Policy. (Update Supported)", + Description: "A description for this File Pool Policy.", + MarkdownDescription: "A description for this File Pool Policy.", Optional: true, Computed: true, }, diff --git a/powerscale/provider/groupnet_resource.go b/powerscale/provider/groupnet_resource.go index 757d327..ceb5f5b 100644 --- a/powerscale/provider/groupnet_resource.go +++ b/powerscale/provider/groupnet_resource.go @@ -65,8 +65,8 @@ func (r *GroupnetResource) Schema(ctx context.Context, req resource.SchemaReques Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "The name of the groupnet. (Update Supported)", - MarkdownDescription: "The name of the groupnet. (Update Supported)", + Description: "The name of the groupnet.", + MarkdownDescription: "The name of the groupnet.", Required: true, Validators: []validator.String{ stringvalidator.LengthBetween(1, 32), @@ -81,42 +81,42 @@ func (r *GroupnetResource) Schema(ctx context.Context, req resource.SchemaReques Computed: true, }, "description": schema.StringAttribute{ - Description: "A description of the groupnet. (Update Supported)", - MarkdownDescription: "A description of the groupnet. (Update Supported)", + Description: "A description of the groupnet.", + MarkdownDescription: "A description of the groupnet.", Optional: true, Validators: []validator.String{stringvalidator.LengthBetween(1, 128)}, }, "allow_wildcard_subdomains": schema.BoolAttribute{ - Description: "If enabled, SmartConnect treats subdomains of known dns zones as the known dns zone. This is required for S3 Virtual Host domains. Defaults to True. (Update Supported)", - MarkdownDescription: "If enabled, SmartConnect treats subdomains of known dns zones as the known dns zone. This is required for S3 Virtual Host domains. Defaults to True. (Update Supported)", + Description: "If enabled, SmartConnect treats subdomains of known dns zones as the known dns zone. This is required for S3 Virtual Host domains. Defaults to True.", + MarkdownDescription: "If enabled, SmartConnect treats subdomains of known dns zones as the known dns zone. This is required for S3 Virtual Host domains. Defaults to True.", Optional: true, Computed: true, Default: booldefault.StaticBool(true), }, "dns_cache_enabled": schema.BoolAttribute{ - Description: "DNS caching is enabled or disabled. Defaults to True. (Update Supported)", - MarkdownDescription: "DNS caching is enabled or disabled. Defaults to True. (Update Supported)", + Description: "DNS caching is enabled or disabled. Defaults to True.", + MarkdownDescription: "DNS caching is enabled or disabled. Defaults to True.", Optional: true, Computed: true, Default: booldefault.StaticBool(true), }, "server_side_dns_search": schema.BoolAttribute{ - Description: "Enable or disable appending nodes DNS search list to client DNS inquiries directed at SmartConnect service IP. Defaults to True. (Update Supported)", - MarkdownDescription: "Enable or disable appending nodes DNS search list to client DNS inquiries directed at SmartConnect service IP. Defaults to True. (Update Supported)", + Description: "Enable or disable appending nodes DNS search list to client DNS inquiries directed at SmartConnect service IP. Defaults to True.", + MarkdownDescription: "Enable or disable appending nodes DNS search list to client DNS inquiries directed at SmartConnect service IP. Defaults to True.", Optional: true, Computed: true, Default: booldefault.StaticBool(true), }, "dns_resolver_rotate": schema.BoolAttribute{ - Description: "Enable or disable DNS resolver rotate. Defaults to False. (Update Supported)", - MarkdownDescription: "Enable or disable DNS resolver rotate. Defaults to False. (Update Supported)", + Description: "Enable or disable DNS resolver rotate. Defaults to False.", + MarkdownDescription: "Enable or disable DNS resolver rotate. Defaults to False.", Optional: true, Computed: true, Default: booldefault.StaticBool(false), }, "dns_search": schema.ListAttribute{ - Description: "List of DNS search suffixes. (Update Supported)", - MarkdownDescription: "List of DNS search suffixes. (Update Supported)", + Description: "List of DNS search suffixes.", + MarkdownDescription: "List of DNS search suffixes.", ElementType: types.StringType, Optional: true, Validators: []validator.List{ @@ -126,8 +126,8 @@ func (r *GroupnetResource) Schema(ctx context.Context, req resource.SchemaReques }, }, "dns_servers": schema.ListAttribute{ - Description: "List of Domain Name Server IP addresses. (Update Supported)", - MarkdownDescription: "List of Domain Name Server IP addresses. (Update Supported)", + Description: "List of Domain Name Server IP addresses.", + MarkdownDescription: "List of Domain Name Server IP addresses.", ElementType: types.StringType, Optional: true, Validators: []validator.List{ diff --git a/powerscale/provider/ldap_provider_resource.go b/powerscale/provider/ldap_provider_resource.go index 59bbe77..8600258 100644 --- a/powerscale/provider/ldap_provider_resource.go +++ b/powerscale/provider/ldap_provider_resource.go @@ -65,8 +65,8 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe Attributes: map[string]schema.Attribute{ // Query param when creating and updating "ignore_unresolvable_server_urls": schema.BoolAttribute{ - Description: "Ignore unresolvable server URIs when creating and updating. (Update Supported)", - MarkdownDescription: "Ignore unresolvable server URIs when creating and updating. (Update Supported)", + Description: "Ignore unresolvable server URIs when creating and updating.", + MarkdownDescription: "Ignore unresolvable server URIs when creating and updating.", Optional: true, }, // Get params @@ -82,31 +82,31 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, // Create params "groupnet": schema.StringAttribute{ - Description: "Groupnet identifier. ", - MarkdownDescription: "Groupnet identifier. ", + Description: "Groupnet identifier. Cannot be updated.", + MarkdownDescription: "Groupnet identifier. Cannot be updated.", Optional: true, Computed: true, }, // Required params "name": schema.StringAttribute{ - Description: "Specifies the name of the LDAP provider. (Update Supported)", - MarkdownDescription: "Specifies the name of the LDAP provider. (Update Supported)", + Description: "Specifies the name of the LDAP provider.", + MarkdownDescription: "Specifies the name of the LDAP provider.", Required: true, Validators: []validator.String{ stringvalidator.LengthAtLeast(1), }, }, "base_dn": schema.StringAttribute{ - Description: "Specifies the root of the tree in which to search identities. (Update Supported)", - MarkdownDescription: "Specifies the root of the tree in which to search identities. (Update Supported)", + Description: "Specifies the root of the tree in which to search identities.", + MarkdownDescription: "Specifies the root of the tree in which to search identities.", Required: true, Validators: []validator.String{ stringvalidator.LengthAtLeast(1), }, }, "server_uris": schema.ListAttribute{ - Description: "Specifies the server URIs. (Update Supported)", - MarkdownDescription: "Specifies the server URIs. (Update Supported)", + Description: "Specifies the server URIs.", + MarkdownDescription: "Specifies the server URIs.", Required: true, ElementType: types.StringType, Validators: []validator.List{ @@ -117,14 +117,14 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, // Create and Update params - only available for PowerScale 9.5 and above "tls_revocation_check_level": schema.StringAttribute{ - Description: "This setting controls the behavior of the certificate revocation checking algorithm when the LDAP provider is presented with a digital certificate by an LDAP server. Acceptable values: \"none\", \"allowNoData\", \"allowNoSrc\", \"strict\". Only available for PowerScale 9.5 and above. (Update Supported)", - MarkdownDescription: "This setting controls the behavior of the certificate revocation checking algorithm when the LDAP provider is presented with a digital certificate by an LDAP server. Acceptable values: \"none\", \"allowNoData\", \"allowNoSrc\", \"strict\". Only available for PowerScale 9.5 and above. (Update Supported)", + Description: "This setting controls the behavior of the certificate revocation checking algorithm when the LDAP provider is presented with a digital certificate by an LDAP server. Acceptable values: \"none\", \"allowNoData\", \"allowNoSrc\", \"strict\". Only available for PowerScale 9.5 and above.", + MarkdownDescription: "This setting controls the behavior of the certificate revocation checking algorithm when the LDAP provider is presented with a digital certificate by an LDAP server. Acceptable values: \"none\", \"allowNoData\", \"allowNoSrc\", \"strict\". Only available for PowerScale 9.5 and above.", Optional: true, Computed: true, }, "ocsp_server_uris": schema.ListAttribute{ - Description: "Specifies the OCSP server URIs. Only available for PowerScale 9.5 and above. (Update Supported)", - MarkdownDescription: "Specifies the OCSP server URIs. Only available for PowerScale 9.5 and above. (Update Supported)", + Description: "Specifies the OCSP server URIs. Only available for PowerScale 9.5 and above.", + MarkdownDescription: "Specifies the OCSP server URIs. Only available for PowerScale 9.5 and above.", Optional: true, Computed: true, ElementType: types.StringType, @@ -136,86 +136,86 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, // Create and Update params "authentication": schema.BoolAttribute{ - Description: "If true, enables authentication and identity management through the authentication provider. (Update Supported)", - MarkdownDescription: "If true, enables authentication and identity management through the authentication provider. (Update Supported)", + Description: "If true, enables authentication and identity management through the authentication provider.", + MarkdownDescription: "If true, enables authentication and identity management through the authentication provider.", Optional: true, Computed: true, }, "balance_servers": schema.BoolAttribute{ - Description: "If true, connects the provider to a random server. (Update Supported)", - MarkdownDescription: "If true, connects the provider to a random server. (Update Supported)", + Description: "If true, connects the provider to a random server.", + MarkdownDescription: "If true, connects the provider to a random server.", Optional: true, Computed: true, }, "create_home_directory": schema.BoolAttribute{ - Description: "Automatically create the home directory on the first login. (Update Supported)", - MarkdownDescription: "Automatically create the home directory on the first login. (Update Supported)", + Description: "Automatically create the home directory on the first login.", + MarkdownDescription: "Automatically create the home directory on the first login.", Optional: true, Computed: true, }, "enabled": schema.BoolAttribute{ - Description: "If true, enables the LDAP provider. (Update Supported)", - MarkdownDescription: "If true, enables the LDAP provider. (Update Supported)", + Description: "If true, enables the LDAP provider.", + MarkdownDescription: "If true, enables the LDAP provider.", Optional: true, Computed: true, }, "enumerate_groups": schema.BoolAttribute{ - Description: "If true, allows the provider to enumerate groups. (Update Supported)", - MarkdownDescription: "If true, allows the provider to enumerate groups. (Update Supported)", + Description: "If true, allows the provider to enumerate groups.", + MarkdownDescription: "If true, allows the provider to enumerate groups.", Optional: true, Computed: true, }, "enumerate_users": schema.BoolAttribute{ - Description: "If true, allows the provider to enumerate users. (Update Supported)", - MarkdownDescription: "If true, allows the provider to enumerate users. (Update Supported)", + Description: "If true, allows the provider to enumerate users.", + MarkdownDescription: "If true, allows the provider to enumerate users.", Optional: true, Computed: true, }, "ignore_tls_errors": schema.BoolAttribute{ - Description: "If true, continues over secure connections even if identity checks fail. (Update Supported)", - MarkdownDescription: "If true, continues over secure connections even if identity checks fail. (Update Supported)", + Description: "If true, continues over secure connections even if identity checks fail.", + MarkdownDescription: "If true, continues over secure connections even if identity checks fail.", Optional: true, Computed: true, }, "normalize_groups": schema.BoolAttribute{ - Description: "Normalizes group names to lowercase before look up. (Update Supported)", - MarkdownDescription: "Normalizes group names to lowercase before look up. (Update Supported)", + Description: "Normalizes group names to lowercase before look up.", + MarkdownDescription: "Normalizes group names to lowercase before look up.", Optional: true, Computed: true, }, "normalize_users": schema.BoolAttribute{ - Description: "Normalizes user names to lowercase before look up. (Update Supported)", - MarkdownDescription: "Normalizes user names to lowercase before look up. (Update Supported)", + Description: "Normalizes user names to lowercase before look up.", + MarkdownDescription: "Normalizes user names to lowercase before look up.", Optional: true, Computed: true, }, "require_secure_connection": schema.BoolAttribute{ - Description: "Determines whether to continue over a non-TLS connection. (Update Supported)", - MarkdownDescription: "Determines whether to continue over a non-TLS connection. (Update Supported)", + Description: "Determines whether to continue over a non-TLS connection.", + MarkdownDescription: "Determines whether to continue over a non-TLS connection.", Optional: true, Computed: true, }, "restrict_findable": schema.BoolAttribute{ - Description: "If true, checks the provider for filtered lists of findable and unfindable users and groups. (Update Supported)", - MarkdownDescription: "If true, checks the provider for filtered lists of findable and unfindable users and groups. (Update Supported)", + Description: "If true, checks the provider for filtered lists of findable and unfindable users and groups.", + MarkdownDescription: "If true, checks the provider for filtered lists of findable and unfindable users and groups.", Optional: true, Computed: true, }, "restrict_listable": schema.BoolAttribute{ - Description: "If true, checks the provider for filtered lists of listable and unlistable users and groups. (Update Supported)", - MarkdownDescription: "If true, checks the provider for filtered lists of listable and unlistable users and groups. (Update Supported)", + Description: "If true, checks the provider for filtered lists of listable and unlistable users and groups.", + MarkdownDescription: "If true, checks the provider for filtered lists of listable and unlistable users and groups.", Optional: true, Computed: true, }, "system": schema.BoolAttribute{ - Description: "If true, indicates that this provider instance was created by OneFS and cannot be removed. (Update Supported)", - MarkdownDescription: "If true, indicates that this provider instance was created by OneFS and cannot be removed. (Update Supported)", + Description: "If true, indicates that this provider instance was created by OneFS and cannot be removed.", + MarkdownDescription: "If true, indicates that this provider instance was created by OneFS and cannot be removed.", Optional: true, Computed: true, }, "bind_timeout": schema.Int64Attribute{ - Description: "Specifies the timeout in seconds when binding to an LDAP server. (Update Supported)", - MarkdownDescription: "Specifies the timeout in seconds when binding to an LDAP server. (Update Supported)", + Description: "Specifies the timeout in seconds when binding to an LDAP server.", + MarkdownDescription: "Specifies the timeout in seconds when binding to an LDAP server.", Optional: true, Computed: true, Validators: []validator.Int64{ @@ -223,8 +223,8 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, }, "check_online_interval": schema.Int64Attribute{ - Description: "Specifies the time in seconds between provider online checks. (Update Supported)", - MarkdownDescription: "Specifies the time in seconds between provider online checks. (Update Supported)", + Description: "Specifies the time in seconds between provider online checks.", + MarkdownDescription: "Specifies the time in seconds between provider online checks.", Optional: true, Computed: true, Validators: []validator.Int64{ @@ -232,8 +232,8 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, }, "search_timeout": schema.Int64Attribute{ - Description: "Specifies the search timeout period in seconds. (Update Supported)", - MarkdownDescription: "Specifies the search timeout period in seconds. (Update Supported)", + Description: "Specifies the search timeout period in seconds.", + MarkdownDescription: "Specifies the search timeout period in seconds.", Optional: true, Computed: true, Validators: []validator.Int64{ @@ -241,8 +241,8 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, }, "findable_groups": schema.ListAttribute{ - Description: "Specifies the list of groups that can be resolved. (Update Supported)", - MarkdownDescription: "Specifies the list of groups that can be resolved. (Update Supported)", + Description: "Specifies the list of groups that can be resolved.", + MarkdownDescription: "Specifies the list of groups that can be resolved.", Optional: true, Computed: true, ElementType: types.StringType, @@ -252,8 +252,8 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, }, "findable_users": schema.ListAttribute{ - Description: "Specifies the list of users that can be resolved. (Update Supported)", - MarkdownDescription: "Specifies the list of users that can be resolved. (Update Supported)", + Description: "Specifies the list of users that can be resolved.", + MarkdownDescription: "Specifies the list of users that can be resolved.", Optional: true, Computed: true, ElementType: types.StringType, @@ -263,8 +263,8 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, }, "listable_groups": schema.ListAttribute{ - Description: "Specifies the groups that can be viewed in the provider. (Update Supported)", - MarkdownDescription: "Specifies the groups that can be viewed in the provider. (Update Supported)", + Description: "Specifies the groups that can be viewed in the provider.", + MarkdownDescription: "Specifies the groups that can be viewed in the provider.", Optional: true, Computed: true, ElementType: types.StringType, @@ -274,8 +274,8 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, }, "listable_users": schema.ListAttribute{ - Description: "Specifies the users that can be viewed in the provider. (Update Supported)", - MarkdownDescription: "Specifies the users that can be viewed in the provider. (Update Supported)", + Description: "Specifies the users that can be viewed in the provider.", + MarkdownDescription: "Specifies the users that can be viewed in the provider.", Optional: true, Computed: true, ElementType: types.StringType, @@ -285,8 +285,8 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, }, "unfindable_groups": schema.ListAttribute{ - Description: "Specifies the groups that cannot be resolved by the provider. (Update Supported)", - MarkdownDescription: "Specifies the groups that cannot be resolved by the provider. (Update Supported)", + Description: "Specifies the groups that cannot be resolved by the provider.", + MarkdownDescription: "Specifies the groups that cannot be resolved by the provider.", Optional: true, Computed: true, ElementType: types.StringType, @@ -296,8 +296,8 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, }, "unfindable_users": schema.ListAttribute{ - Description: "Specifies users that cannot be resolved by the provider. (Update Supported)", - MarkdownDescription: "Specifies users that cannot be resolved by the provider. (Update Supported)", + Description: "Specifies users that cannot be resolved by the provider.", + MarkdownDescription: "Specifies users that cannot be resolved by the provider.", Optional: true, Computed: true, ElementType: types.StringType, @@ -307,8 +307,8 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, }, "unlistable_groups": schema.ListAttribute{ - Description: "Specifies a group that cannot be listed by the provider. (Update Supported)", - MarkdownDescription: "Specifies a group that cannot be listed by the provider. (Update Supported)", + Description: "Specifies a group that cannot be listed by the provider.", + MarkdownDescription: "Specifies a group that cannot be listed by the provider.", Optional: true, Computed: true, ElementType: types.StringType, @@ -318,8 +318,8 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, }, "unlistable_users": schema.ListAttribute{ - Description: "Specifies a user that cannot be listed by the provider. (Update Supported)", - MarkdownDescription: "Specifies a user that cannot be listed by the provider. (Update Supported)", + Description: "Specifies a user that cannot be listed by the provider.", + MarkdownDescription: "Specifies a user that cannot be listed by the provider.", Optional: true, Computed: true, ElementType: types.StringType, @@ -329,44 +329,44 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, }, "alternate_security_identities_attribute": schema.StringAttribute{ - Description: "Specifies the attribute name used when searching for alternate security identities. (Update Supported)", - MarkdownDescription: "Specifies the attribute name used when searching for alternate security identities. (Update Supported)", + Description: "Specifies the attribute name used when searching for alternate security identities.", + MarkdownDescription: "Specifies the attribute name used when searching for alternate security identities.", Optional: true, Computed: true, }, "bind_dn": schema.StringAttribute{ - Description: "Specifies the distinguished name for binding to the LDAP server. (Update Supported)", - MarkdownDescription: "Specifies the distinguished name for binding to the LDAP server. (Update Supported)", + Description: "Specifies the distinguished name for binding to the LDAP server.", + MarkdownDescription: "Specifies the distinguished name for binding to the LDAP server.", Optional: true, Computed: true, }, "bind_mechanism": schema.StringAttribute{ - Description: "Specifies which bind mechanism to use when connecting to an LDAP server. The only supported option is the 'simple' value. (Update Supported)", - MarkdownDescription: "Specifies which bind mechanism to use when connecting to an LDAP server. The only supported option is the 'simple' value. (Update Supported)", + Description: "Specifies which bind mechanism to use when connecting to an LDAP server. The only supported option is the 'simple' value.", + MarkdownDescription: "Specifies which bind mechanism to use when connecting to an LDAP server. The only supported option is the 'simple' value.", Optional: true, Computed: true, }, "certificate_authority_file": schema.StringAttribute{ - Description: "Specifies the path to the root certificates file. (Update Supported)", - MarkdownDescription: "Specifies the path to the root certificates file. (Update Supported)", + Description: "Specifies the path to the root certificates file.", + MarkdownDescription: "Specifies the path to the root certificates file.", Optional: true, Computed: true, }, "cn_attribute": schema.StringAttribute{ - Description: "Specifies the canonical name. (Update Supported)", - MarkdownDescription: "Specifies the canonical name. (Update Supported)", + Description: "Specifies the canonical name.", + MarkdownDescription: "Specifies the canonical name.", Optional: true, Computed: true, }, "crypt_password_attribute": schema.StringAttribute{ - Description: "Specifies the hashed password value. (Update Supported)", - MarkdownDescription: "Specifies the hashed password value. (Update Supported)", + Description: "Specifies the hashed password value.", + MarkdownDescription: "Specifies the hashed password value.", Optional: true, Computed: true, }, "email_attribute": schema.StringAttribute{ - Description: "Specifies the LDAP Email attribute. (Update Supported)", - MarkdownDescription: "Specifies the LDAP Email attribute. (Update Supported)", + Description: "Specifies the LDAP Email attribute.", + MarkdownDescription: "Specifies the LDAP Email attribute.", Optional: true, Computed: true, Validators: []validator.String{ @@ -374,242 +374,242 @@ func (r *LdapProviderResource) Schema(ctx context.Context, req resource.SchemaRe }, }, "gecos_attribute": schema.StringAttribute{ - Description: "Specifies the LDAP GECOS attribute. (Update Supported)", - MarkdownDescription: "Specifies the LDAP GECOS attribute. (Update Supported)", + Description: "Specifies the LDAP GECOS attribute.", + MarkdownDescription: "Specifies the LDAP GECOS attribute.", Optional: true, Computed: true, }, "gid_attribute": schema.StringAttribute{ - Description: "Specifies the LDAP GID attribute. (Update Supported)", - MarkdownDescription: "Specifies the LDAP GID attribute. (Update Supported)", + Description: "Specifies the LDAP GID attribute.", + MarkdownDescription: "Specifies the LDAP GID attribute.", Optional: true, Computed: true, }, "group_base_dn": schema.StringAttribute{ - Description: "Specifies the distinguished name of the entry where LDAP searches for groups are started. (Update Supported)", - MarkdownDescription: "Specifies the distinguished name of the entry where LDAP searches for groups are started. (Update Supported)", + Description: "Specifies the distinguished name of the entry where LDAP searches for groups are started.", + MarkdownDescription: "Specifies the distinguished name of the entry where LDAP searches for groups are started.", Optional: true, Computed: true, }, "group_domain": schema.StringAttribute{ - Description: "Specifies the domain for this provider through which groups are qualified. (Update Supported)", - MarkdownDescription: "Specifies the domain for this provider through which groups are qualified. (Update Supported)", + Description: "Specifies the domain for this provider through which groups are qualified.", + MarkdownDescription: "Specifies the domain for this provider through which groups are qualified.", Optional: true, Computed: true, }, "group_filter": schema.StringAttribute{ - Description: "Specifies the LDAP filter for group objects. (Update Supported)", - MarkdownDescription: "Specifies the LDAP filter for group objects. (Update Supported)", + Description: "Specifies the LDAP filter for group objects.", + MarkdownDescription: "Specifies the LDAP filter for group objects.", Optional: true, Computed: true, }, "group_members_attribute": schema.StringAttribute{ - Description: "Specifies the LDAP Group Members attribute. (Update Supported)", - MarkdownDescription: "Specifies the LDAP Group Members attribute. (Update Supported)", + Description: "Specifies the LDAP Group Members attribute.", + MarkdownDescription: "Specifies the LDAP Group Members attribute.", Optional: true, Computed: true, }, "group_search_scope": schema.StringAttribute{ - Description: "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\". (Update Supported)", - MarkdownDescription: "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\". (Update Supported)", + Description: "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".", + MarkdownDescription: "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".", Optional: true, Computed: true, }, "home_directory_template": schema.StringAttribute{ - Description: "Specifies the path to the home directory template. (Update Supported)", - MarkdownDescription: "Specifies the path to the home directory template. (Update Supported)", + Description: "Specifies the path to the home directory template.", + MarkdownDescription: "Specifies the path to the home directory template.", Optional: true, Computed: true, }, "homedir_attribute": schema.StringAttribute{ - Description: "Specifies the LDAP Homedir attribute. (Update Supported)", - MarkdownDescription: "Specifies the LDAP Homedir attribute. (Update Supported)", + Description: "Specifies the LDAP Homedir attribute.", + MarkdownDescription: "Specifies the LDAP Homedir attribute.", Optional: true, Computed: true, }, "login_shell": schema.StringAttribute{ - Description: "Specifies the login shell path. (Update Supported)", - MarkdownDescription: "Specifies the login shell path. (Update Supported)", + Description: "Specifies the login shell path.", + MarkdownDescription: "Specifies the login shell path.", Optional: true, Computed: true, }, "member_lookup_method": schema.StringAttribute{ - Description: "Sets the method by which group member lookups are performed. Use caution when changing this option directly. Acceptable values: \"default\", \"rfc2307bis\". (Update Supported)", - MarkdownDescription: "Sets the method by which group member lookups are performed. Use caution when changing this option directly. Acceptable values: \"default\", \"rfc2307bis\". (Update Supported)", + Description: "Sets the method by which group member lookups are performed. Use caution when changing this option directly. Acceptable values: \"default\", \"rfc2307bis\".", + MarkdownDescription: "Sets the method by which group member lookups are performed. Use caution when changing this option directly. Acceptable values: \"default\", \"rfc2307bis\".", Optional: true, Computed: true, }, "member_of_attribute": schema.StringAttribute{ - Description: "Specifies the LDAP Query Member Of attribute, which performs reverse membership queries. (Update Supported)", - MarkdownDescription: "Specifies the LDAP Query Member Of attribute, which performs reverse membership queries. (Update Supported)", + Description: "Specifies the LDAP Query Member Of attribute, which performs reverse membership queries.", + MarkdownDescription: "Specifies the LDAP Query Member Of attribute, which performs reverse membership queries.", Optional: true, Computed: true, }, "name_attribute": schema.StringAttribute{ - Description: "Specifies the LDAP UID attribute, which is used as the login name. (Update Supported)", - MarkdownDescription: "Specifies the LDAP UID attribute, which is used as the login name. (Update Supported)", + Description: "Specifies the LDAP UID attribute, which is used as the login name.", + MarkdownDescription: "Specifies the LDAP UID attribute, which is used as the login name.", Optional: true, Computed: true, }, "netgroup_base_dn": schema.StringAttribute{ - Description: "Specifies the distinguished name of the entry where LDAP searches for netgroups are started. (Update Supported)", - MarkdownDescription: "Specifies the distinguished name of the entry where LDAP searches for netgroups are started. (Update Supported)", + Description: "Specifies the distinguished name of the entry where LDAP searches for netgroups are started.", + MarkdownDescription: "Specifies the distinguished name of the entry where LDAP searches for netgroups are started.", Optional: true, Computed: true, }, "netgroup_filter": schema.StringAttribute{ - Description: "Specifies the LDAP filter for netgroup objects. (Update Supported)", - MarkdownDescription: "Specifies the LDAP filter for netgroup objects. (Update Supported)", + Description: "Specifies the LDAP filter for netgroup objects.", + MarkdownDescription: "Specifies the LDAP filter for netgroup objects.", Optional: true, Computed: true, }, "netgroup_members_attribute": schema.StringAttribute{ - Description: "Specifies the LDAP Netgroup Members attribute. (Update Supported)", - MarkdownDescription: "Specifies the LDAP Netgroup Members attribute. (Update Supported)", + Description: "Specifies the LDAP Netgroup Members attribute.", + MarkdownDescription: "Specifies the LDAP Netgroup Members attribute.", Optional: true, Computed: true, }, "netgroup_search_scope": schema.StringAttribute{ - Description: "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\". (Update Supported)", - MarkdownDescription: "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\". (Update Supported)", + Description: "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".", + MarkdownDescription: "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".", Optional: true, Computed: true, }, "netgroup_triple_attribute": schema.StringAttribute{ - Description: "Specifies the LDAP Netgroup Triple attribute. (Update Supported)", - MarkdownDescription: "Specifies the LDAP Netgroup Triple attribute. (Update Supported)", + Description: "Specifies the LDAP Netgroup Triple attribute.", + MarkdownDescription: "Specifies the LDAP Netgroup Triple attribute.", Optional: true, Computed: true, }, "nt_password_attribute": schema.StringAttribute{ - Description: "Specifies the LDAP NT Password attribute. (Update Supported)", - MarkdownDescription: "Specifies the LDAP NT Password attribute. (Update Supported)", + Description: "Specifies the LDAP NT Password attribute.", + MarkdownDescription: "Specifies the LDAP NT Password attribute.", Optional: true, Computed: true, }, "ntlm_support": schema.StringAttribute{ - Description: "Specifies which NTLM versions to support for users with NTLM-compatible credentials. Acceptable values: \"all\", \"v2only\", \"none\". (Update Supported)", - MarkdownDescription: "Specifies which NTLM versions to support for users with NTLM-compatible credentials. Acceptable values: \"all\", \"v2only\", \"none\". (Update Supported)", + Description: "Specifies which NTLM versions to support for users with NTLM-compatible credentials. Acceptable values: \"all\", \"v2only\", \"none\".", + MarkdownDescription: "Specifies which NTLM versions to support for users with NTLM-compatible credentials. Acceptable values: \"all\", \"v2only\", \"none\".", Optional: true, Computed: true, }, "provider_domain": schema.StringAttribute{ - Description: "Specifies the provider domain. (Update Supported)", - MarkdownDescription: "Specifies the provider domain. (Update Supported)", + Description: "Specifies the provider domain.", + MarkdownDescription: "Specifies the provider domain.", Optional: true, Computed: true, }, "search_scope": schema.StringAttribute{ - Description: "Specifies the default depth from the base DN to perform LDAP searches. Acceptable values: \"base\", \"onelevel\", \"subtree\", \"children\". (Update Supported)", - MarkdownDescription: "Specifies the default depth from the base DN to perform LDAP searches. Acceptable values: \"base\", \"onelevel\", \"subtree\", \"children\". (Update Supported)", + Description: "Specifies the default depth from the base DN to perform LDAP searches. Acceptable values: \"base\", \"onelevel\", \"subtree\", \"children\".", + MarkdownDescription: "Specifies the default depth from the base DN to perform LDAP searches. Acceptable values: \"base\", \"onelevel\", \"subtree\", \"children\".", Optional: true, Computed: true, }, "shadow_expire_attribute": schema.StringAttribute{ - Description: "Sets the attribute name that indicates the absolute date to expire the account. (Update Supported)", - MarkdownDescription: "Sets the attribute name that indicates the absolute date to expire the account. (Update Supported)", + Description: "Sets the attribute name that indicates the absolute date to expire the account.", + MarkdownDescription: "Sets the attribute name that indicates the absolute date to expire the account.", Optional: true, Computed: true, }, "shadow_flag_attribute": schema.StringAttribute{ - Description: "Sets the attribute name that indicates the section of the shadow map that is used to store the flag value. (Update Supported)", - MarkdownDescription: "Sets the attribute name that indicates the section of the shadow map that is used to store the flag value. (Update Supported)", + Description: "Sets the attribute name that indicates the section of the shadow map that is used to store the flag value.", + MarkdownDescription: "Sets the attribute name that indicates the section of the shadow map that is used to store the flag value.", Optional: true, Computed: true, }, "shadow_inactive_attribute": schema.StringAttribute{ - Description: "Sets the attribute name that indicates the number of days of inactivity that is allowed for the user. (Update Supported)", - MarkdownDescription: "Sets the attribute name that indicates the number of days of inactivity that is allowed for the user. (Update Supported)", + Description: "Sets the attribute name that indicates the number of days of inactivity that is allowed for the user.", + MarkdownDescription: "Sets the attribute name that indicates the number of days of inactivity that is allowed for the user.", Optional: true, Computed: true, }, "shadow_last_change_attribute": schema.StringAttribute{ - Description: "Sets the attribute name that indicates the last change of the shadow information. (Update Supported)", - MarkdownDescription: "Sets the attribute name that indicates the last change of the shadow information. (Update Supported)", + Description: "Sets the attribute name that indicates the last change of the shadow information.", + MarkdownDescription: "Sets the attribute name that indicates the last change of the shadow information.", Optional: true, Computed: true, }, "shadow_max_attribute": schema.StringAttribute{ - Description: "Sets the attribute name that indicates the maximum number of days a password can be valid. (Update Supported)", - MarkdownDescription: "Sets the attribute name that indicates the maximum number of days a password can be valid. (Update Supported)", + Description: "Sets the attribute name that indicates the maximum number of days a password can be valid.", + MarkdownDescription: "Sets the attribute name that indicates the maximum number of days a password can be valid.", Optional: true, Computed: true, }, "shadow_min_attribute": schema.StringAttribute{ - Description: "Sets the attribute name that indicates the minimum number of days between shadow changes. (Update Supported)", - MarkdownDescription: "Sets the attribute name that indicates the minimum number of days between shadow changes. (Update Supported)", + Description: "Sets the attribute name that indicates the minimum number of days between shadow changes.", + MarkdownDescription: "Sets the attribute name that indicates the minimum number of days between shadow changes.", Optional: true, Computed: true, }, "shadow_user_filter": schema.StringAttribute{ - Description: "Sets LDAP filter for shadow user objects. (Update Supported)", - MarkdownDescription: "Sets LDAP filter for shadow user objects. (Update Supported)", + Description: "Sets LDAP filter for shadow user objects.", + MarkdownDescription: "Sets LDAP filter for shadow user objects.", Optional: true, Computed: true, }, "shadow_warning_attribute": schema.StringAttribute{ - Description: "Sets the attribute name that indicates the number of days before the password expires to warn the user. (Update Supported)", - MarkdownDescription: "Sets the attribute name that indicates the number of days before the password expires to warn the user. (Update Supported)", + Description: "Sets the attribute name that indicates the number of days before the password expires to warn the user.", + MarkdownDescription: "Sets the attribute name that indicates the number of days before the password expires to warn the user.", Optional: true, Computed: true, }, "shell_attribute": schema.StringAttribute{ - Description: "Specifies the LDAP Shell attribute. (Update Supported)", - MarkdownDescription: "Specifies the LDAP Shell attribute. (Update Supported)", + Description: "Specifies the LDAP Shell attribute.", + MarkdownDescription: "Specifies the LDAP Shell attribute.", Optional: true, Computed: true, }, "ssh_public_key_attribute": schema.StringAttribute{ - Description: "Sets the attribute name that indicates the SSH Public Key for the user. (Update Supported)", - MarkdownDescription: "Sets the attribute name that indicates the SSH Public Key for the user. (Update Supported)", + Description: "Sets the attribute name that indicates the SSH Public Key for the user.", + MarkdownDescription: "Sets the attribute name that indicates the SSH Public Key for the user.", Optional: true, Computed: true, }, "status": schema.StringAttribute{ - Description: "Specifies the status of the provider. (Update Supported)", - MarkdownDescription: "Specifies the status of the provider. (Update Supported)", + Description: "Specifies the status of the provider.", + MarkdownDescription: "Specifies the status of the provider.", Optional: true, Computed: true, }, "tls_protocol_min": schema.StringAttribute{ - Description: "Specifies the minimum TLS protocol version. (Update Supported)", - MarkdownDescription: "Specifies the minimum TLS protocol version. (Update Supported)", + Description: "Specifies the minimum TLS protocol version.", + MarkdownDescription: "Specifies the minimum TLS protocol version.", Optional: true, Computed: true, }, "uid_attribute": schema.StringAttribute{ - Description: "Specifies the LDAP UID Number attribute. (Update Supported)", - MarkdownDescription: "Specifies the LDAP UID Number attribute. (Update Supported)", + Description: "Specifies the LDAP UID Number attribute.", + MarkdownDescription: "Specifies the LDAP UID Number attribute.", Optional: true, Computed: true, }, "unique_group_members_attribute": schema.StringAttribute{ - Description: "Sets the LDAP Unique Group Members attribute. (Update Supported)", - MarkdownDescription: "Sets the LDAP Unique Group Members attribute. (Update Supported)", + Description: "Sets the LDAP Unique Group Members attribute.", + MarkdownDescription: "Sets the LDAP Unique Group Members attribute.", Optional: true, Computed: true, }, "user_base_dn": schema.StringAttribute{ - Description: "Specifies the distinguished name of the entry at which to start LDAP searches for users. (Update Supported)", - MarkdownDescription: "Specifies the distinguished name of the entry at which to start LDAP searches for users. (Update Supported)", + Description: "Specifies the distinguished name of the entry at which to start LDAP searches for users.", + MarkdownDescription: "Specifies the distinguished name of the entry at which to start LDAP searches for users.", Optional: true, Computed: true, }, "user_domain": schema.StringAttribute{ - Description: "Specifies the domain for this provider through which users are qualified. (Update Supported)", - MarkdownDescription: "Specifies the domain for this provider through which users are qualified. (Update Supported)", + Description: "Specifies the domain for this provider through which users are qualified.", + MarkdownDescription: "Specifies the domain for this provider through which users are qualified.", Optional: true, Computed: true, }, "user_filter": schema.StringAttribute{ - Description: "Specifies the LDAP filter for user objects. (Update Supported)", - MarkdownDescription: "Specifies the LDAP filter for user objects. (Update Supported)", + Description: "Specifies the LDAP filter for user objects.", + MarkdownDescription: "Specifies the LDAP filter for user objects.", Optional: true, Computed: true, }, "user_search_scope": schema.StringAttribute{ - Description: "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\". (Update Supported)", - MarkdownDescription: "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\". (Update Supported)", + Description: "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".", + MarkdownDescription: "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".", Optional: true, Computed: true, }, diff --git a/powerscale/provider/network_setting_resource.go b/powerscale/provider/network_setting_resource.go index 98377f6..1267e33 100644 --- a/powerscale/provider/network_setting_resource.go +++ b/powerscale/provider/network_setting_resource.go @@ -78,21 +78,21 @@ func (r *NetworkSettingResource) Schema(ctx context.Context, req resource.Schema Computed: true, }, "source_based_routing_enabled": schema.BoolAttribute{ - Description: "Enable or disable Source Based Routing. (Update Supported)", - MarkdownDescription: "Enable or disable Source Based Routing. (Update Supported)", + Description: "Enable or disable Source Based Routing.", + MarkdownDescription: "Enable or disable Source Based Routing.", Optional: true, Computed: true, }, "sc_rebalance_delay": schema.Int64Attribute{ - Description: "Delay in seconds for IP rebalance. (Update Supported)", - MarkdownDescription: "Delay in seconds for IP rebalance. (Update Supported)", + Description: "Delay in seconds for IP rebalance.", + MarkdownDescription: "Delay in seconds for IP rebalance.", Optional: true, Computed: true, Validators: []validator.Int64{int64validator.Between(0, 10)}, }, "tcp_ports": schema.ListAttribute{ - Description: "List of client TCP ports. (Update Supported)", - MarkdownDescription: "List of client TCP ports. (Update Supported)", + Description: "List of client TCP ports.", + MarkdownDescription: "List of client TCP ports.", ElementType: types.Int64Type, Optional: true, Computed: true, diff --git a/powerscale/provider/s3_key_resource.go b/powerscale/provider/s3_key_resource.go index 3484728..419e5dd 100644 --- a/powerscale/provider/s3_key_resource.go +++ b/powerscale/provider/s3_key_resource.go @@ -37,10 +37,9 @@ import ( // Ensure provider defined types fully satisfy framework interfaces. var ( _ resource.Resource = &S3KeyResource{} - // _ resource.ResourceWithImportState = &S3KeyResource{} (can't support import due to secret key not present during read-refresh response). ) -// NewS3KeyResource returns the S3 Bucket resource object. +// NewS3KeyResource returns the S3 Key resource object. func NewS3KeyResource() resource.Resource { return &S3KeyResource{} } @@ -75,9 +74,13 @@ func (r *S3KeyResource) Metadata(ctx context.Context, req resource.MetadataReque func (r *S3KeyResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ // This description is used by the documentation generator and the language server. - MarkdownDescription: "This resource is used to manage the S3 Key of PowerScale Array. PowerScale S3 keys are used to sign the requests you send to the S3 protocol. We can Create, Update and Delete the S3 Bucket using this resource.", - Description: "This resource is used to manage the S3 Key of PowerScale Array. PowerScale S3 keys are used to sign the requests you send to the S3 protocol. We can Create, Update and Delete the S3 Bucket using this resource.", - Attributes: S3KeyResourceSchema(), + MarkdownDescription: "This resource is used to manage the S3 Key Entity of PowerScale Array." + + " PowerScale S3 keys are used to sign the requests you send to the S3 protocol." + + " We can Create, Update and Delete the S3 Key using this resource.", + Description: "This resource is used to manage the S3 Key Entity of PowerScale Array." + + " PowerScale S3 keys are used to sign the requests you send to the S3 protocol." + + " We can Create, Update and Delete the S3 Key using this resource.", + Attributes: S3KeyResourceSchema(), } } @@ -90,9 +93,11 @@ func S3KeyResourceSchema() map[string]schema.Attribute { Description: "Unique identifier of the S3 key.", }, "user": schema.StringAttribute{ - Required: true, - MarkdownDescription: "The username to create the S3 key.", - Description: "The username to create the S3 key.", + Required: true, + MarkdownDescription: "The username to create the S3 key." + + " This resource will be recreated if the value of this field is changed.", + Description: "The username to create the S3 key." + + " This resource will be recreated if the value of this field is changed.", Validators: []validator.String{ stringvalidator.LengthAtLeast(1), stringvalidator.RegexMatches(regexp.MustCompile(`^(?:\S.*\S|\S)$`), "must contain atleast one character and no leading or trailing spaces"), @@ -102,9 +107,11 @@ func S3KeyResourceSchema() map[string]schema.Attribute { }, }, "zone": schema.StringAttribute{ - Required: true, - MarkdownDescription: "The zone of the user.", - Description: "The zone of the user.", + Required: true, + MarkdownDescription: "The zone of the user." + + " This resource will be recreated if the value of this field is changed.", + Description: "The zone of the user." + + " This resource will be recreated if the value of this field is changed.", Validators: []validator.String{ stringvalidator.LengthAtLeast(1), stringvalidator.RegexMatches(regexp.MustCompile(`^(?:\S.*\S|\S)$`), "must contain atleast one character and no leading or trailing spaces"), diff --git a/powerscale/provider/s3_zone_settings_resource.go b/powerscale/provider/s3_zone_settings_resource.go index f81d32e..7c6fce4 100644 --- a/powerscale/provider/s3_zone_settings_resource.go +++ b/powerscale/provider/s3_zone_settings_resource.go @@ -74,9 +74,15 @@ func (r *S3ZoneSettingsResource) Metadata(_ context.Context, req resource.Metada // Schema defines the schema for the resource. func (r *S3ZoneSettingsResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ - MarkdownDescription: "Resource for managing S3ZoneSettings on PowerScale.", - Description: "This resource is used to manage the S3ZoneSettings of PowerScale Array. PowerScale S3 zone settings are used to configure the S3 zone of the S3 bucket.", - Attributes: S3ZoneSettingsSchema(), + MarkdownDescription: "This resource is used to manage the S3 Zone Settings entity of the PowerScale Array." + + " PowerScale S3 Zone Setting map to access zone configuration which provide default location for creating s3 buckets." + + " We can Create, Update and Delete the S3 Zone Setting using this resource." + + " We can also import an existing S3 Zone Settings from PowerScale array.", + Description: "This resource is used to manage the S3 Zone Settings entity of the PowerScale Array." + + " PowerScale S3 Zone Setting map to access zone configuration which provide default location for creating s3 buckets." + + " We can Create, Update and Delete the S3 Zone Setting using this resource." + + " We can also import an existing S3 Zone Settings from PowerScale array.", + Attributes: S3ZoneSettingsSchema(), } } @@ -84,9 +90,11 @@ func (r *S3ZoneSettingsResource) Schema(_ context.Context, _ resource.SchemaRequ func S3ZoneSettingsSchema() map[string]schema.Attribute { return map[string]schema.Attribute{ "zone": schema.StringAttribute{ - MarkdownDescription: "The name of the access zone you want to update settings for s3 service", - Description: "The name of the access zone you want to update settings for s3 service", - Required: true, + MarkdownDescription: "The name of the access zone you want to update settings for s3 service." + + " If this field is updated, Terraform will delete and then recreate this resource.", + Description: "The name of the access zone you want to update settings for s3 service." + + " If this field is updated, Terraform will delete and then recreate this resource.", + Required: true, PlanModifiers: []planmodifier.String{ stringplanmodifier.RequiresReplaceIfConfigured(), }, @@ -99,14 +107,14 @@ func S3ZoneSettingsSchema() map[string]schema.Attribute { Computed: true, }, "bucket_directory_create_mode": schema.Int64Attribute{ - MarkdownDescription: " The permission mode for creating bucket directories.", - Description: " The permission mode for creating bucket directories.", + MarkdownDescription: "The permission mode for creating bucket directories.", + Description: "The permission mode for creating bucket directories.", Optional: true, Computed: true, }, "object_acl_policy": schema.StringAttribute{ - MarkdownDescription: "The default policy for object access control lists (ACLs), which can be either “replace” or “deny”", - Description: "The default policy for object access control lists (ACLs), which can be either “replace” or “deny”", + MarkdownDescription: "The default policy for object access control lists (ACLs), which can be either `replace` or `deny`.", + Description: "The default policy for object access control lists (ACLs), which can be either “replace” or “deny”.", Optional: true, Computed: true, Validators: []validator.String{ @@ -114,8 +122,8 @@ func S3ZoneSettingsSchema() map[string]schema.Attribute { }, }, "root_path": schema.StringAttribute{ - MarkdownDescription: " The root path for the S3 bucket.", - Description: " The root path for the S3 bucket.", + MarkdownDescription: "The root path for the S3 bucket.", + Description: "The root path for the S3 bucket.", Optional: true, Computed: true, }, diff --git a/powerscale/provider/snapshot_resource.go b/powerscale/provider/snapshot_resource.go index 82e218e..0bc7213 100644 --- a/powerscale/provider/snapshot_resource.go +++ b/powerscale/provider/snapshot_resource.go @@ -64,8 +64,8 @@ func (r *SnapshotResource) Schema(ctx context.Context, req resource.SchemaReques Attributes: map[string]schema.Attribute{ "path": schema.StringAttribute{ - Description: "The /ifs path snapshotted.", - MarkdownDescription: "The /ifs path snapshotted.", + Description: "The /ifs path snapshotted. Cannot be updated.", + MarkdownDescription: "The /ifs path snapshotted. Cannot be updated.", Required: true, }, "alias": schema.StringAttribute{ @@ -74,8 +74,8 @@ func (r *SnapshotResource) Schema(ctx context.Context, req resource.SchemaReques Computed: true, }, "name": schema.StringAttribute{ - Description: "The user or system supplied snapshot name. This will be null for snapshots pending delete. Only alphanumeric characters, underscores ( _ ), and hyphens (-) are allowed. (Update Supported)", - MarkdownDescription: "The user or system supplied snapshot name. This will be null for snapshots pending delete. Only alphanumeric characters, underscores ( _ ), and hyphens (-) are allowed. (Update Supported)", + Description: "The user or system supplied snapshot name. This will be null for snapshots pending delete. Only alphanumeric characters, underscores ( _ ), and hyphens (-) are allowed.", + MarkdownDescription: "The user or system supplied snapshot name. This will be null for snapshots pending delete. Only alphanumeric characters, underscores ( _ ), and hyphens (-) are allowed.", Optional: true, Computed: true, Validators: []validator.String{ @@ -87,8 +87,8 @@ func (r *SnapshotResource) Schema(ctx context.Context, req resource.SchemaReques }, }, "set_expires": schema.StringAttribute{ - Description: "The amount of time from creation before the snapshot will expire and be eligible for automatic deletion. Resets each time this value is updated (Update Supported)", - MarkdownDescription: "The amount of time from creation before the snapshot will expire and be eligible for automatic deletion. Resets each time this value is updated (Update Supported)", + Description: "The amount of time from creation before the snapshot will expire and be eligible for automatic deletion. Resets each time this value is updated", + MarkdownDescription: "The amount of time from creation before the snapshot will expire and be eligible for automatic deletion. Resets each time this value is updated", Optional: true, Computed: true, Default: stringdefault.StaticString("Never"), diff --git a/powerscale/provider/synciq_policy_datasource.go b/powerscale/provider/synciq_policy_datasource.go index adf84f9..0ce4d49 100644 --- a/powerscale/provider/synciq_policy_datasource.go +++ b/powerscale/provider/synciq_policy_datasource.go @@ -50,9 +50,11 @@ func (d *SyncIQPolicyDataSource) Metadata(ctx context.Context, req datasource.Me // Schema describes the data source arguments. func (d *SyncIQPolicyDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { resp.Schema = schema.Schema{ - MarkdownDescription: "This datasource is used to query the existing SyncIQ Policies from PowerScale array.", - Description: "This datasource is used to query the existing SyncIQ Policies from PowerScale array.", - Attributes: helper.SyncIQPolicyDataSourceSchema(), + MarkdownDescription: "This datasource is used to query the existing SyncIQ Policies from PowerScale array." + + " The information fetched from this datasource can be used for getting the details or for further processing in resource block.", + Description: "This datasource is used to query the existing SyncIQ Policies from PowerScale array." + + " The information fetched from this datasource can be used for getting the details or for further processing in resource block.", + Attributes: helper.SyncIQPolicyDataSourceSchema(), } } diff --git a/powerscale/provider/user_group_resource.go b/powerscale/provider/user_group_resource.go index cb1c956..7a67a6f 100644 --- a/powerscale/provider/user_group_resource.go +++ b/powerscale/provider/user_group_resource.go @@ -69,29 +69,29 @@ func (r *UserGroupResource) Schema(ctx context.Context, req resource.SchemaReque Optional: true, }, "query_zone": schema.StringAttribute{ - Description: "Specifies the zone that the object belongs to.", - MarkdownDescription: "Specifies the zone that the object belongs to.", + Description: "Specifies the zone that the object belongs to. Cannot be updated.", + MarkdownDescription: "Specifies the zone that the object belongs to. Cannot be updated.", Optional: true, }, "query_provider": schema.StringAttribute{ - Description: "Specifies the provider type.", - MarkdownDescription: "Specifies the provider type.", + Description: "Specifies the provider type. Cannot be updated.", + MarkdownDescription: "Specifies the provider type. Cannot be updated.", Optional: true, }, "name": schema.StringAttribute{ - Description: "Specifies a user group name.", - MarkdownDescription: "Specifies a user group name.", + Description: "Specifies a user group name. Cannot be updated.", + MarkdownDescription: "Specifies a user group name. Cannot be updated.", Required: true, }, "gid": schema.Int64Attribute{ - Description: "Specifies a numeric user group identifier. (Update Supported)", - MarkdownDescription: "Specifies a numeric user group identifier. (Update Supported)", + Description: "Specifies a numeric user group identifier.", + MarkdownDescription: "Specifies a numeric user group identifier.", Optional: true, Computed: true, }, "sid": schema.StringAttribute{ - Description: "Specifies a security identifier.", - MarkdownDescription: "Specifies a security identifier.", + Description: "Specifies a security identifier. Cannot be updated.", + MarkdownDescription: "Specifies a security identifier. Cannot be updated.", Optional: true, Computed: true, Validators: []validator.String{ @@ -101,26 +101,26 @@ func (r *UserGroupResource) Schema(ctx context.Context, req resource.SchemaReque }, }, "roles": schema.ListAttribute{ - Description: "List of roles, the user is assigned. (Update Supported)", - MarkdownDescription: "List of roles, the user is assigned. (Update Supported)", + Description: "List of roles, the user is assigned.", + MarkdownDescription: "List of roles, the user is assigned.", ElementType: types.StringType, Optional: true, }, "users": schema.ListAttribute{ - Description: "Specifies list members of user within the group. (Update Supported)", - MarkdownDescription: "Specifies list members of user within the group. (Update Supported)", + Description: "Specifies list members of user within the group.", + MarkdownDescription: "Specifies list members of user within the group.", ElementType: types.StringType, Optional: true, }, "groups": schema.ListAttribute{ - Description: "Specifies list members of group within the group. (Update Supported)", - MarkdownDescription: "Specifies list members of group within the group. (Update Supported)", + Description: "Specifies list members of group within the group.", + MarkdownDescription: "Specifies list members of group within the group.", ElementType: types.StringType, Optional: true, }, "well_knowns": schema.ListAttribute{ - Description: "Specifies list members of well_known within the group. (Update Supported)", - MarkdownDescription: "Specifies list members of well_known within the group. (Update Supported)", + Description: "Specifies list members of well_known within the group.", + MarkdownDescription: "Specifies list members of well_known within the group.", ElementType: types.StringType, Optional: true, }, @@ -145,8 +145,8 @@ func (r *UserGroupResource) Schema(ctx context.Context, req resource.SchemaReque Computed: true, }, "domain": schema.StringAttribute{ - Description: "Specifies the domain that the object is part of.", - MarkdownDescription: "Specifies the domain that the object is part of.", + Description: "Specifies the domain that the object is part of. Cannot be updated.", + MarkdownDescription: "Specifies the domain that the object is part of. Cannot be updated.", Optional: true, Computed: true, }, diff --git a/powerscale/provider/user_mapping_rules_resource.go b/powerscale/provider/user_mapping_rules_resource.go index 59f950b..82bdb55 100644 --- a/powerscale/provider/user_mapping_rules_resource.go +++ b/powerscale/provider/user_mapping_rules_resource.go @@ -71,32 +71,32 @@ func (r *UserMappingRulesResource) Schema(ctx context.Context, req resource.Sche Computed: true, }, "zone": schema.StringAttribute{ - Description: "The zone to which the user mapping applies. (Update Supported)", - MarkdownDescription: "The zone to which the user mapping applies. (Update Supported)", + Description: "The zone to which the user mapping applies.", + MarkdownDescription: "The zone to which the user mapping applies.", Optional: true, }, "parameters": schema.SingleNestedAttribute{ - Description: "Specifies the parameters for user mapping rules. (Update Supported)", - MarkdownDescription: "Specifies the parameters for user mapping rules. (Update Supported)", + Description: "Specifies the parameters for user mapping rules.", + MarkdownDescription: "Specifies the parameters for user mapping rules.", Optional: true, Computed: true, Attributes: map[string]schema.Attribute{ "default_unix_user": schema.SingleNestedAttribute{ - Description: "Specifies the default UNIX user information that can be applied if the final credentials do not have valid UID and GID information. (Update Supported)", - MarkdownDescription: "Specifies the default UNIX user information that can be applied if the final credentials do not have valid UID and GID information. (Update Supported)", + Description: "Specifies the default UNIX user information that can be applied if the final credentials do not have valid UID and GID information.", + MarkdownDescription: "Specifies the default UNIX user information that can be applied if the final credentials do not have valid UID and GID information.", Optional: true, Computed: true, Attributes: map[string]schema.Attribute{ "domain": schema.StringAttribute{ - Description: "Specifies the domain of the user that is being mapped. (Update Supported)", - MarkdownDescription: "Specifies the domain of the user that is being mapped. (Update Supported)", + Description: "Specifies the domain of the user that is being mapped.", + MarkdownDescription: "Specifies the domain of the user that is being mapped.", Optional: true, Computed: true, Validators: []validator.String{stringvalidator.LengthAtLeast(1)}, }, "user": schema.StringAttribute{ - Description: "Specifies the name of the user that is being mapped. (Update Supported)", - MarkdownDescription: "Specifies the name of the user that is being mapped. (Update Supported)", + Description: "Specifies the name of the user that is being mapped.", + MarkdownDescription: "Specifies the name of the user that is being mapped.", Required: true, Validators: []validator.String{stringvalidator.LengthAtLeast(1)}, }, @@ -105,64 +105,64 @@ func (r *UserMappingRulesResource) Schema(ctx context.Context, req resource.Sche }, }, "rules": schema.ListNestedAttribute{ - Description: "Specifies the list of user mapping rules. (Update Supported)", - MarkdownDescription: "Specifies the list of user mapping rules. (Update Supported)", + Description: "Specifies the list of user mapping rules.", + MarkdownDescription: "Specifies the list of user mapping rules.", Optional: true, Computed: true, NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "operator": schema.StringAttribute{ - Description: "Specifies the operator to make rules on specified users or groups. (Update Supported)", - MarkdownDescription: "Specifies the operator to make rules on specified users or groups. (Update Supported)", + Description: "Specifies the operator to make rules on specified users or groups.", + MarkdownDescription: "Specifies the operator to make rules on specified users or groups.", Required: true, Validators: []validator.String{stringvalidator.OneOf("append", "insert", "replace", "trim", "union")}, }, "options": schema.SingleNestedAttribute{ - Description: "Specifies the mapping options for this user mapping rule. (Update Supported)", - MarkdownDescription: "Specifies the mapping options for this user mapping rule. (Update Supported)", + Description: "Specifies the mapping options for this user mapping rule.", + MarkdownDescription: "Specifies the mapping options for this user mapping rule.", Optional: true, Computed: true, Attributes: map[string]schema.Attribute{ "break": schema.BoolAttribute{ - Description: "If true, and the rule was applied successfully, stop processing further. (Update Supported)", - MarkdownDescription: "If true, and the rule was applied successfully, stop processing further. (Update Supported)", + Description: "If true, and the rule was applied successfully, stop processing further.", + MarkdownDescription: "If true, and the rule was applied successfully, stop processing further.", Optional: true, Computed: true, }, "user": schema.BoolAttribute{ - Description: "If true, the primary UID and primary user SID should be copied to the existing credential. (Update Supported)", - MarkdownDescription: "If true, the primary UID and primary user SID should be copied to the existing credential. (Update Supported)", + Description: "If true, the primary UID and primary user SID should be copied to the existing credential.", + MarkdownDescription: "If true, the primary UID and primary user SID should be copied to the existing credential.", Optional: true, Computed: true, }, "group": schema.BoolAttribute{ - Description: "If true, the primary GID and primary group SID should be copied to the existing credential. (Update Supported)", - MarkdownDescription: "If true, the primary GID and primary group SID should be copied to the existing credential. (Update Supported)", + Description: "If true, the primary GID and primary group SID should be copied to the existing credential.", + MarkdownDescription: "If true, the primary GID and primary group SID should be copied to the existing credential.", Optional: true, Computed: true, }, "groups": schema.BoolAttribute{ - Description: "If true, all additional identifiers should be copied to the existing credential. (Update Supported)", - MarkdownDescription: "If true, all additional identifiers should be copied to the existing credential. (Update Supported)", + Description: "If true, all additional identifiers should be copied to the existing credential.", + MarkdownDescription: "If true, all additional identifiers should be copied to the existing credential.", Optional: true, Computed: true, }, "default_user": schema.SingleNestedAttribute{ - Description: "Specifies the default user information that can be applied if the final credentials do not have valid UID and GID information. (Update Supported)", - MarkdownDescription: "Specifies the default user information that can be applied if the final credentials do not have valid UID and GID information. (Update Supported)", + Description: "Specifies the default user information that can be applied if the final credentials do not have valid UID and GID information.", + MarkdownDescription: "Specifies the default user information that can be applied if the final credentials do not have valid UID and GID information.", Optional: true, Computed: true, Attributes: map[string]schema.Attribute{ "domain": schema.StringAttribute{ - Description: "Specifies the domain of the user that is being mapped. (Update Supported)", - MarkdownDescription: "Specifies the domain of the user that is being mapped. (Update Supported)", + Description: "Specifies the domain of the user that is being mapped.", + MarkdownDescription: "Specifies the domain of the user that is being mapped.", Optional: true, Computed: true, Validators: []validator.String{stringvalidator.LengthAtLeast(1)}, }, "user": schema.StringAttribute{ - Description: "Specifies the name of the user that is being mapped. (Update Supported)", - MarkdownDescription: "Specifies the name of the user that is being mapped. (Update Supported)", + Description: "Specifies the name of the user that is being mapped.", + MarkdownDescription: "Specifies the name of the user that is being mapped.", Required: true, Validators: []validator.String{stringvalidator.LengthAtLeast(1)}, }, @@ -171,40 +171,40 @@ func (r *UserMappingRulesResource) Schema(ctx context.Context, req resource.Sche }, }, "target_user": schema.SingleNestedAttribute{ - Description: "Specifies the target user information that the rule can be applied to. (Update Supported)", - MarkdownDescription: "Specifies the target user information that the rule can be applied to. (Update Supported)", + Description: "Specifies the target user information that the rule can be applied to.", + MarkdownDescription: "Specifies the target user information that the rule can be applied to.", Required: true, Attributes: map[string]schema.Attribute{ "domain": schema.StringAttribute{ - Description: "Specifies the domain of the user that is being mapped. (Update Supported)", - MarkdownDescription: "Specifies the domain of the user that is being mapped. (Update Supported)", + Description: "Specifies the domain of the user that is being mapped.", + MarkdownDescription: "Specifies the domain of the user that is being mapped.", Optional: true, Computed: true, Validators: []validator.String{stringvalidator.LengthAtLeast(1)}, }, "user": schema.StringAttribute{ - Description: "Specifies the name of the user that is being mapped. (Update Supported)", - MarkdownDescription: "Specifies the name of the user that is being mapped. (Update Supported)", + Description: "Specifies the name of the user that is being mapped.", + MarkdownDescription: "Specifies the name of the user that is being mapped.", Required: true, Validators: []validator.String{stringvalidator.LengthAtLeast(1)}, }, }, }, "source_user": schema.SingleNestedAttribute{ - Description: "Specifies the source user information that the rule can be applied from. (Update Supported)", - MarkdownDescription: "Specifies the source user information that the rule can be applied from. (Update Supported)", + Description: "Specifies the source user information that the rule can be applied from.", + MarkdownDescription: "Specifies the source user information that the rule can be applied from.", Optional: true, Attributes: map[string]schema.Attribute{ "domain": schema.StringAttribute{ - Description: "Specifies the domain of the user that is being mapped. (Update Supported)", - MarkdownDescription: "Specifies the domain of the user that is being mapped. (Update Supported)", + Description: "Specifies the domain of the user that is being mapped.", + MarkdownDescription: "Specifies the domain of the user that is being mapped.", Optional: true, Computed: true, Validators: []validator.String{stringvalidator.LengthAtLeast(1)}, }, "user": schema.StringAttribute{ - Description: "Specifies the name of the user that is being mapped. (Update Supported)", - MarkdownDescription: "Specifies the name of the user that is being mapped. (Update Supported)", + Description: "Specifies the name of the user that is being mapped.", + MarkdownDescription: "Specifies the name of the user that is being mapped.", Required: true, Validators: []validator.String{stringvalidator.LengthAtLeast(1)}, }, @@ -214,20 +214,20 @@ func (r *UserMappingRulesResource) Schema(ctx context.Context, req resource.Sche }, }, "test_mapping_users": schema.ListNestedAttribute{ - Description: "List of user identity for mapping test. (Update Supported)", - MarkdownDescription: "List of user identity for mapping test. (Update Supported)", + Description: "List of user identity for mapping test.", + MarkdownDescription: "List of user identity for mapping test.", Optional: true, NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Specifies a user name. (Update Supported)", - MarkdownDescription: "Specifies a user name. (Update Supported)", + Description: "Specifies a user name.", + MarkdownDescription: "Specifies a user name.", Optional: true, Validators: []validator.String{stringvalidator.LengthAtLeast(1)}, }, "uid": schema.Int64Attribute{ - Description: "Specifies a numeric user identifier. (Update Supported)", - MarkdownDescription: "Specifies a numeric user identifier. (Update Supported)", + Description: "Specifies a numeric user identifier.", + MarkdownDescription: "Specifies a numeric user identifier.", Optional: true, }, }, diff --git a/powerscale/provider/user_resource.go b/powerscale/provider/user_resource.go index 79a70e9..80c8020 100644 --- a/powerscale/provider/user_resource.go +++ b/powerscale/provider/user_resource.go @@ -72,13 +72,13 @@ func (r *UserResource) Schema(ctx context.Context, req resource.SchemaRequest, r Optional: true, }, "query_zone": schema.StringAttribute{ - Description: "Specifies the zone that the object belongs to.", - MarkdownDescription: "Specifies the zone that the object belongs to.", + Description: "Specifies the zone that the object belongs to. Cannot be updated.", + MarkdownDescription: "Specifies the zone that the object belongs to. Cannot be updated.", Optional: true, }, "query_provider": schema.StringAttribute{ - Description: "Specifies the provider type.", - MarkdownDescription: "Specifies the provider type.", + Description: "Specifies the provider type. Cannot be updated.", + MarkdownDescription: "Specifies the provider type. Cannot be updated.", Optional: true, }, "provider_name": schema.StringAttribute{ @@ -92,87 +92,87 @@ func (r *UserResource) Schema(ctx context.Context, req resource.SchemaRequest, r Computed: true, }, "name": schema.StringAttribute{ - Description: "Specifies a user name.", - MarkdownDescription: "Specifies a user name.", + Description: "Specifies a user name. Cannot be updated.", + MarkdownDescription: "Specifies a user name. Cannot be updated.", Required: true, }, "uid": schema.Int64Attribute{ - Description: "Specifies a numeric user identifier. (Update Supported)", - MarkdownDescription: "Specifies a numeric user identifier. (Update Supported)", + Description: "Specifies a numeric user identifier.", + MarkdownDescription: "Specifies a numeric user identifier.", Optional: true, Computed: true, }, "email": schema.StringAttribute{ - Description: "Specifies an email address. (Update Supported)", - MarkdownDescription: "Specifies an email address. (Update Supported)", + Description: "Specifies an email address.", + MarkdownDescription: "Specifies an email address.", Optional: true, Computed: true, }, "enabled": schema.BoolAttribute{ - Description: "If true, the authenticated user is enabled. (Update Supported)", - MarkdownDescription: "If true, the authenticated user is enabled. (Update Supported)", + Description: "If true, the authenticated user is enabled.", + MarkdownDescription: "If true, the authenticated user is enabled.", Optional: true, Computed: true, Default: booldefault.StaticBool(false), }, "expiry": schema.Int64Attribute{ - Description: "Specifies the Unix Epoch time at which the authenticated user will expire. (Update Supported)", - MarkdownDescription: "Specifies the Unix Epoch time at which the authenticated user will expire. (Update Supported)", + Description: "Specifies the Unix Epoch time at which the authenticated user will expire.", + MarkdownDescription: "Specifies the Unix Epoch time at which the authenticated user will expire.", Optional: true, Computed: true, }, "gecos": schema.StringAttribute{ - Description: "Specifies the GECOS value, which is usually the full name. (Update Supported)", - MarkdownDescription: "Specifies the GECOS value, which is usually the full name. (Update Supported)", + Description: "Specifies the GECOS value, which is usually the full name.", + MarkdownDescription: "Specifies the GECOS value, which is usually the full name.", Optional: true, Computed: true, }, "home_directory": schema.StringAttribute{ - Description: "Specifies a home directory for the user. (Update Supported)", - MarkdownDescription: "Specifies a home directory for the user. (Update Supported)", + Description: "Specifies a home directory for the user.", + MarkdownDescription: "Specifies a home directory for the user.", Optional: true, Computed: true, }, "password": schema.StringAttribute{ - Description: "Sets or Changes the password for the user. (Update Supported)", - MarkdownDescription: "Sets or Changes the password for the user. (Update Supported)", + Description: "Sets or Changes the password for the user.", + MarkdownDescription: "Sets or Changes the password for the user.", Optional: true, Sensitive: true, }, "password_expires": schema.BoolAttribute{ - Description: "If true, the password is allowed to expire. (Update Supported)", - MarkdownDescription: "If true, the password is allowed to expire. (Update Supported)", + Description: "If true, the password is allowed to expire.", + MarkdownDescription: "If true, the password is allowed to expire.", Optional: true, Computed: true, Default: booldefault.StaticBool(true), }, "prompt_password_change": schema.BoolAttribute{ - Description: "If true, Prompts the user to change their password at the next login. (Update Supported)", - MarkdownDescription: "If true, Prompts the user to change their password at the next login. (Update Supported)", + Description: "If true, Prompts the user to change their password at the next login.", + MarkdownDescription: "If true, Prompts the user to change their password at the next login.", Optional: true, Computed: true, Default: booldefault.StaticBool(false), }, "shell": schema.StringAttribute{ - Description: "Specifies a path to the shell for the user. (Update Supported)", - MarkdownDescription: "Specifies a path to the shell for the user. (Update Supported)", + Description: "Specifies a path to the shell for the user.", + MarkdownDescription: "Specifies a path to the shell for the user.", Optional: true, Computed: true, }, "unlock": schema.BoolAttribute{ - Description: "If true, the user account should be unlocked. (Update Supported)", - MarkdownDescription: "If true, the user account should be unlocked. (Update Supported)", + Description: "If true, the user account should be unlocked.", + MarkdownDescription: "If true, the user account should be unlocked.", Optional: true, }, "roles": schema.ListAttribute{ - Description: "List of roles, the user is assigned. (Update Supported)", - MarkdownDescription: "List of roles, the user is assigned. (Update Supported)", + Description: "List of roles, the user is assigned.", + MarkdownDescription: "List of roles, the user is assigned.", ElementType: types.StringType, Optional: true, }, "primary_group": schema.StringAttribute{ - Description: "Specifies the name of the primary group. (Update Supported)", - MarkdownDescription: "Specifies the name of the primary group. (Update Supported)", + Description: "Specifies the name of the primary group.", + MarkdownDescription: "Specifies the name of the primary group.", Computed: true, Optional: true, }, @@ -187,8 +187,8 @@ func (r *UserResource) Schema(ctx context.Context, req resource.SchemaRequest, r Computed: true, }, "domain": schema.StringAttribute{ - Description: "Specifies the domain that the object is part of.", - MarkdownDescription: "Specifies the domain that the object is part of.", + Description: "Specifies the domain that the object is part of. Cannot be updated.", + MarkdownDescription: "Specifies the domain that the object is part of. Cannot be updated.", Optional: true, Computed: true, }, @@ -223,8 +223,8 @@ func (r *UserResource) Schema(ctx context.Context, req resource.SchemaRequest, r Computed: true, }, "sid": schema.StringAttribute{ - Description: "Specifies a security identifier. ", - MarkdownDescription: "Specifies a security identifier. ", + Description: "Specifies a security identifier. Cannot be updated.", + MarkdownDescription: "Specifies a security identifier. Cannot be updated.", Computed: true, Optional: true, Validators: []validator.String{ diff --git a/templates/resources.md.tmpl b/templates/resources.md.tmpl index 7a46983..35db483 100644 --- a/templates/resources.md.tmpl +++ b/templates/resources.md.tmpl @@ -35,6 +35,8 @@ description: |- {{ .SchemaMarkdown | trimspace }} +Unless specified otherwise, all fields of this resource can be updated. + {{ if .HasImport -}} ## Import