Utilisation des cmdlets

Cette section explique comment utiliser les modules OCI pour les applets de commande PowerShell.

Les cmdlets des modules OCI pour Powershell sont basées sur le kit SDK Oracle Cloud Infrastructure pour .NET. Ces cmdlets effectuent des appels vers des API REST Oracle Cloud Infrastructure en transmettant leurs valeurs de paramètre.

Remarque

Le nom des paramètres des cmdlets renvoie à celui des paramètres d'API REST correspondants, tels que répertoriés dans Référence d'API.

Les API REST OCI utilisent des demandes et des réponses HTTPS. Pour plus d'informations, reportez-vous à A propos de l'API.

Repérage des cmdlets

Les cmdlet OCI sont nommées en fonction d'un modèle de paire verbe-nom, où verbe est l'opération effectuée sur la ressource désignée par le nom, qui inclut généralement le nom de service suivi du nom de la ressource dans ce service.

Par exemple, la commande suivante renvoie toutes les cmdlets disponibles pour la manipuler d'une ressource d'instance du calcul dans le service Compute, qui fait partie du module OCI Core PowerShell :

PS /> Get-Command -Module OCI.PSModules.Core -Noun "*ComputeInstance*"
 
CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Get-OCIComputeInstance                             0.1.0      OCI.PSModules.Core
Cmdlet          Get-OCIComputeInstanceConsoleConnection            0.1.0      OCI.PSModules.Core
Cmdlet          Get-OCIComputeInstanceConsoleConnectionsList       0.1.0      OCI.PSModules.Core
Cmdlet          Get-OCIComputeInstanceDevicesList                  0.1.0      OCI.PSModules.Core
Cmdlet          Get-OCIComputeInstancesList                        0.1.0      OCI.PSModules.Core
Cmdlet          Invoke-OCIComputeInstanceAction                    0.1.0      OCI.PSModules.Core
Cmdlet          Move-OCIComputeInstanceCompartment                 0.1.0      OCI.PSModules.Core
Cmdlet          New-OCIComputeInstance                             0.1.0      OCI.PSModules.Core
Cmdlet          New-OCIComputeInstanceConsoleConnection            0.1.0      OCI.PSModules.Core
Cmdlet          Remove-OCIComputeInstanceConsoleConnection         0.1.0      OCI.PSModules.Core
Cmdlet          Update-OCIComputeInstance                          0.1.0      OCI.PSModules.Core
Remarque

La commande Get-Command standard permet de trouver les cmdlets présentes dans n'importe quel module.

Exemple de cmdlet

Cet exemple montre comment appeler une cmdlet OCI simple, qui sert elle-même à appeler l'opération GetNamespace du service OCI Object Storage. Cette opération renvoie le nom de l'espace de noms Object Storage pour l'utilisateur qui effectue la demande.

Remarque

Installez et importez le service Object Storage avant d'essayer cet exemple. Pour plus d'informations, reportez-vous à Installation.
PS /> Get-OCIObjectStorageNamespace
  
us-phx-test-namespace

Aide relative aux cmdlets

Pour obtenir des informations d'aide concernant une cmdlet, utilisez la cmdlet Get-Help et transmettez le nom de la cmdlet qui vous intéresse en tant que paramètre.

Remarque

Pour obtenir des informations d'aide plus détaillées, utilisez le paramètre -Full.
Cet exemple montre la sortie d'aide pour la cmdlet Get-OCIObjectStorageNamespace :
PS /> Get-Help Get-OCIObjectStorageNamespace
 
NAME
    Get-OCIObjectStorageNamespace
     
SYNOPSIS
    Invokes ObjectStorage service - GetNamespace operation.
     
     
SYNTAX
    Get-OCIObjectStorageNamespace [-OpcClientRequestId <String>] [-CompartmentId <String>] [-ConfigFile <String>] [-Endpoint <String>] [-NoRetry
    <SwitchParameter>] [-Profile <String>] [-Region <String>] [-FullResponse <SwitchParameter>] [-TimeOutInMillis <Int32>] [<CommonParameters>]
     
     
DESCRIPTION
    Each Oracle Cloud Infrastructure tenant is assigned one unique and uneditable Object Storage namespace. The namespace   is a system-generated string
    assigned during account creation. For some older tenancies, the namespace string may be   the tenancy name in all lower-case letters. You cannot edit a
    namespace.   GetNamespace returns the name of the Object Storage namespace for the user making the request.   If an optional compartmentId query parameter
    is provided, GetNamespace returns the namespace name of the corresponding   tenancy, provided the user has access to it.
     
 
RELATED LINKS
    APIReference https://docs.cloud.oracle.com/en-us/iaas/api/
 
REMARKS
    To see the examples, type: "Get-Help Get-OCIObjectStorageNamespace -Examples"
    For more information, type: "Get-Help Get-OCIObjectStorageNamespace -Detailed"
    For technical information, type: "Get-Help Get-OCIObjectStorageNamespace -Full"
    For online help, type: "Get-Help Get-OCIObjectStorageNamespace -Online

Paramètres communs

Cette section décrit les paramètres de cmdlet globaux facultatifs qui sont communs à toutes les cmdlets présentes dans n'importe quel module de service OCI PowerShell.

ConfigFile

