@@ -567,24 +567,65 @@ resources:
567567
568568The following sections include the available DSC configuration functions by purpose and input type.
569569
570- # ## Array functions
570+ # ## Array and collection functions
571571
572- The following list of functions operate on arrays :
572+ The following list of functions operate on arrays and collections :
573573
574+ - [array()][array] - Convert a value into an array containing that value.
574575- [concat()][concat] - Combine multiple arrays of strings into a single array of strings.
576+ - [contains()][contains] - Check if an array contains a value or an object contains a key.
575577- [createArray()][createArray] - Create an array of a given type from zero or more values of the
576578 same type.
577- - [min()][min] - Return the smallest integer value from an array of integers.
579+ - [empty()][empty] - Check if a value (string, array, or object) is empty.
580+ - [first()][first] - Return the first element of an array or the first character of a string.
581+ - [indexOf()][indexOf] - Return the zero-based index of the first occurrence of a value in an array.
582+ - [intersection()][intersection] - Return a single array or object with the common elements from the parameters.
583+ - [items()][items] - Convert an object into an array of key-value pair objects.
584+ - [join()][join] - Combine array elements into a single string with a specified delimiter.
585+ - [last()][last] - Return the last element of an array or the last character of a string.
586+ - [lastIndexOf()][lastIndexOf] - Return the zero-based index of the last occurrence of a value in an array.
587+ - [length()][length] - Return the number of elements in an array, characters in a string, or top-level properties in an object.
578588- [max()][max] - Return the largest integer value from an array of integers.
589+ - [min()][min] - Return the smallest integer value from an array of integers.
590+ - [range()][range] - Create an array of integers within a specified range.
591+ - [skip()][skip] - Return an array or string with elements skipped from the beginning.
592+ - [tryGet()][tryGet] - Safely retrieve a value from an array by index or an object by key without throwing an error.
593+ - [tryIndexFromEnd()][tryIndexFromEnd] - Safely retrieve a value from an array by counting backward from the end.
594+ - [union()][union] - Return a single array or object with all unique elements from the parameters.
595+
596+ # ## Comparison functions
597+
598+ The following list of functions compare values :
599+
600+ - [equals()][equals] - Check if two values are equal.
601+ - [greater()][greater] - Check if the first value is greater than the second value.
602+ - [greaterOrEquals()][greaterOrEquals] - Check if the first value is greater than or equal to the second value.
603+ - [less()][less] - Check if the first value is less than the second value.
604+ - [lessOrEquals()][lessOrEquals] - Check if the first value is less than or equal to the second value.
579605
580606# ## Data functions
581607
582608The following list of functions operate on data outside of a resource instance :
583609
610+ - [context()][context] - Return contextual information about the system and execution environment.
584611- [envvar()][envvar] - Return the value of a specified environment variable.
585612- [parameters()][parameters] - Return the value of a specified configuration parameter.
613+ - [secret()][secret] - Retrieve a secret value from a secure store.
586614- [variables()][variables] - Return the value of a specified configuration variable.
587615
616+ # ## Logical functions
617+
618+ The following list of functions perform logical operations :
619+
620+ - [and()][and] - Return true if all boolean values are true.
621+ - [bool()][bool] - Convert a value to a boolean.
622+ - [false()][false] - Return the boolean value false.
623+ - [if()][if] - Return one of two values based on a boolean condition.
624+ - [not()][not] - Return the logical negation of a boolean value.
625+ - [null()][null] - Return a null value.
626+ - [or()][or] - Return true if any boolean value is true.
627+ - [true()][true] - Return the boolean value true.
628+
588629# ## Mathematics functions
589630
590631The following list of functions operate on integer values or arrays of integer values :
@@ -599,6 +640,18 @@ The following list of functions operate on integer values or arrays of integer v
599640- [mul()][mul] - Return the product from multiplying two integers.
600641- [sub()][sub] - Return the difference from subtracting one integer from another.
601642
643+ # ## Object functions
644+
645+ The following list of functions operate on objects :
646+
647+ - [coalesce()][coalesce] - Return the first non-null value from the provided arguments.
648+ - [contains()][contains] - Check if an array contains a value or an object contains a key.
649+ - [createObject()][createObject] - Create an object from key-value pairs.
650+ - [empty()][empty] - Check if a value (string, array, or object) is empty.
651+ - [items()][items] - Convert an object into an array of key-value pair objects.
652+ - [json()][json] - Parse a JSON string and return the resulting value.
653+ - [tryGet()][tryGet] - Safely retrieve a value from an array by index or an object by key without throwing an error.
654+
602655# ## Resource functions
603656
604657The following list of functions operate on resource instances :
@@ -613,36 +666,118 @@ The following list of functions operate on resource instances:
613666The following list of functions are for manipulating strings :
614667
615668- [base64()][base64] - Return the base64 representation of a string.
669+ - [base64ToString()][base64ToString] - Decode a base64-encoded string and return the original string.
616670- [concat()][concat] - Return a combined string where the input strings are concatenated in the
617671 order they're specified.
672+ - [contains()][contains] - Check if an array contains a value or an object contains a key.
673+ - [empty()][empty] - Check if a value (string, array, or object) is empty.
674+ - [endsWith()][endsWith] - Check if a string ends with a specified suffix.
675+ - [first()][first] - Return the first element of an array or the first character of a string.
676+ - [format()][format] - Create a formatted string from input values.
677+ - [join()][join] - Combine array elements into a single string with a specified delimiter.
678+ - [last()][last] - Return the last element of an array or the last character of a string.
679+ - [length()][length] - Return the number of elements in an array, characters in a string, or top-level properties in an object.
680+ - [skip()][skip] - Return an array or string with elements skipped from the beginning.
681+ - [startsWith()][startsWith] - Check if a string starts with a specified prefix.
682+ - [string()][string] - Convert a value to its string representation.
683+ - [substring()][substring] - Extract a portion of a string starting at a specified position.
684+ - [toLower()][toLower] - Convert a string to lowercase.
685+ - [toUpper()][toUpper] - Convert a string to uppercase.
686+ - [trim()][trim] - Remove leading and trailing whitespace from a string.
687+ - [uniqueString()][uniqueString] - Create a deterministic hash string based on provided values.
688+ - [uri()][uri] - Create an absolute URI by combining a base URI with a relative URI string.
689+ - [uriComponent()][uriComponent] - Encode a string for use as a URI component.
690+ - [uriComponentToString()][uriComponentToString] - Decode a URI-encoded string.
691+
692+ # ## System functions
693+
694+ The following list of functions provide system-level information :
695+
696+ - [path()][path] - Construct a file system path from one or more path segments.
697+ - [systemRoot()][systemRoot] - Return the system root directory path.
698+ - [utcNow()][utcNow] - Return the current UTC datetime in a specified format.
618699
619700# ## Type functions
620701
621702The following list of functions create or convert values of a given type :
622703
704+ - [array()][array] - Convert a value into an array containing that value.
705+ - [bool()][bool] - Convert a value to a boolean.
623706- [createArray()][createArray] - Create an array of a given type from zero or more values of the
624707 same type.
708+ - [createObject()][createObject] - Create an object from key-value pairs.
625709- [int()][int] - Convert a string or number with a fractional part into an integer.
710+ - [string()][string] - Convert a value to its string representation.
626711
627712<!-- Link references -->
628713[01] : https://yaml.org/spec/1.2.2/#folded-style
629714[02] : https://yaml.org/spec/1.2.2/#literal-style
630715[03] : https://yaml.org/spec/1.2.2/#block-chomping-indicator
631716<!-- Function link references -->
632- [add] : ./add.md
633- [base64] : ./base64.md
634- [concat] : ./concat.md
635- [copyIndex] : ./copyIndex.md
636- [createArray] : ./createArray.md
637- [div] : ./div.md
638- [envvar] : ./envvar.md
639- [int] : ./int.md
640- [max] : ./max.md
641- [min] : ./min.md
642- [mod] : ./mod.md
643- [mul] : ./mul.md
644- [parameters] : ./parameters.md
645- [reference] : ./reference.md
646- [resourceId] : ./resourceId.md
647- [sub] : ./sub.md
648- [variables] : ./variables.md
717+ [add] : ./add.md
718+ [and] : ./and.md
719+ [array] : ./array.md
720+ [base64] : ./base64.md
721+ [base64ToString] : ./base64ToString.md
722+ [bool] : ./bool.md
723+ [coalesce] : ./coalesce.md
724+ [concat] : ./concat.md
725+ [contains] : ./contains.md
726+ [context] : ./context.md
727+ [copyIndex] : ./copyIndex.md
728+ [createArray] : ./createArray.md
729+ [createObject] : ./createObject.md
730+ [div] : ./div.md
731+ [empty] : ./empty.md
732+ [endsWith] : ./endsWith.md
733+ [envvar] : ./envvar.md
734+ [equals] : ./equals.md
735+ [false] : ./false.md
736+ [first] : ./first.md
737+ [format] : ./format.md
738+ [greater] : ./greater.md
739+ [greaterOrEquals] : ./greaterOrEquals.md
740+ [if] : ./if.md
741+ [indexOf] : ./indexOf.md
742+ [int] : ./int.md
743+ [intersection] : ./intersection.md
744+ [items] : ./items.md
745+ [join] : ./join.md
746+ [json] : ./json.md
747+ [last] : ./last.md
748+ [lastIndexOf] : ./lastIndexOf.md
749+ [length] : ./length.md
750+ [less] : ./less.md
751+ [lessOrEquals] : ./lessOrEquals.md
752+ [max] : ./max.md
753+ [min] : ./min.md
754+ [mod] : ./mod.md
755+ [mul] : ./mul.md
756+ [not] : ./not.md
757+ [null] : ./null.md
758+ [or] : ./or.md
759+ [parameters] : ./parameters.md
760+ [path] : ./path.md
761+ [range] : ./range.md
762+ [reference] : ./reference.md
763+ [resourceId] : ./resourceId.md
764+ [secret] : ./secret.md
765+ [skip] : ./skip.md
766+ [startsWith] : ./startsWith.md
767+ [string] : ./string.md
768+ [sub] : ./sub.md
769+ [substring] : ./substring.md
770+ [systemRoot] : ./systemRoot.md
771+ [toLower] : ./toLower.md
772+ [toUpper] : ./toUpper.md
773+ [trim] : ./trim.md
774+ [true] : ./true.md
775+ [tryGet] : ./tryGet.md
776+ [tryIndexFromEnd] : ./tryIndexFromEnd.md
777+ [union] : ./union.md
778+ [uniqueString] : ./uniqueString.md
779+ [uri] : ./uri.md
780+ [uriComponent] : ./uriComponent.md
781+ [uriComponentToString] : ./uriComponentToString.md
782+ [utcNow] : ./utcNow.md
783+ [variables] : ./variables.md
0 commit comments