powerscale_aclsettings (Resource)

This resource is used to manage the ACL Settings entity of PowerScale Array. We can Create, Update and Delete the ACL Settings using this resource. We can also import the existing ACL Settings from PowerScale array. Note that, ACL Settings is the native functionality of PowerScale. When creating the resource, we actually load ACL Settings from PowerScale to the resource state.

Example Usage

/*
Copyright (c) 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.
*/

# Available actions: Create, Update, Delete and Import.
# If resource arguments are omitted, `terraform apply` will load ACL Settings from PowerScale, and save to terraform state file.
# If any resource arguments are specified, `terraform apply` will try to load ACL Settings (if not loaded) and update the settings.
# `terraform destroy` will delete the resource from terraform state file rather than deleting ACL Settings from PowerScale.
# For more information, Please check the terraform state file.

# PowerScale ACL Settings allow you to manage file and directory permissions, referred to as access rights.
resource "powerscale_aclsettings" "example_acl_settings" {
  # Optional fields both for creating and updating
  # Please check the acceptable inputs for each setting in the documentation
  #     access                  = "windows"
  #     calcmode                = "approx"
  #     calcmode_group          = "group_aces"
  #     calcmode_owner          = "owner_aces"
  #     calcmode_traverse       = "ignore"
  #     chmod                   = "merge"
  #     chmod_007               = "default"
  #     chmod_inheritable       = "no"
  #     chown                   = "owner_group_and_acl"
  #     create_over_smb         = "allow"
  #     dos_attr                = "deny_smb"
  #     group_owner_inheritance = "creator"
  #     rwx                     = "retain"
  #     synthetic_denies        = "remove"
  #     utimes                  = "only_owner"
}

# After the execution of above resource block, ACL Settings would have been cached in terraform state file, or
# ACL Settings would have been updated on PowerScale.
# For more information, Please check the terraform state file.

Schema

Optional

  • access (String) Access checks (chmod, chown). Options: unix, windows
  • calcmode (String) Displayed mode bits. Options: approx, 777
  • calcmode_group (String) Approximate group mode bits when ACL exists. Options: group_aces, group_only
  • calcmode_owner (String) Approximate owner mode bits when ACL exists. Options: owner_aces, owner_only
  • calcmode_traverse (String) Require traverse rights in order to traverse directories with existing ACLs. Options: require, ignore
  • chmod (String) chmod on files with existing ACLs. Options: remove, replace, replace_users_and_groups, merge_with_ugo_priority, merge, deny, ignore
  • chmod_007 (String) chmod (007) on files with existing ACLs. Options: default, remove
  • chmod_inheritable (String) ACLs created on directories by UNIX chmod. Options: yes, no
  • chown (String) chown/chgrp on files with existing ACLs. Options: owner_group_and_acl, owner_group_only, ignore
  • create_over_smb (String) ACL creation over SMB. Options: allow, disallow
  • dos_attr (String) Read only DOS attribute. Options: deny_smb, deny_smb_and_nfs
  • group_owner_inheritance (String) Group owner inheritance. Options: native, parent, creator
  • rwx (String) Treatment of ‘rwx’ permissions. Options: retain, full_control
  • synthetic_denies (String) Synthetic ‘deny’ ACEs. Options: none, remove
  • utimes (String) Access check (utimes). Options: only_owner, owner_and_write

Import

Import is supported using the following syntax:

# 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.

# The command is
# terraform import powerscale_aclsettings.example_acl_settings <anyString>
# Example:
terraform import powerscale_aclsettings.example_acl_settings anyString
# after running this command, populate the name 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.