After Pod Federations and Sites it is time to manage the actual pods. Let’s take a look at what we can do.
$services1.pod | gm
Looks like a short post to me since there’s onl Get, List and Update
[sta_anchor id=”get” unsan=”Get” /]
Pod_Get
Just like with site’s the get can be used in conjunction with a podid that might be gotten from somewhere else
$services1.pod.pod_get((($services1.site.site_list()).pods | select -first 1))
This selects the first podid listed when pulling all the pods from all sites and gets the information about that pod. We’ll see the same information when doing a list but just with all pod’s listed.
[sta_anchor id=”list” unsan=”List” /]
Pod_List
$services1.pod.pod_list()
Those endpoints are the connection servers in the pod. Let’s take a short detour and get the listing for one of those (the podendpoint service only has list and get so you will not see them separately anyway).
$services1.PodEndpoint.PodEndpoint_Get((($services1.pod.pod_list() | select -first 1).endpoints | select -first 1))
It might look lazy to use the select -first one and yes it is a bit but doing a foreach to explain things also doesn’t really work in my opinion.
[sta_anchor id=”update” unsan=”Update” /]
Pod_Update
Standard by now, first we need to connect to the podservice.
$podservice=new-object vmware.hv.podservice $podhelper=$podservice.read($services1, ($services1.pod.pod_list() | select -first 1).id)
Under $podhelper we can already see how to set things.
$podhelper | gm
Let’s update the easy things.
$podhelper.setdescription("This is a new description") $podhelper.setDisplayName("This is a new name") $podservice.update($services1, $podhelper) $services1.pod.pod_list()
As a result we have updated the name and description of the pod. The other thing we can do is assign the pod to another site. Thankfully I already have two of those created.
$services1.site.site_list() $siteid=$services1.site.site_list() | select -first 1
$podhelper.setsite($siteid.id) $podservice.update($services1, $podhelper) ($services1.pod.pod_list()).site $services1.site.site_list()
Both the lists aren’t required but I added them to show that the pods are spread over both pods now.