NSX plugin ver 1.0.1 - query methods

I work with version 1.0.1 of the NSX plugin for vRO and I can't find any method to query for objects.

For example, I was able to orchestrate the creation of 4 logical switches for a user. But in another workflow that I need to find all logical switches whose names include the name of the user.

Is it possible to do this with the plugin or I need to use the plugin HTTP and REST?

(Same thing for other objects as edges)

Thank you very much

D.

The plugin NSX is incomplete and lacks some methods for some objects.

FindAll works generally if you select this object as the input to a workflow and use the presentation properties see the list successfully.

If it you you should be able to get these do var lSwitches = Server.findAllForType ([type as written in your workflow of entry type]);

The API has also some objects of Manager [objectName] which may or may not include methods for theobjects.

As a work around you can use a REST call to get all IDS use Server.findForId (hostID + "/" + objectId) for each object your result of the operation remains NSX.

You can find sample code in the plugin dynamic Types NSX in the document tab. You can also use it directly to it meet your needs.

Tags: VMware

Similar Questions

  • Query methods NSX - v DynamicTypes plugin V2

    I give a try to plug NSX - v DynamicTypes V2 and I can't find any request method.

    How can I get an object aboard his Id?

    How can I get an object Pool knowing its id and id edge?

    Thank you very much

    D.

    With the Standard Server.findForType (type, id);

    With ID is the ID of the server remains + ' / ' + edgeId + ' / ' + poolId for a type of pool

  • Downloaded the latest VLC Web Plugin ver but Firefox show always old version

    Downloaded VLC Web Plugin Version 2.0.5.0 and rebooted and restarted Firefox.
    Firefox Plug Ins still shows the old version 2.0.2.0.
    When I check that Firefox to version the most recent says 2.0.2.0 is the last and I'm updating.

    When I open VLC as a standalone it happens in version 2.0.5.0.

    Why Firefox is not incorporate the correct version?

    Version 2.0.2.0 shown in Plugins is the version of the Firefox Plugin, not the version of VLC. To see the version of VLC, open VLC then help > on. The Plugin version 2.0.2.0 has remained constant on the latest VLC updates few and probably will not change until a revision is made to the Plugin, if necessary.

  • Failure to install NSX - v DynamicTypes plugin V2

    Hi all

    I have problems with the installation of this Plugin DynamicTypes NSX - v V2.

    The plugin has been successfully imported according to the instructions but when I run the plugin installation (gen - 1 Plugin - install the plug-in)

    Cannot run a validation report 1 errors in the workflow which seems to be centered around the workflow configuration workflow import.

    If I disable validation on start to start and run the workflow, once again, I get the following error

    "ReferenceError: 'ignoreValidationWarnings' is not defined." (Workflow: import of Package Configuration/Setup of import (item3) #10239) »

    My environment is running on the following versions:

    vRo: 6.0.3

    the dynamic types plugin:1.0.1

    NSX:6.2

    NSX Plugin 1.0.2

    Version 0.0.8 custom plugin

    Can someone point me in the right direction?

    Concerning

    Brett

    validation failure.JPGvalidation error location.JPGignore validation warning error.JPG

    I'll have to ask the team to plug-ins how the issue has been addressed and if it is fixed version available for download. But it will happen next week. It's the end of the business day here.

    In the meantime, I'll send you a plug-in version internal which supposedly contains the fix. (link in private message sent)

  • Does not work with the version 6.2.0 plugin version 1.0.2 Build 2986609 NSX NSX

    Hi all

    Alas, we have improved the NSX to 6.2.0 build 2986609, then update the NSX Orchestrator plugin to version 1.0.2 but all operations returns "Version NSX unsupported.

    When will be ready for the new version of the NSX plugin?

    Thank you.

    D.

    Well, I found the solution for my self.

    When you upgrade the plugin NSX, it does not update the configured host of the NSX. Thus, you must remove endpoint NSX and re-create it.

    Hope this helps others.

    D.

  • vRealize 7 - NSX Automation deployments fail due to problems of certificate with vRealize Orchestrator

    Hello community,

    After you have installed the latest version of vRA, vRO, and NSX I run questions when you apply components that use components of the NSX. First of all: details of the version:

    -vRA: 7.0.0 (build 3292778)

    -vRO: 7.0.0.16989 (build 331003)

    -NSX: 6.2.1 (build 3300239)

    vRO plugin versions are delivered with the vRO version listed above with the exception of the plugin NSX, which has been updated to the latest version (1.0.3 published on 17.12.15).

    In the configured tenant vRO is configured as endpoint. I can check the data collection is running and working. I can see the plugin NSX for vRO runs the workflow 'create endpoint NSX' from time to time using the configured user of vRA VRO.

    In the configured tenant vRO is thus configured as server default for ASD vRO. Connection test is successful. When you save the config I'm prompted to approve the vRO certificate, which I confirm. Note that the thumbprint specified matches the footprint of the vRO certificate that I get during the visit of the vRO system on https://vro:8281. I am able to navigate the vRO vRA designer workflows, therefore: connection seems established.

    Within vRO the vRA COFFEE and plug-ins IAAS have been saved successfully. I am able to browse the inventory of plugin for both plugins.

    To solve the problem, I created a new unified plan within the design section of vRA with the following configuration:

    -Transport box: my area of transport configured NSX (checked: manual creation on this area using NSX works very well)

    -Routed res pol. Bridge: my reference for the dash cluster to use Pol

    -The only component dragged to canvas is a 'network and safety'-> 'On-Demand NAT Network' that uses a profile preset 1-to-many network as is "Parent network profile" without manual modification.

    -Note that, although there is a plan very simple example to illustrate the problem, it happens with any model that I have set up if any component is confgured requiring the NSX plugin for vRO.

    "Whenever I ask this plan, the request fails with the error message:" ","application [fa1e0689-0d06-4308-a914-e498c0d1fd99]: 404 not found "

    Looking in vCenter, NSX and vRO I can check that nothing is really trigged when you ask for the action plan.

    Consider the vRA /storage/log/vmware/vcac/catalina.log becomes very visible:

    com.vmware.vcac.iaas.vco.network.helper.VcoEndpointSelector.isEndpointAlive:88 -
    vRealize Orchestrator endpoint with url [https://s00-vro.my.domain:8281/vco] is not alive. 
    Exception message:> [Host name 's00-vro.my.domain' does not match the certificate subject provided by the peer (CN=s00-vro.my.domain, OU=VMware, O=My Company, C=DE)]
    
    com.vmware.vcac.iaas.vco.network.helper.VcoEndpointSelector.getFirstAliveEndpointByPriority:200
    - vRealize Orchestrator endpoint [https://s00-vro.my.domain:8281/vco] with priority 1 is not alive. Skipping.
    
    org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolv
    er.logException:189 - Handler execution resulted in exception: Endpoint not found. There are no vRealize Orchestrator endpoints that are alive.
    
    com.vmware.vcac.platform.service.rest.resolver.ApplicationExceptionHandler.handleHttpStatusCodeException:673 - 404 Not Found
    org.springframework.web.client.HttpClientErrorException: 404 Not Found
    ...
    ...
    ...
    
    

    Please note that I double checked the certificate. This is a self-signed certificate created using the 7.0 vRO new control panel, the one I get when you go to https://vro:8281. It is valid and the object (issed to CN) matches perfectly the hostname entered the ASD and endpoint configuration in the vRA. It is separable and time on all components of the server is in sync with the use NTP.

    Now, I even re-generated certificate and re-registered and rebooted all the components, but while I can see that the certificate has been updated all components I always get the same question.

    Never had this problem with the previous version of the NSX / vRA / vRO. I checked the documentation if nothing has changed here, but did not find what I'm doing wrong. Anythimg I'm missing here? Any bug?

    OK, this seems to be the issue. So put atleast to previous day since version ofvRO (cannot check if it's true for charges vRO 7 installs as well but it is probably) vRO 'control center' will generate certificates based SHA1 vRA love not for actions that use the endpoint in the vRA vRO. ASD seems to work without these problems.

    Sidenote: VRO upgraded installs will also come with SHA1 based CERT if they use a self-signed cert created by vRO. However: you would think that it is sufficient to recreate the cert using the control center. But it turns out it isn't, because it will generate a (new) based SHA1 cert.

    What I did to solve the problem:

    1. create a vRO SSH2 based certificate without the cert extensions, similar to the one that ships with built-in vRA vRO. I tend to use xCA for these jobs, but openSSL will do as well. The exact format required for the certificate of vRO is not documented, but I can make sure you need it like this: PEM certificate in key private and public including format PKCS #1, formatted as follows:

    -----BEGIN RSA PRIVATE KEY-----
    (Your private Key: your_vro_server.key)
    -----END RSA PRIVATE KEY-----
    -----BEGIN CERTIFICATE-----
    (Your primary certificate: your_vro_server.crt)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    (Your intermediate certificate: intermed.crt)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    (Your root certificate: root.crt)
    -----END CERTIFICATE-----
    

    I had problems when I used the key extensions so I would say you don't use and don't create a very basic cert without extensions V3, as indicated on the right of the image to my last post (ideally, you want to have a cert with the same properties as the cert is used by the device of integrated vRO vRA unless of course different CN) etc.).

    2. use the vRO control center located at https://your-externa-vro:8283 / vco-controlcenter / #/ and move to--> Orchestrator Server SSL certificate certificates. Use the action to import to import your PEM cert. It should tell you that you need to restart your device vRO. Then RESTART the device (for not just restart the service, this seems not be sufficient).

    3 al ' vRA remove the Endpoint vRO everywhere wherever it has been configured. Also, I removed the vRO to the ASD config just to make sure that nothings left.

    4 reboot the vRA power (IAAS can be left as what). I needed to do this because I have seen that the keystore at some point would keep beeing crushed by CERT vRA (?), I deleted it (AND I checked that they are deleted) reappears in the keystore after a while. After a reboot, the problem was gone, the keystore was clean.

    5. Add the configuration of endpoint and ASD vRO. Accept the certificate.

    6. the works.

    Therefore, while I have no more time to solve the problems more than I guess the problem is the SHA1 function certificate generated by the device of vRO. The internal unit is equipped with a SHA2 based cert that works and after that change the external device SHA1 cert in a basic cert SHA2 all works.

  • Query object of vCO VCloud

    Hello

    I wonder if someone can help me.

    I am interrogating vCloud for a vCloud:vAppTemplate and a vCloud:Vdc object. The only input parameter, I have right now is a string containing the name of vAppTemplate and VDC Org name.

    Is this possible using the methods in the 1.5 Plugin for vCO vCloud?

    I can see various query methods but am no Javascript/vCO exprt so trying to figure out how I would be able to return a recognized real Type. I need to update a workflow with the output attribute, so that it can be used to instantiate a VAPP model.

    Any help is very appreciated

    Thank you

    Here's a sample to retrieve all models of VAPP by name.

    var queryService = vcdHost.getQueryService();
    
    var expression = new VclExpression(VclQueryVAppTemplateField.NAME, name, VclExpressionType.EQUALS);
    var filter = new VclFilter(expression);
    var params = new VclQueryParams();
    params.setFilter(filter);
    
    var vAppTemplates = new Array();
    
    var resultSet = queryService.queryRecords(VclQueryRecordType.VAPPTEMPLATE, params);
    
    while (resultSet != null)  {
        var records = resultSet.getRecords(new VclQueryResultVAppTemplateRecord());
        //System.log(records.length + " records found");
        for each (var record in records) {
            var vAppTemplateRef = new VclReference();
            vAppTemplateRef.href = record.href;
            vAppTemplateRef.name = record.name;
            vAppTemplateRef.type = record.type;
            vAppTemplates.push(vcdHost.getEntityByReference(VclEntityType.VAPP_TEMPLATE, vAppTemplateRef));
        }
        resultSet = resultSet.getNextPage();
    }
    
    return vAppTemplates;
    

    And here are those of a VDC data (call the first action above).

    if (vdc == null) throw "getVApptemplatesByNameFromVdc: vdc is null";
    
    var vAppTemplates = System.getModule("com.vmware.pso.library.vcloud.qs").getVAppTemplatesByName(vdc.getHost(), name);
    
    var vAppTemplatesInVdc = new Array();
    for each (var vAppTemplate in vAppTemplates) {
        if (vAppTemplate.parent == vdc) vAppTemplatesInVdc.push(vAppTemplate);
    }
    return vAppTemplatesInVdc;
    

    You could change the other to verify the VDC name instead of the VDC object.

    if (vAppTemplate.parent.name == vdcName)
    

    Christophe.

  • VMWare plugin? Where?

    Long story short, the work bought several Compellent controllers integrate (possibly) in our farm of VMWare and at the same time bought the license for the plugin VMWare for HDS.  Now that it's FINALLY time to to face the integration of the test plan, the plugin is not found.  These forums and research of Compellent customer portal turns up zero results.  Why make it so difficult, Dell?

    In the Web of HDS Knowledge Center kc.compellent.com website just click on "Software" in the "Downloads" section on the left... The pieces of VMware integration are:

    -"vSphere Client Plugin Ver 1.6 download.

    -This you will sculpt storage in VMware and have a view of stats Compellent

    -' Proofreading Manager 7.2 download»

    -This belay vCenter and allow you to plan VSS/VM enabled SAN snapshots snapshots of virtual machines

    "CITV v2.0 download the location of the link.

    -This is a PDF file pointing to the download location of the unit for the integration of VASA

  • BlackBerry WebWorks PIM Contact Plugin customization for retriving the list of all the Contacts in the phonebook

    Hi all

    I use the plugin contact Blackberry 10 webwroks sdk 1.0.0.Howvere pim, it gives me almost all pim access contact api.

    However, I would like to add a few additional options of pim api. Exactly, I want to customize seen pim plugin contact. And to expose methods added to the WebWorks project.

    Now, will I have to make the plugin necessary to start contact (by writing native code, and then wrap the same in construction of extension).

    Or is he in any case, I can get the code for the pim.contact plugin that came with blackberry SDK and can make the necessary changes in the native code and buiding new folder so and, following the steps for the construction of the extension.

    Here is the reason why I am demanding to make it personalized:

    I can't find any method that can retrieve list of the basicarry contact a table containing data for all contacts. The only thing I am able to do using the method find explicitly by setting the limit.

    Please suggest something and also correct me if I am wrong somewhere.

    It may be easier to start with your own custom extensions, but if you want to take a look at the SDK WebWorks and included extensions, that would be the best starting point.

    https://github.com/BlackBerry/BB10-WebWorks-framework/tree/master/ext/PIM.contacts

  • Category of request HTTP AIC method

    Hello

    I'm working on my review of IPS for CCSP certification, I have a doubt about the difference between 'set the query method' and less ' recognized the method "http AIC method category, which I can understand set request method is used to define strategies with signatures that include a single HTTP method, however I can't think on the method of application signatures recognized how can be used I noticed that you can define several methods in a signature, so I think it's the same signature but applied to several methods at the same time. It has the same appearance with the MIME type, which also includes 'sets the type of content' and 'reconigzed content type. I'd appreciate if someone can give me an explanation or an example about these options.

    Thanks to all for your responses.

    Hello Fernando,

    Your interpretation is correct. recognized-request-methods are recognized by the sensor. This selection allows to easily to include every method that includes the sensor.

    Take a look at signature 12676/0 for an example of using recognized-request-methods and signatures 12712-12677/0/0 for examples of set-request-method is used.

    Thank you

    Blayne Dreier

    Cisco TAC team climbing

    * Please see our Podcasts *.

    TAC security show: http://www.cisco.com/go/tacsecuritypodcast

    TAC IPS Media Series: https://supportforums.cisco.com/community/netpro/security/intrusion-prevention?view=tags&tags=tac_ips_media_series

  • How to access select a value choice presents inside the query.

    Hi Experts ADF,

    JDEV 12.1.3.0

    I have a query Panel, which contains a selectonechoice in field.i.e of search category drop down.

    Now when you click on search how do I need to capture the value drop-down list. Based on the drop in value, I want to disable the button in the table that are in panelCollection

    Thank you

    Roy

    Hello

    you need to do your own processQuery of the af.query method

    EDIT:

    I forgot to add the link Ashish Awasthi (Jdev/ADF) Blog: the substitution of the listener default query, validation in the field of af: query-Oracle ADF

    Kind regards

    Ruben,

  • plugin JavaScript and css file does not load in Apex 5.0 in certain circumstances

    Hello

    I have a strange problem. I've migrated a 4.2 application and its plugins to version 5.0.

    On my test server that everything works perfectly, plugins properly load css and javascript libraries.

    On the server to the client, even if the configuration is identical (Oracle 11 g, ADR 3.0, Glassfish), any plugin loading fails and triggers an error like:

    http://W2k3-Theos-t-AP/ords/i3std/r/2105/files/plugin/32865463423023705/v1/Select2.CSS

    Method: GET

    Status: 404 not found

    Currently the Plugin files (javascript and css) are stored in Oracle. Does it mean that I have muss stores as static files?

    Thanks for help

    Frédéric

    Kiran,

    Unlock APEX_LISTENER and APEX_REST_PUBLIC_USER and everything works perfectly.

    Thanks to Peter and Kiran, Apex is an excellent product thanks to its fantastic team

    Best regards

    Frédéric

  • vRO/vRA NSX integration problem

    Hey guys,.

    I'm having a weird phenomenon when you try to deploy a plan of action with network NAT-On-Demand of vRA.

    vRA version: 7.01

    I use the vRO that comes with the device of vRA.


    I visited the following links (and more) to add integration NSX:

    Integration of NSX with vRA - BK data center Blog

    http://theithollow.com/2016/03/09/vrealize-automation-7-deploy-NSX-blueprints/

    http://dailyhypervisor.com/vrealize-automation-Vcac-6-1-NSX-6-1-creating-NSX-reservations/

    vRealize Automation 7: addition of NSX integration | automatevi.com

    Whenever I have deploy a BP with NAT-On-Demand network.

    I get the following error:

    [Error code: 44014]-[Error Msg: vRealize Orchestrator workflow [endpoint NSX create] not found.]

    Endpoint NSX works correctly from the point of view of vRO and the "Create NSX endpoint" workflow is in place.

    Any ideas?

    OK, problem solved.

    firestartah, NSX successfully completed data collection, but I'm not sure that the NSX collection collects information vRO regarding NSX workflows.

    Anyway, I tried to reinstall the plugin NSX in vRO and it did not help. I also tried to remove the vRO EP and create a new one and still no change.

    Finally - I removed the NSX plugin, but this time I deleted the NSX package with its work sequences and reinstalled the plugin once again.
    Now the process is going behind the scenes of the addition of endpoint NSX (completed successfully today) and fails for an entirely different reason

    Thank you very much for your help!

  • Deployment of VIO with NSX in SoftLayer starts no neutrons

    Here is the error in the web client to Vcenter

    -With the NSX network: Installation fails 95% due to neutron startup failure

    Ansible, connect you the controller goes around this:

    2015-06-29 21:11:23, 601 p = 504 u = jarvis |  TASK: [config-controller | role service to look user tenant service] *.

    2015-06-29 21:11:24, 786 p = 504 u = jarvis |  OK: [10.2.18.207]

    2015-06-29 21:11:24, 787 p = 504 u = jarvis |  TASK: [config-controller | disable starting nod at startup services] *.

    2015-06-29 21:11:24, p = 504 938 u = jarvis |  OK: [10.2.18.207] = > (item = wink-api)

    2015-06-29 21:11:24, 947 p = 504 u = jarvis |  OK: [10.2.18.208] = > (item = wink-api)

    2015-06-29 21:11:25, p = 504 060 u = jarvis |  OK: [10.2.18.207] = > (item = wink-registry)

    2015-06-29 21:11:25, p = 504 067 u = jarvis |  OK: [10.2.18.208] = > (item = wink-registry)

    2015-06-29 21:11:25, p = 504 077 u = jarvis |  TASK: [config-controller: write the fernet key file] *.

    2015-06-29 21:11:26, p = 504 027 u = jarvis |  OK: [10.2.18.207]

    2015-06-29 21:11:26, p = 504 028 u = jarvis |  OK: [10.2.18.208]

    2015-06-29 21:11:26, p = 504 041 u = jarvis |  TASK: [config-controller: neutrons from update server] *.

    2015-06-29 21:11:31, p = 504 096 u = jarvis |  changed: [10.2.18.207]

    2015-06-29 21:11:31, 123 p = 504 u = jarvis |  changed: [10.2.18.208]

    2015-06-29 21:11:31, p = 504 136 u = jarvis |  TASK: [controller config: configuration of neutrons of update] *.

    2015-06-29 21:11:34, 334 p = 504 u = jarvis |  changed: [10.2.18.207]

    2015-06-29 21:11:34, 338 p = 504 u = jarvis |  changed: [10.2.18.208]

    2015-06-29 21:11:34, 350 p = 504 u = jarvis |  TASK: [config-controller: initialize the database of neutrons] *.

    2015-06-29 21:11:35, p = 504 950 u = jarvis |  changed: [10.2.18.207]

    2015-06-29 21:11:35, p = 504 951 u = jarvis |  TASK: [config-controller: stop neutrons on all controllers] *.

    2015-06-29 21:11:36, 118 p = 504 u = jarvis |  OK: [10.2.18.208]

    2015-06-29 21:11:36, 128 p = 504 u = jarvis |  changed: [10.2.18.207]

    2015-06-29 21:11:36, 138 p = 504 u = jarvis |  TASK: [config-controller | start neutrons on the first controller] *.

    2015-06-29 21:11:36, 386 p = 504 u = jarvis |  changed: [10.2.18.207]

    2015-06-29 21:11:36, 387 p = 504 u = jarvis |  TASK: [config-controller: wait neutron start on the first controller to NSX] *.

    2015-06-29 21:26:36, p = 504 877 u = jarvis |  has failed: [10.2.18.207] = > {'passed': 900, "failed": true}

    2015-06-29 21:26:36, p = 504 877 u = jarvis |  MSG: timeout when waiting for 127.0.0.1:9696

    2015-06-29 21:26:36, p = 504 878 u = jarvis |  FATAL: all hosts have already failed - abandonment

    I also see

    NSXpluginException: An unexpected error has occurred in the NSX plugin: creation of internal networks of service metadata failed, I chose the network of metadata to be in the same network as the management and another to try, both times was not the same.

    Any help would be great...

    For people who could see something similar, it was a problem with the version of the NSX, it was 6.1.1 so when the ansible VIO sent a set of instructions for the service of neutrons at the start, it was not based, so I ended up doing a NSX upgrade to 6.2.

  • JDev 11.1.2.1 method Execute (with bind variable) before the page is displayed

    Hi all

    I have a view object with a query that uses a variable binding. I drag the data on my .jsf page control to create a table. I create a query method on a bean in sight. The query method uses the content of one of the attributes of the bean to set the link for the query variable:

    vo.setNamedWhereClauseParam ("CraIdBindVar", sessionBean.getCraId ());

    I put a button on the page that calls the method of the request and it fills the table. That's fine, but I don't want the user to have to click the "query" button when browsing this page. I found forums dealing with create an AMImpl.jave method, create a link on the page, create an executable file for the link. It works that the method is executed until the page appears. However, the AMImpl method cannot call sessionBean.getCraid () to obtain the data required to complete the binding variable.

    Is it possible to run my method of view range bean before the page is displayed? Or maybe a way for the AMImpl.java method to access the range of view variable?

    Thank you, Steve

    Steve,
    You can drag a call method on the workflow activity. Select the new method call activity, and open the property inspector. Here you choose your bean method in the method property. Now, first of all, you go to this activity of method call, then the page.

    Timo

Maybe you are looking for

  • HP 2000 2116 - YOU: laptop heats up abnormally

    Hello I installed Windows 7 Ultimate (32 bit) a few days back. Now, every time I listen to online for a while my laptop festers abnormally and stops automatically, although a cooling block. It never happened before with other OS I installed as Window

  • How to turn off speech recognition

    I need to turn off speech recognition in my computer how do? I can't turn off the speech recognition, implemented and I need an explanation brief on how to do it. I tried, but it does nothing. The help of speech recognition button is not useful.

  • Unable to open video files transferred from an SD card

    I have the same problem as others that I can't open the video files. Here's my golden anniversary and I don't want to lose them. Cliff.S Files download from card SD OK but then will be not open. I want to burn a disk of Cliff

  • Volume keys side blackBerry Smartphones

    I just got my new "BOLD" and the side volume keys do not work... it nothing happens when I touch them. Is there something that I need to enable to operate?

  • How can you repeat an emoticon on the screen

    Trying to repeat an emoticon (martini glass) through the thought of my screen that I could repeat the emoticon by just holding the mouse button down (or something like that).  Anyone How to get an emoticon to repeat across the screen without having t