@@ -567,24 +567,66 @@ 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+ - [take()][take] - Return an array or string with the specified number of elements from the start.
593+ - [tryGet()][tryGet] - Safely retrieve a value from an array by index or an object by key without throwing an error.
594+ - [tryIndexFromEnd()][tryIndexFromEnd] - Safely retrieve a value from an array by counting backward from the end.
595+ - [union()][union] - Return a single array or object with all unique elements from the parameters.
596+
597+ # ## Comparison functions
598+
599+ The following list of functions compare values :
600+
601+ - [equals()][equals] - Check if two values are equal.
602+ - [greater()][greater] - Check if the first value is greater than the second value.
603+ - [greaterOrEquals()][greaterOrEquals] - Check if the first value is greater than or equal to the second value.
604+ - [less()][less] - Check if the first value is less than the second value.
605+ - [lessOrEquals()][lessOrEquals] - Check if the first value is less than or equal to the second value.
579606
580607# ## Data functions
581608
582609The following list of functions operate on data outside of a resource instance :
583610
611+ - [context()][context] - Return contextual information about the system and execution environment.
584612- [envvar()][envvar] - Return the value of a specified environment variable.
585613- [parameters()][parameters] - Return the value of a specified configuration parameter.
614+ - [secret()][secret] - Retrieve a secret value from a secure store.
586615- [variables()][variables] - Return the value of a specified configuration variable.
587616
617+ # ## Logical functions
618+
619+ The following list of functions perform logical operations :
620+
621+ - [and()][and] - Return true if all boolean values are true.
622+ - [bool()][bool] - Convert a value to a boolean.
623+ - [false()][false] - Return the boolean value false.
624+ - [if()][if] - Return one of two values based on a boolean condition.
625+ - [not()][not] - Return the logical negation of a boolean value.
626+ - [null()][null] - Return a null value.
627+ - [or()][or] - Return true if any boolean value is true.
628+ - [true()][true] - Return the boolean value true.
629+
588630# ## Mathematics functions
589631
590632The following list of functions operate on integer values or arrays of integer values :
@@ -599,6 +641,18 @@ The following list of functions operate on integer values or arrays of integer v
599641- [mul()][mul] - Return the product from multiplying two integers.
600642- [sub()][sub] - Return the difference from subtracting one integer from another.
601643
644+ # ## Object functions
645+
646+ The following list of functions operate on objects :
647+
648+ - [coalesce()][coalesce] - Return the first non-null value from the provided arguments.
649+ - [contains()][contains] - Check if an array contains a value or an object contains a key.
650+ - [createObject()][createObject] - Create an object from key-value pairs.
651+ - [empty()][empty] - Check if a value (string, array, or object) is empty.
652+ - [items()][items] - Convert an object into an array of key-value pair objects.
653+ - [json()][json] - Parse a JSON string and return the resulting value.
654+ - [tryGet()][tryGet] - Safely retrieve a value from an array by index or an object by key without throwing an error.
655+
602656# ## Resource functions
603657
604658The following list of functions operate on resource instances :
@@ -613,36 +667,120 @@ The following list of functions operate on resource instances:
613667The following list of functions are for manipulating strings :
614668
615669- [base64()][base64] - Return the base64 representation of a string.
670+ - [base64ToString()][base64ToString] - Decode a base64-encoded string and return the original string.
616671- [concat()][concat] - Return a combined string where the input strings are concatenated in the
617672 order they're specified.
673+ - [contains()][contains] - Check if an array contains a value or an object contains a key.
674+ - [empty()][empty] - Check if a value (string, array, or object) is empty.
675+ - [endsWith()][endsWith] - Check if a string ends with a specified suffix.
676+ - [first()][first] - Return the first element of an array or the first character of a string.
677+ - [format()][format] - Create a formatted string from input values.
678+ - [join()][join] - Combine array elements into a single string with a specified delimiter.
679+ - [last()][last] - Return the last element of an array or the last character of a string.
680+ - [length()][length] - Return the number of elements in an array, characters in a string, or top-level properties in an object.
681+ - [skip()][skip] - Return an array or string with elements skipped from the beginning.
682+ - [startsWith()][startsWith] - Check if a string starts with a specified prefix.
683+ - [take()][take] - Return an array or string with the specified number of elements from the start.
684+ - [string()][string] - Convert a value to its string representation.
685+ - [substring()][substring] - Extract a portion of a string starting at a specified position.
686+ - [toLower()][toLower] - Convert a string to lowercase.
687+ - [toUpper()][toUpper] - Convert a string to uppercase.
688+ - [trim()][trim] - Remove leading and trailing whitespace from a string.
689+ - [uniqueString()][uniqueString] - Create a deterministic hash string based on provided values.
690+ - [uri()][uri] - Create an absolute URI by combining a base URI with a relative URI string.
691+ - [uriComponent()][uriComponent] - Encode a string for use as a URI component.
692+ - [uriComponentToString()][uriComponentToString] - Decode a URI-encoded string.
693+
694+ # ## System functions
695+
696+ The following list of functions provide system-level information :
697+
698+ - [path()][path] - Construct a file system path from one or more path segments.
699+ - [systemRoot()][systemRoot] - Return the system root directory path.
700+ - [utcNow()][utcNow] - Return the current UTC datetime in a specified format.
618701
619702# ## Type functions
620703
621704The following list of functions create or convert values of a given type :
622705
706+ - [array()][array] - Convert a value into an array containing that value.
707+ - [bool()][bool] - Convert a value to a boolean.
623708- [createArray()][createArray] - Create an array of a given type from zero or more values of the
624709 same type.
710+ - [createObject()][createObject] - Create an object from key-value pairs.
625711- [int()][int] - Convert a string or number with a fractional part into an integer.
712+ - [string()][string] - Convert a value to its string representation.
626713
627714<!-- Link references -->
628715[01] : https://yaml.org/spec/1.2.2/#folded-style
629716[02] : https://yaml.org/spec/1.2.2/#literal-style
630717[03] : https://yaml.org/spec/1.2.2/#block-chomping-indicator
631718<!-- 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
719+ [add] : ./add.md
720+ [and] : ./and.md
721+ [array] : ./array.md
722+ [base64] : ./base64.md
723+ [base64ToString] : ./base64ToString.md
724+ [bool] : ./bool.md
725+ [coalesce] : ./coalesce.md
726+ [concat] : ./concat.md
727+ [contains] : ./contains.md
728+ [context] : ./context.md
729+ [copyIndex] : ./copyIndex.md
730+ [createArray] : ./createArray.md
731+ [createObject] : ./createObject.md
732+ [div] : ./div.md
733+ [empty] : ./empty.md
734+ [endsWith] : ./endsWith.md
735+ [envvar] : ./envvar.md
736+ [equals] : ./equals.md
737+ [false] : ./false.md
738+ [first] : ./first.md
739+ [format] : ./format.md
740+ [greater] : ./greater.md
741+ [greaterOrEquals] : ./greaterOrEquals.md
742+ [if] : ./if.md
743+ [indexOf] : ./indexOf.md
744+ [int] : ./int.md
745+ [intersection] : ./intersection.md
746+ [items] : ./items.md
747+ [join] : ./join.md
748+ [json] : ./json.md
749+ [last] : ./last.md
750+ [lastIndexOf] : ./lastIndexOf.md
751+ [length] : ./length.md
752+ [less] : ./less.md
753+ [lessOrEquals] : ./lessOrEquals.md
754+ [max] : ./max.md
755+ [min] : ./min.md
756+ [mod] : ./mod.md
757+ [mul] : ./mul.md
758+ [not] : ./not.md
759+ [null] : ./null.md
760+ [or] : ./or.md
761+ [parameters] : ./parameters.md
762+ [path] : ./path.md
763+ [range] : ./range.md
764+ [reference] : ./reference.md
765+ [resourceId] : ./resourceId.md
766+ [secret] : ./secret.md
767+ [skip] : ./skip.md
768+ [startsWith] : ./startsWith.md
769+ [string] : ./string.md
770+ [take] : ./take.md
771+ [sub] : ./sub.md
772+ [substring] : ./substring.md
773+ [systemRoot] : ./systemRoot.md
774+ [toLower] : ./toLower.md
775+ [toUpper] : ./toUpper.md
776+ [trim] : ./trim.md
777+ [true] : ./true.md
778+ [tryGet] : ./tryGet.md
779+ [tryIndexFromEnd] : ./tryIndexFromEnd.md
780+ [union] : ./union.md
781+ [uniqueString] : ./uniqueString.md
782+ [uri] : ./uri.md
783+ [uriComponent] : ./uriComponent.md
784+ [uriComponentToString] : ./uriComponentToString.md
785+ [utcNow] : ./utcNow.md
786+ [variables] : ./variables.md
0 commit comments