Edit

Share via


Export-ODataEndpointProxy

Generates a module that contains cmdlets to manage an OData endpoint.

Syntax

Default (Default)

Export-ODataEndpointProxy
    [-Uri] <String>
    [-OutputModule] <String>
    [[-MetadataUri] <String>]
    [[-Credential] <PSCredential>]
    [[-CreateRequestMethod] <String>]
    [[-UpdateRequestMethod] <String>]
    [[-CmdletAdapter] <String>]
    [[-ResourceNameMapping] <Hashtable>]
    [-Force]
    [[-CustomData] <Hashtable>]
    [-AllowClobber]
    [-AllowUnsecureConnection]
    [[-Headers] <Hashtable>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

The Export-ODataEndpointProxy cmdlet uses the metadata of an OData endpoint to generate a module that contains cmdlets you can use to manage that OData endpoint. The module is based on CDXML. After this cmdlet generates the module, it saves that module to the path and file name specified by the OutputModule parameter.

Export-ODataEndpointProxy generates cmdlets for create, read, update, and delete (CRUD) operations, non-CRUD actions, and association manipulation.

Export-ODataEndpointProxy generates one CDXML file per endpoint resource. You can edit these CDXML files after the module is generated. For example, if you want to change the noun or verb names of the cmdlets to align with Windows PowerShell cmdlet naming guidelines, you can modify the file.

Every cmdlet in a generated module must include a ConnectionURI parameter in order to connect to the endpoint that the module manages.

Examples

Example 1: Generate a module to manage a retail web service endpoint

PS C:\> Export-ODataEndpointProxy -Uri 'http://services.odata.org/v3/(S(snyobsk1hhutkb2yulwldgf1))/odata/odata.svc' -MetadataUri 'http://services.odata.org/v3/(S(snyobsk1hhutkb2yulwldgf1))/odata/odata.svc/$metadata' -AllowUnsecureConnection -OutputModule 'C:\Users\user\GeneratedScript.psm1' -ResourceNameMapping @{Products = 'Merchandise'}

This command generates a module to manage a retail service endpoint. The command specifies the URI of the endpoint and the URI of the endpoint metadata. The command also provides an output path and script module name as the value of the OutputModule parameter. For the value of the ResourceNameMapping parameter, the command provides a hashtable that maps the resource collection name to the desired noun for the cmdlet set. In this example, Products is the resource collection name and Merchandise is the noun. To allow connections to non-SSL sites, HTTP, as opposed to HTTPS, add the AllowUnsecureConnection parameter.

Parameters

-AllowClobber

Indicates that this cmdlet replaces an existing module.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:10
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False

-AllowUnsecureConnection

Indicates that this module can connect to URIs that are not SSL-secured. The module can manage HTTP sites in addition to HTTPS sites.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:11
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False

-CmdletAdapter

Specifies the cmdlet adapter. The acceptable values for this parameter are: ODataAdapter and NetworkControllerAdapter.

Parameter properties

Type:String
Default value:None
Accepted values:ODataAdapter, NetworkControllerAdapter, ODataV4Adapter
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:6
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Parameter properties

Type:SwitchParameter
Default value:False
Supports wildcards:False
DontShow:False
Aliases:cf

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-CreateRequestMethod

Specifies the request method. The acceptable values for this parameter are: PUT, POST, and PATCH.

Parameter properties

Type:String
Default value:None
Accepted values:Put, Post, Patch
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:4
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False

-Credential

Specifies a user account that has access to the OData endpoint. The default value is the current user. If a remote computer runs Windows Vista or a later release of the Windows operating system, the cmdlet prompts you for credentials.

Parameter properties

Type:PSCredential
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:3
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False

-CustomData

Specifies a hash table of custom data.

Parameter properties

Type:Hashtable
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:9
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False

-Force

Indicates that this cmdlet overwrites an existing generated module of the same name in an existing Modules folder.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:8
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False

-Headers

Specifies the headers of the web request. Enter a hash table or dictionary.

Parameter properties

Type:Hashtable
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:12
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False

-MetadataUri

Specifies the URI of the metadata of the endpoint.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:2
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False

-OutputModule

Specifies the path and module name to which this cmdlet saves the generated module of proxy commands.

This cmdlet copies a binary module, module manifest, and formatting file, if applicable, to the specified folder. If you specify only the name of the module, Export-ODataEndpointProxy saves the module in the $HOME\Documents\WindowsPowerShell\Modules folder. If you specify a path, the cmdlet creates the module folder in that path.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:1
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False

-ResourceNameMapping

Specifies a hashtable that contains mappings that let you customize the generated cmdlets. In this hashtable, the resource collection name is the key. The desired cmdlet noun is the value.

For example, in the hash table @{Products = 'Merchandise'}, Products is the resource collection name that serves as the key. Merchandise is the resulting cmdlet noun. The generated cmdlet names might not align to Windows PowerShell cmdlet naming guidelines. You can modify the resource CDXML file to change the cmdlet names after this cmdlet creates the module. For more information, see Strongly Encouraged Development Guidelines.

Parameter properties

Type:Hashtable
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:7
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False

-UpdateRequestMethod

Specifies the update request method. The acceptable values for this parameter are: PUT, POST, and PATCH.

Parameter properties

Type:String
Default value:None
Accepted values:Put, Post, Patch
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:5
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:True
Value from remaining arguments:False

-Uri

Specifies the URI of the endpoint.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:0
Mandatory:True
Value from pipeline:True
Value from pipeline by property name:True
Value from remaining arguments:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Parameter properties

Type:SwitchParameter
Default value:False
Supports wildcards:False
DontShow:False
Aliases:wi

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.