custom/generated/New-JcSdkWorkday.ps1
<# .Synopsis This endpoint allows you to create a new workday instance. You must supply a username and password for `Basic Authentication` that is the same as your WorkDay Integrator System User. Failure to provide these credentials will result in the request being rejected. Currently `O-Auth` isn't a supported authentication protocol for WorkDay, but will be in the future. Currently, only one instance is allowed and it must be `Workday Import`. #### Sample Request ``` curl -X POST https://console.jumpcloud.com/api/v2/workdays/ \\ -H 'Accept: application/json' \\ -H 'Content-Type: application/json' \\ -H 'x-api-key: {API_KEY}' \\ -d '{ \"name\": \"Workday2\", \"reportUrl\":\"https://workday.com/ccx/service/customreport2/gms/user/reportname?format=json\", \"auth\": { \"basic\": { \"username\": \"someDeveloper\", \"password\": \"notTheRealPassword\" } } }' ``` .Description This endpoint allows you to create a new workday instance. You must supply a username and password for `Basic Authentication` that is the same as your WorkDay Integrator System User. Failure to provide these credentials will result in the request being rejected. Currently `O-Auth` isn't a supported authentication protocol for WorkDay, but will be in the future. Currently, only one instance is allowed and it must be `Workday Import`. #### Sample Request ``` curl -X POST https://console.jumpcloud.com/api/v2/workdays/ \\ -H 'Accept: application/json' \\ -H 'Content-Type: application/json' \\ -H 'x-api-key: {API_KEY}' \\ -d '{ \"name\": \"Workday2\", \"reportUrl\":\"https://workday.com/ccx/service/customreport2/gms/user/reportname?format=json\", \"auth\": { \"basic\": { \"username\": \"someDeveloper\", \"password\": \"notTheRealPassword\" } } }' ``` .Example PS C:\> New-JcSdkWorkday -BasicPassword:(<string>) -BasicUsername:(<string>) -Name:(<string>) -OauthCode:(<string>) -ReportUrl:(<string>) ---- ---------- BasicExpiry String BasicIsValid Boolean BasicMessage String Id String LastImport String Name String OauthExpiry String OauthIsValid Boolean OauthMessage String ReportUrl String .Example PS C:\> New-JcSdkWorkday -Body:(<JumpCloud.SDK.V2.Models.WorkdayInput>) ---- ---------- BasicExpiry String BasicIsValid Boolean BasicMessage String Id String LastImport String Name String OauthExpiry String OauthIsValid Boolean OauthMessage String ReportUrl String .Inputs JumpCloud.SDK.V2.Models.IWorkdayInput .Outputs JumpCloud.SDK.V2.Models.IWorkdayOutput .Notes COMPLEX PARAMETER PROPERTIES To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. BODY <IWorkdayInput>: [BasicPassword <String>]: [BasicUsername <String>]: [Name <String>]: [OauthCode <String>]: [ReportUrl <String>]: .Link https://github.com/TheJumpCloud/jcapi-powershell/tree/master/SDKs/PowerShell/JumpCloud.SDK.V2/docs/exports/New-JcSdkWorkday.md #> Function New-JcSdkWorkday { [OutputType([JumpCloud.SDK.V2.Models.IWorkdayOutput])] [CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] Param( [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)] [JumpCloud.SDK.V2.Category('Body')] [JumpCloud.SDK.V2.Models.IWorkdayInput] # Workday Input # To construct, see NOTES section for BODY properties and create a hash table. ${Body}, [Parameter(ParameterSetName='CreateExpanded')] [JumpCloud.SDK.V2.Category('Body')] [System.String] # . ${BasicPassword}, [Parameter(ParameterSetName='CreateExpanded')] [JumpCloud.SDK.V2.Category('Body')] [System.String] # . ${BasicUsername}, [Parameter(ParameterSetName='CreateExpanded')] [JumpCloud.SDK.V2.Category('Body')] [System.String] # . ${Name}, [Parameter(ParameterSetName='CreateExpanded')] [JumpCloud.SDK.V2.Category('Body')] [System.String] # . ${OauthCode}, [Parameter(ParameterSetName='CreateExpanded')] [JumpCloud.SDK.V2.Category('Body')] [System.String] # . ${ReportUrl}, [Parameter(DontShow)] [JumpCloud.SDK.V2.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Wait for .NET debugger to attach ${Break}, [Parameter(DontShow)] [ValidateNotNull()] [JumpCloud.SDK.V2.Category('Runtime')] [JumpCloud.SDK.V2.Runtime.SendAsyncStep[]] # SendAsync Pipeline Steps to be appended to the front of the pipeline ${HttpPipelineAppend}, [Parameter(DontShow)] [ValidateNotNull()] [JumpCloud.SDK.V2.Category('Runtime')] [JumpCloud.SDK.V2.Runtime.SendAsyncStep[]] # SendAsync Pipeline Steps to be prepended to the front of the pipeline ${HttpPipelinePrepend}, [Parameter(DontShow)] [JumpCloud.SDK.V2.Category('Runtime')] [System.Uri] # The URI for the proxy server to use ${Proxy}, [Parameter(DontShow)] [ValidateNotNull()] [JumpCloud.SDK.V2.Category('Runtime')] [System.Management.Automation.PSCredential] # Credentials for a proxy server to use for the remote call ${ProxyCredential}, [Parameter(DontShow)] [JumpCloud.SDK.V2.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) Begin { $Results = @() $PSBoundParameters.Add('HttpPipelineAppend', { param($req, $callback, $next) # call the next step in the Pipeline $ResponseTask = $next.SendAsync($req, $callback) $global:JCHttpRequest = $req # $global:JCHttpRequestContent = If (-not [System.String]::IsNullOrEmpty($req.Content)) { $req.Content.ReadAsStringAsync() } $global:JCHttpResponse = $ResponseTask # $global:JCHttpResponseContent = If (-not [System.String]::IsNullOrEmpty($ResponseTask.Result.Content)) { $ResponseTask.Result.Content.ReadAsStringAsync() } Return $ResponseTask } ) } Process { $maxRetries = 4 $resultCounter = 0 :retryLoop do { $resultCounter++ $Results = JumpCloud.SDK.V2.internal\New-JcSdkInternalWorkday @PSBoundParameters -errorAction SilentlyContinue -errorVariable sdkError If ($sdkError){ If ($resultCounter -eq $maxRetries){ throw $sdkError } If ($JCHttpResponse.Result.StatusCode -eq "503") { Write-Warning ("503: Service Unavailable - retrying in " + ($resultCounter * 5) + " seconds.") } else { throw $sdkError } } else { break retryLoop } Start-Sleep -Seconds ($resultCounter * 5) } while ($resultCounter -lt $maxRetries) } End { Write-Debug ('HttpRequest: ' + $JCHttpRequest); # Write-Debug ('HttpRequestContent: ' + $JCHttpRequestContent.Result); Write-Debug ('HttpResponse: ' + $JCHttpResponse.Result); # Write-Debug ('HttpResponseContent: ' + $JCHttpResponseContent.Result); # Clean up global variables $GlobalVars = @('JCHttpRequest', 'JCHttpRequestContent', 'JCHttpResponse', 'JCHttpResponseContent') $GlobalVars | ForEach-Object { If ((Get-Variable -Scope:('Global')).Where( { $_.Name -eq $_ })) { Remove-Variable -Name:($_) -Scope:('Global') } } Return $Results } } |