---
# This is a sample manifest for utilizing the replication feature
# Set storage.dell.com/isReplicationEnabled to true to enable replication
# PVCs created using this storage class will be scheduled to any node
# If you want to use Topologies, add the allowedTopologies params

# Change instances of <SYMID> to the Local Symmetrix ID of the PowerMax array
# Changes instances of <RemoteSYMID> to Remote Symmetrix ID of PowerMax array
# In case you installed the driver with a custom name, then replace
# all instances of "csi-powermax.dellemc.com" with the custom provisioner name

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: powermax-srdf
parameters:
  #######################
  # k8s/driver attributes
  #######################
  # Name of SRP on the PowerMax array that should be used for provisioning
  # Optional: false
  # Examples: "DEFAULT_SRP" , "SRP_1"
  SRP: <SRP Name>
  # Name of SRP on the remote array that should be used for provisioning
  # Optional: false
  # Examples: "DEFAULT_SRP" , "SRP_1"
  replication.storage.dell.com/RemoteSRP: <Remote SRP Name>
  # Serial ID of the array that is used for provisioning
  # Optional: false
  # Example: "000000000001"
  SYMID: <SYMID>
  # Serial ID of the remote array that is used for replication
  # Optional: false
  # Example: "000000000001"
  replication.storage.dell.com/RemoteSYMID: <RemoteSYMID>
  # Name of Service Level on PowerMax array that should be used for provisioning
  # Optional: true, Default value: Optimized
  # Examples: "Diamond" , "Bronze"
  ServiceLevel: <Service Level>
  ########################
  # CSM module attributes
  # ######################
  # Set this to true to enable replication
  # Allowed values:
  #   "true" - replication is enabled
  #   "false" - replication is disabled
  # Optional: true, Default value: "false"
  replication.storage.dell.com/isReplicationEnabled: "true"
  # Service Level on remote PowerMax array
  # that should be used for replicated volume
  # Optional: true, Default value: Optimized
  # Examples: "Diamond" , "Bronze"
  replication.storage.dell.com/RemoteServiceLevel: <Remote Service Level>
  # SRDF mode of the replication
  # Allowed values:
  #   "ASYNC" - Asynchronous mode
  #   "SYNC"  - Synchronous mode
  #   "METRO"  - Metro mode
  # Optional: true, Default value: "SYNC"
  replication.storage.dell.com/RdfMode: <RdfMode>
  # Configure Bias for Metro mode
  # Set this to true if you want Metro with Bias
  # Set this to false if you want Metro with witness
  # Allowed values:
  #   "true" - Metro with Bias
  #   "false" - Metro with Witness
  # Optional: true, Default value: "false"
  replication.storage.dell.com/Bias: "false"
  # Local SRDF group which protects using Mode mentioned above
  # Optional: false
  # Examples: "100", "200"
  replication.storage.dell.com/RdfGroup: <RdfGroup>
  # Remote SRDF Group which is bound with Local SRDF group
  # Optional: false
  # Examples: "100", "200"
  replication.storage.dell.com/RemoteRDFGroup: <RemoteRDFGroup>
  # Storage class name on remote cluster to create remote PV
  # Optional: false
  # Examples: "powermax-srdf", "powermax-replication"
  replication.storage.dell.com/remoteStorageClassName: <RemoteStorageClassName>
  # ClusterID to which resources will get replicated
  # Optional: false
  # Examples: "clustermaster", "masternode"
  replication.storage.dell.com/remoteClusterID: <RemoteClusterID>
# If using custom driver name, change the following to point to the custom name
# Optional: true, Default value: csi-powermax.dellemc.com
# Examples: "csi-driver-powermax", "csi-powermax.dellemc.com"
provisioner: csi-powermax.dellemc.com
# Configure what happens to a Persistent Volume when the PVC
# it is bound to is to be deleted
# Allowed values:
#   Delete: the underlying persistent volume will be deleted along with the PVC.
#   Retain: the underlying persistent volume remain.
# Optional: true, Default value: None
reclaimPolicy: Delete
# volumeBindingMode- controls when volume binding
# and dynamic provisioning should occur.
# Allowed values:
#   Immediate- indicates that volume binding and dynamic provisioning
#              occurs once the PersistentVolumeClaim is created
#   WaitForFirstConsumer- will delay the binding and provisioning of a PV
#              until a Pod using the PersistentVolumeClaim is created
# Default value: None
volumeBindingMode: Immediate
