Skip to content

Commit

Permalink
Removed check, openspec value not present in list
Browse files Browse the repository at this point in the history
  • Loading branch information
pascalvanderheiden committed Apr 26, 2024
1 parent 4e7837a commit b67aebf
Showing 1 changed file with 21 additions and 30 deletions.
51 changes: 21 additions & 30 deletions scripts/azure-apim-discovery.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -16,39 +16,30 @@ else
# az apic service import-from-apim -g $azdenv.RESOURCE_GROUP_NAME -s $azdenv.APIC_SERVICE_NAME --source-resource-ids $allApis
# Write-Host "Importing APIs from Azure API Management completed"

$apiDef = az apic api definition list -g $azdenv.RESOURCE_GROUP_NAME -s $azdenv.APIC_SERVICE_NAME --api-name $azdenv.APIM_SAP_API_NAME --version $azdenv.APIM_SAP_VERSION_NAME --output json | ConvertFrom-Json
$matchingApi = $apiDef | Where-Object { $_.value -eq null }
if (!$matchingApi) {
Write-Host "OpenAPI Specification not found, importing..."
# SMAPI METHOD to import only the SAP API Sepc, as the rest is created via Bicep
# Obtain an access token
$accessToken = az account get-access-token --query accessToken -o tsv
# SMAPI METHOD to import only the SAP API Sepc, as the rest is created via Bicep
# Obtain an access token
$accessToken = az account get-access-token --query accessToken -o tsv

$jsonString = Get-Content -Path "$($azdenv.APIM_SAP_OPENAPI_SPEC_FILE)" -Raw
$jsonString = Get-Content -Path "$($azdenv.APIM_SAP_OPENAPI_SPEC_FILE)" -Raw

# Import Spec
$specUrl = "https://management.azure.com/subscriptions/$($azdenv.AZURE_SUBSCRIPTION_ID)/resourceGroups/$($azdenv.RESOURCE_GROUP_NAME)/providers/Microsoft.ApiCenter/services/$($azdenv.APIC_SERVICE_NAME)/workspaces/$($azdenv.APIC_WORKSPACE_NAME)/apis/$($azdenv.APIM_SAP_API_NAME)/versions/$($azdenv.APIM_SAP_VERSION_NAME)/definitions/$($azdenv.APIM_SAP_DEFINITION_NAME)/importSpecification?api-version=2024-03-01"
$specBody = @{
format = "inline"
value = "$jsonString"
specification = @{
name = "openapi"
version = "3.0.1"
}
} | ConvertTo-Json -Depth 5
$responseSpec = Invoke-RestMethod -Uri $specUrl -Method Post -Headers @{Authorization="Bearer $accessToken"} -Body $specBody -ContentType "application/json"
if ($responseSpec) {
Write-Host "OpenAPI Spec imported successfully"
}
else
{
# Note: The import returns failed, but is successful.
Write-Host "OpenAPI Spec imported successfully"
## Write-Host "Failed to import OpenAPI Spec"
# Import Spec
$specUrl = "https://management.azure.com/subscriptions/$($azdenv.AZURE_SUBSCRIPTION_ID)/resourceGroups/$($azdenv.RESOURCE_GROUP_NAME)/providers/Microsoft.ApiCenter/services/$($azdenv.APIC_SERVICE_NAME)/workspaces/$($azdenv.APIC_WORKSPACE_NAME)/apis/$($azdenv.APIM_SAP_API_NAME)/versions/$($azdenv.APIM_SAP_VERSION_NAME)/definitions/$($azdenv.APIM_SAP_DEFINITION_NAME)/importSpecification?api-version=2024-03-01"
$specBody = @{
format = "inline"
value = "$jsonString"
specification = @{
name = "openapi"
version = "3.0.1"
}
}
else
} | ConvertTo-Json -Depth 5
$responseSpec = Invoke-RestMethod -Uri $specUrl -Method Post -Headers @{Authorization="Bearer $accessToken"} -Body $specBody -ContentType "application/json"
if ($responseSpec) {
Write-Host "OpenAPI Spec imported successfully"
}
else
{
Write-Host "API already exists, skipping import"
# Note: The import returns failed, but is successful.
Write-Host "OpenAPI Spec imported successfully"
## Write-Host "Failed to import OpenAPI Spec"
}
}

0 comments on commit b67aebf

Please sign in to comment.