Skip to content

Commit

Permalink
Automated build 'Automated commit 'Merge pull request #1744 from sail…
Browse files Browse the repository at this point in the history
…point/hemanth-vakkapatla-sp/PLTFORMS-3400

PLTFORMS-3400: Custom Forms API Documentation' by github action: 10150416304' powershell sdk: 10150425310
  • Loading branch information
developer-relations-sp committed Jul 29, 2024
1 parent 27dc0a3 commit 47e5230
Show file tree
Hide file tree
Showing 7 changed files with 162 additions and 3 deletions.
1 change: 1 addition & 0 deletions PSSailpoint/PSSailpoint.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -1131,6 +1131,7 @@ FunctionsToExport = 'New-AccessProfile', 'Remove-AccessProfile',
'Get-BetaConnectorRule', 'Get-BetaConnectorRuleList',
'Update-BetaConnectorRule', 'Confirm-BetaConnectorRule',
'Get-BetaConnectorList', 'New-BetaFormDefinition',
'New-BetaFormDefinitionByTemplate',
'New-BetaFormDefinitionDynamicSchema',
'New-BetaFormDefinitionFileRequest', 'New-BetaFormInstance',
'Remove-BetaFormDefinition', 'Export-BetaFormDefinitionsByTenant',
Expand Down
1 change: 1 addition & 0 deletions PSSailpoint/beta/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ Class | Method | HTTP request | Description
*BetaConnectorRuleManagementApi* | [**Confirm-BetaConnectorRule**](docs/BetaConnectorRuleManagementApi.md#Confirm-BetaConnectorRule) | **POST** /connector-rules/validate | Validate Connector Rule
*BetaConnectorsApi* | [**Get-BetaConnectorList**](docs/BetaConnectorsApi.md#Get-BetaConnectorList) | **GET** /connectors | Gets connector list
*BetaCustomFormsApi* | [**New-BetaFormDefinition**](docs/BetaCustomFormsApi.md#New-BetaFormDefinition) | **POST** /form-definitions | Creates a form definition.
*BetaCustomFormsApi* | [**New-BetaFormDefinitionByTemplate**](docs/BetaCustomFormsApi.md#New-BetaFormDefinitionByTemplate) | **POST** /form-definitions/template | Create a form definition by template.
*BetaCustomFormsApi* | [**New-BetaFormDefinitionDynamicSchema**](docs/BetaCustomFormsApi.md#New-BetaFormDefinitionDynamicSchema) | **POST** /form-definitions/forms-action-dynamic-schema | Generate JSON Schema dynamically.
*BetaCustomFormsApi* | [**New-BetaFormDefinitionFileRequest**](docs/BetaCustomFormsApi.md#New-BetaFormDefinitionFileRequest) | **POST** /form-definitions/{formDefinitionID}/upload | Upload new form definition file.
*BetaCustomFormsApi* | [**New-BetaFormInstance**](docs/BetaCustomFormsApi.md#New-BetaFormInstance) | **POST** /form-instances | Creates a form instance.
Expand Down
63 changes: 63 additions & 0 deletions PSSailpoint/beta/docs/BetaCustomFormsApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ All URIs are relative to *https://sailpoint.api.identitynow.com/beta*
Method | HTTP request | Description
------------- | ------------- | -------------
[**New-BetaFormDefinition**](BetaCustomFormsApi.md#New-BetaFormDefinition) | **POST** /form-definitions | Creates a form definition.
[**New-BetaFormDefinitionByTemplate**](BetaCustomFormsApi.md#New-BetaFormDefinitionByTemplate) | **POST** /form-definitions/template | Create a form definition by template.
[**New-BetaFormDefinitionDynamicSchema**](BetaCustomFormsApi.md#New-BetaFormDefinitionDynamicSchema) | **POST** /form-definitions/forms-action-dynamic-schema | Generate JSON Schema dynamically.
[**New-BetaFormDefinitionFileRequest**](BetaCustomFormsApi.md#New-BetaFormDefinitionFileRequest) | **POST** /form-definitions/{formDefinitionID}/upload | Upload new form definition file.
[**New-BetaFormInstance**](BetaCustomFormsApi.md#New-BetaFormInstance) | **POST** /form-instances | Creates a form instance.
Expand Down Expand Up @@ -86,6 +87,68 @@ Name | Type | Description | Notes

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

<a id="New-BetaFormDefinitionByTemplate"></a>
# **New-BetaFormDefinitionByTemplate**
> FormDefinitionResponse New-BetaFormDefinitionByTemplate<br>
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[-CreateFormDefinitionRequest] <PSCustomObject><br>
Create a form definition by template.

### Example
```powershell
# general setting of the PowerShell module, e.g. base URL, authentication, etc
$Configuration = Get-Configuration
# Configure OAuth2 access token for authorization: UserContextAuth
$Configuration.AccessToken = "YOUR_ACCESS_TOKEN"
# Configure OAuth2 access token for authorization: UserContextAuth
$Configuration.AccessToken = "YOUR_ACCESS_TOKEN"
$ConditionRule = Initialize-ConditionRule -SourceType "INPUT" -Source "department" -Operator "EQ" -ValueType "STRING" -Value
$ConditionEffectConfig = Initialize-ConditionEffectConfig -DefaultValueLabel "Access to Remove" -Element "8110662963316867"
$ConditionEffect = Initialize-ConditionEffect -EffectType "HIDE" -Config $ConditionEffectConfig
$FormCondition = Initialize-FormCondition -RuleOperator "AND" -Rules $ConditionRule -Effects $ConditionEffect
$FormElementValidationsSet = Initialize-FormElementValidationsSet -ValidationType "REQUIRED"
$FormElement = Initialize-FormElement -Id "00000000-0000-0000-0000-000000000000" -ElementType "TEXT" -Config @{ key_example = } -Key "department" -Validations $FormElementValidationsSet
$FormDefinitionInput = Initialize-FormDefinitionInput -Id "00000000-0000-0000-0000-000000000000" -Type "STRING" -Label "input1" -Description "A single dynamic scalar value (i.e. number, string, date, etc.) that can be passed into the form for use in conditional logic"
$FormOwner = Initialize-FormOwner -Type "IDENTITY" -Id "2c9180867624cbd7017642d8c8c81f67" -Name "Grant Smith"
$FormUsedBy = Initialize-FormUsedBy -Type "WORKFLOW" -Id "61940a92-5484-42bc-bc10-b9982b218cdf" -Name "Access Request Form"
$CreateFormDefinitionRequest = Initialize-CreateFormDefinitionRequest -Description "My form description" -FormConditions $FormCondition -FormElements $FormElement -FormInput $FormDefinitionInput -Name "My form" -Owner $FormOwner -UsedBy $FormUsedBy # CreateFormDefinitionRequest | Body is the request payload to create form definition request (optional)
# Create a form definition by template.
try {
$Result = New-BetaFormDefinitionByTemplate -CreateFormDefinitionRequest $CreateFormDefinitionRequest
} catch {
Write-Host ("Exception occurred when calling New-BetaFormDefinitionByTemplate: {0}" -f ($_.ErrorDetails | ConvertFrom-Json))
Write-Host ("Response headers: {0}" -f ($_.Exception.Response.Headers | ConvertTo-Json))
}
```

### Parameters

Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**CreateFormDefinitionRequest** | [**CreateFormDefinitionRequest**](CreateFormDefinitionRequest.md)| Body is the request payload to create form definition request | [optional]

### Return type

[**FormDefinitionResponse**](FormDefinitionResponse.md) (PSCustomObject)

### Authorization

[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth)

### HTTP request headers

- **Content-Type**: application/json
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

<a id="New-BetaFormDefinitionDynamicSchema"></a>
# **New-BetaFormDefinitionDynamicSchema**
> FormDefinitionDynamicSchemaResponse New-BetaFormDefinitionDynamicSchema<br>
Expand Down
2 changes: 1 addition & 1 deletion PSSailpoint/beta/docs/FormElementDynamicDataSource.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Config** | [**FormElementDynamicDataSourceConfig**](FormElementDynamicDataSourceConfig.md) | | [optional]
**DataSourceType** | **String** | DataSourceType is a FormElementDataSourceType value STATIC FormElementDataSourceTypeStatic INTERNAL FormElementDataSourceTypeInternal SEARCH FormElementDataSourceTypeSearch | [optional]
**DataSourceType** | **String** | DataSourceType is a FormElementDataSourceType value STATIC FormElementDataSourceTypeStatic INTERNAL FormElementDataSourceTypeInternal SEARCH FormElementDataSourceTypeSearch FORM_INPUT FormElementDataSourceTypeFormInput | [optional]

## Examples

Expand Down
86 changes: 86 additions & 0 deletions PSSailpoint/beta/src/PSSailpointBeta/Api/BetaCustomFormsApi.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,92 @@ function New-BetaFormDefinition {



$LocalVarResult = Invoke-BetaApiClient -Method 'POST' `
-Uri $LocalVarUri `
-Accepts $LocalVarAccepts `
-ContentTypes $LocalVarContentTypes `
-Body $LocalVarBodyParameter `
-HeaderParameters $LocalVarHeaderParameters `
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType "FormDefinitionResponse" `
-IsBodyNullable $false

if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
} else {
return $LocalVarResult["Response"]
}
}
}

<#
.SYNOPSIS
Create a form definition by template.
.DESCRIPTION
No description or notes available.
.PARAMETER CreateFormDefinitionRequest
Body is the request payload to create form definition request
.PARAMETER WithHttpInfo
A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response
.OUTPUTS
FormDefinitionResponse
#>
function New-BetaFormDefinitionByTemplate {
[CmdletBinding()]
Param (
[Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
[PSCustomObject]
${CreateFormDefinitionRequest},
[Switch]
$WithHttpInfo
)

Process {
'Calling method: New-BetaFormDefinitionByTemplate' | Write-Debug
$PSBoundParameters | Out-DebugParameter | Write-Debug

$LocalVarAccepts = @()
$LocalVarContentTypes = @()
$LocalVarQueryParameters = @{}
$LocalVarHeaderParameters = @{}
$LocalVarFormParameters = @{}
$LocalVarPathParameters = @{}
$LocalVarCookieParameters = @{}
$LocalVarBodyParameter = $null

# HTTP header 'Accept' (if needed)
$LocalVarAccepts = @('application/json')

# HTTP header 'Content-Type'
$LocalVarContentTypes = @('application/json')

$LocalVarUri = '/form-definitions/template'

if ($LocalVarContentTypes.Contains('application/json-patch+json') -or ($CreateFormDefinitionRequest -is [array])) {
$LocalVarBodyParameter = $CreateFormDefinitionRequest | ConvertTo-Json -AsArray -Depth 100
} else {
$LocalVarBodyParameter = $CreateFormDefinitionRequest | ForEach-Object {
# Get array of names of object properties that can be cast to boolean TRUE
# PSObject.Properties - https://msdn.microsoft.com/en-us/library/system.management.automation.psobject.properties.aspx
$NonEmptyProperties = $_.psobject.Properties | Where-Object {$null -ne $_.Value} | Select-Object -ExpandProperty Name

# Convert object to JSON with only non-empty properties
$_ | Select-Object -Property $NonEmptyProperties | ConvertTo-Json -Depth 100
}
}



$LocalVarResult = Invoke-BetaApiClient -Method 'POST' `
-Uri $LocalVarUri `
-Accepts $LocalVarAccepts `
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ No description available.
.PARAMETER Config
No description available.
.PARAMETER DataSourceType
DataSourceType is a FormElementDataSourceType value STATIC FormElementDataSourceTypeStatic INTERNAL FormElementDataSourceTypeInternal SEARCH FormElementDataSourceTypeSearch
DataSourceType is a FormElementDataSourceType value STATIC FormElementDataSourceTypeStatic INTERNAL FormElementDataSourceTypeInternal SEARCH FormElementDataSourceTypeSearch FORM_INPUT FormElementDataSourceTypeFormInput
.OUTPUTS
FormElementDynamicDataSource<PSCustomObject>
Expand All @@ -30,7 +30,7 @@ function Initialize-BetaFormElementDynamicDataSource {
[PSCustomObject]
${Config},
[Parameter(ValueFromPipelineByPropertyName = $true)]
[ValidateSet("STATIC", "INTERNAL", "SEARCH")]
[ValidateSet("STATIC", "INTERNAL", "SEARCH", "FORM_INPUT")]
[String]
${DataSourceType}
)
Expand Down
8 changes: 8 additions & 0 deletions PSSailpoint/beta/tests/Api/BetaCustomFormsApi.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@ Describe -tag 'PSSailpointBeta' -name 'BetaBetaCustomFormsApi' {
}
}

Context 'New-BetaFormDefinitionByTemplate' {
It 'Test New-BetaFormDefinitionByTemplate' {
#$TestResult = New-BetaFormDefinitionByTemplate -CreateFormDefinitionRequest "TEST_VALUE"
#$TestResult | Should -BeOfType TODO
#$TestResult.property | Should -Be 0
}
}

Context 'New-BetaFormDefinitionDynamicSchema' {
It 'Test New-BetaFormDefinitionDynamicSchema' {
#$TestResult = New-BetaFormDefinitionDynamicSchema -Body "TEST_VALUE"
Expand Down

0 comments on commit 47e5230

Please sign in to comment.