VMware Cloud Community
vin01
Expert
Expert

add ThinProvision custom property to vRA blueprint using restapi

I know this is not related to actual powercli question. If any one can answer it could be more helpful. There is no official vRA module yet. I don't why vMware not giving much love to its vRA product!Smiley Sad

Here is the requirement. I have written the below script to check ThinProvision property is available to blueprint or not. Till this extend I can get the report correctly.

Once I get the list of blueprints which doesn't contains  ThinProvision property then I need to add the property to that blueprint. However I don't find any rest method to add custom property to the blueprints in vRA 7.6 API documentation.

So my question - Is it possible to add  custom property(ThinProvision) to blueprints using restmethods. If yes please give me an example.

$cred=Get-Credential

$allorgs='',''

foreach($org in $allorgs){

$vra_server=''

$identityRequest = @{

"username"= $cred.UserName

"password"=$cred.GetNetworkCredential().password

"tenant"=$org

    }

    $json = $identityRequest | ConvertTo-Json

    $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"

    $headers.Add("Accept", 'application/json')  

    $response = Invoke-RestMethod "https://$($vra_Server)/identity/api/tokens" -Headers $headers -Method Post -Body $json -ContentType 'application/json'

    $token = $response.ID

    $restHeaders = @{"Content-Type"="application/json";"Authorization"="Bearer $token"}

    $uri="https://$($vra_Server)/catalog-service/api/consumer/catalogItems"

    $CatalogItem=Invoke-RestMethod -Method Get -Uri $uri -Headers $restHeaders

    foreach($singlecatalogid in  $CatalogItem.content){

    $uri1="https://$($vra_Server)/catalog-service/api/consumer/entitledCatalogItems/$($singlecatalogid.id)/requ..."

    $CatalogItemschema=Invoke-RestMethod -Method Get -Uri $uri1 -Headers $restHeaders

    $VirtualMachinethin=$CatalogItemschema.fields.datatype.schema.fields |Where-Object{$_.id -match 'VirtualMachine.Admin.ThinProvision'}

    if(-not $VirtualMachinethin){

    $VirtualMachinethin="ThinProvision Property not added"

    }

    else {

        $VirtualMachinethin="ThinProvision Property added"  

   }

   New-Object PSObject -Property (

    [ordered]@{

        TenantName = $org

        BluePrint  = $singlecatalogid.name

        ThinProvisionPropertystatus = $VirtualMachinethin

       

    })

}

}

Regards Vineeth.K
0 Kudos
0 Replies