Chemin du fichier de configuration qui fournit les informations d'identification pour Oracle Cloud.

Endpoint

Adresse de service à utiliser pour les appels d'API OCI, y compris tout chemin de version d'API requis. Par exemple, https://audit.us-ashburn-1.oraclecloud.com

FullResponse

Par défaut, les cmdlets OCI génèrent le corps de réponse de l'opération d'API REST. L'ajout du paramètre de commutateur FullResponse permet d'indiquer que la cmdlet doit générer la réponse complète renvoyée par l'opération d'API encapsulée dans le type .NET associé (objet contenant des en-têtes de réponse d'API en plus d'un corps de réponse facultatif).

NoRetry

Paramètre de commutateur permettant de désactiver la logique de nouvelle tentative par défaut pour les appels vers les services.

Par défaut, les modules OCI pour PowerShell effectuent des nouvelles tentatives pour les appels d'API en échec qui ont renvoyé les codes de statut 400, 401, 404, 409, 429 et 500. Les nouvelles tentatives utilisent un algorithme d'attente avec un nombre maximal de 5 tentatives sur une période maximale de 10 minutes. Incluez ce paramètre de commutateur dans l'appel de la cmdlet pour désactiver la logique de nouvelle tentative par défaut.

Profile

Profil à charger à partir du fichier de configuration. Ce paramètre attend un nom du profil avec distinctions des majuscules/minuscules existant dans le fichier de configuration.

Region

Valeur Region-ID de la région vers laquelle envoyer des appels. Par exemple : us-phoenix-1 ou ap-singapore-1.

TimeOutInMillis

Durée d'attente maximale, en millisecondes, pendant laquelle la demande d'API doit aboutir. La valeur par défaut est de 100 000 millisecondes (100 secondes).

AuthType

Définit le type d'authentification à utiliser pour effectuer des demandes d'API. Par défaut, la clé d'API de votre fichier de configuration est utilisée. Les valeurs valides sont ApiKey et InstancePrincipal.

Entrée et sortie de cmdlet

Cette section décrit la manière dont les cmdlets OCI traitent les entrées et les sorties.

Entrée de cmdlet

Les cmdlets OCI acceptent actuellement les entrées transmises via les paramètres de ligne de commande ou via le pipeline par des noms de propriété. Pour consulter un exemple de transmission d'entrées via le pipeline par nom de propriété, reportez-vous à cet exemple.

Sortie de cmdlet

Par défaut, les cmdlets OCI renvoient uniquement le corps de réponse d'API encapsulé dans le type .NET associé. Pour les cas d'utilisation dans lesquels l'utilisateur doit inspecter la réponse d'API complète, y compris les en-têtes de réponse, utilisez le paramètre de commutateur FullResponse dans l'appel de la cmdlet.

Dans l'exemple suivant, l'opération GetConfiguration du service OCI Audit renvoie une ressource Configuration dans le corps de réponse.

Remarque

Pour exécuter l'exemple suivant, importez OCI.PSModules.Audit.
PS /> Get-OCIAuditConfiguration -CompartmentId $env:CompartmentId | gm
 
   TypeName: Oci.AuditService.Models.Configuration
 
Name                MemberType Definition
----                ---------- ----------
Equals              Method     bool Equals(System.Object obj)
GetHashCode         Method     int GetHashCode()
GetType             Method     type GetType()
ToString            Method     string ToString()
RetentionPeriodDays Property   System.Nullable[int] RetentionPeriodDays {get;set;}

Dans l'exemple ci-dessus, l'appel par défaut renvoie uniquement l'objet .NET qui encapsule le corps de réponse d'API.

Pour obtenir un objet de sortie qui inclut la réponse d'API complète, ajoutez le paramètre -FullResponse à l'appel de la cmdlet. Par exemple :

PS /> Get-OCIAuditConfiguration -CompartmentId $env:CompartmentId -FullResponse | gm                                                              
 
   TypeName: Oci.AuditService.Responses.GetConfigurationResponse
 
Name          MemberType Definition
----          ---------- ----------
Equals        Method     bool Equals(System.Object obj)
GetHashCode   Method     int GetHashCode()
GetType       Method     type GetType()
ToString      Method     string ToString()
Configuration Property   Oci.AuditService.Models.Configuration Configuration {get;set;}

Appels asynchrones

Pour les API Oracle Cloud renvoyant une réponse de demande de travail asynchrone, avec opc-work-request-id dans l'en-tête des réponses et aucun corps de réponses, les cmdlet OCI PowerShell renvoient un objet Oci.PSModules.Common.Cmdlets.WorkRequest contenant la propriété OpcWorkRequestId.

Par exemple :


   TypeName: Oci.PSModules.Common.Cmdlets.WorkRequest
 
Name             MemberType Definition
----             ---------- ----------
Equals           Method     bool Equals(System.Object obj)
GetHashCode      Method     int GetHashCode()
GetType          Method     type GetType()
ToString         Method     string ToString()
OpcWorkRequestId Property   string OpcWorkRequestId {get;set;}

Gestion des erreurs

En cas d'erreur lors de l'exécution d'une cmdlet OCI, celle-ci génère une erreur avec fin d'exécution ainsi qu'un enregistrement d'erreur contenant l'exception et un message d'erreur concernant la cause sous-jacente.