Utilisation des applets de commande

Cette section décrit comment utiliser les modules OCI pour les applets de commande PowerShell.

Les applets de commande des modules OCI pour PowerShell reposent sur la trousse SDK Oracle Cloud Infrastructure pour .NET. Ces applets de commande appellent les API REST Oracle Cloud Infrastructure avec les valeurs de paramètre d'applet de commande transmises.

Note

Les noms des paramètres des applets de commande correspondent à ceux des paramètres d'API REST respectifs, tels qu'ils sont répertoriés dans les informations de référence sur les API.

Les API REST OCI utilisent des demandes et des réponses HTTPS. Pour plus d'informations, voir À propos de l'API.

Présentation des applets de commande

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

Par exemple, la commande suivante retourne tous les cmdlets disponibles pour être utilisés avec une ressource d'instance de calcul du service de calcul, 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
Note

L'applet de commande Get-Command standard peut être utilisé pour rechercher des applets de commande présents dans n'importe quel module.

Exemple d'applet de commande

Cet exemple montre comment appeler un applet de commande OCI simple qui appelle l'opération GetNamespace du service de stockage d'objets pour OCI. Cette opération retourne le nom de l'espace de noms de stockage d'objets pour l'utilisateur qui fait la demande.

Note

Installez et importez le service de stockage d'objets avant d'essayer cet exemple. Pour plus d'information, voir Installation.
PS /> Get-OCIObjectStorageNamespace
  
us-phx-test-namespace

Aide sur un applet de commande

Pour obtenir des informations d'aide pour un applet de commande, utilisez l'applet de commande Get-Help, en transmettant le nom de l'applet de commande comme paramètre.

Note

Pour obtenir des informations d'aide plus détaillées, utilisez le paramètre -Full.
Cet exemple montre la sortie de l'aide pour l'applet de commande 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 globaux facultatifs communs à tous les applets de commande présents dans n'importe quel module de service PowerShell OCI.

ConfigFile

Chemin d'accès au fichier de configuration qui fournit les données d'identification pour Oracle Cloud.

Endpoint

Indique le point d'extrémité de service à utiliser pour les appels d'API OCI, y compris le chemin de version d'API requis. Par exemple, https://audit.us-ashburn-1.oraclecloud.com

FullResponse

Par défaut, les applets de commande OCI affichent le corps de réponse de l'opération d'API REST. L'inclusion du paramètre de commutateur FullResponse indique que l'applet de commande doit produire la réponse complète retournée par l'opération d'API encapsulée dans son type .NET associé (un objet contenant des en-têtes de réponse d'API en plus d'un corps de réponse facultatif).

NoRetry

Paramètre de commutation permettant de désactiver la logique de nouvelles tentatives par défaut pour les appels aux services.

Par défaut, les modules OCI pour PowerShell lancent de nouvelles tentatives pour les appels d'API en échec qui retournent les codes de statut 400, 401, 404, 409, 429 et 500. Les nouvelles tentatives utilisent un algorithme d'interruption exponentielle avec un maximum de 5 tentatives sur une période maximale de 10 minutes. Incluez ce paramètre de commutateur dans l'appel d'applet de commande pour désactiver la logique de nouvelles tentatives par défaut.

Profile

Indique le profil à charger à partir du fichier de configuration. Ce paramètre s'attend à ce qu'un nom de profil sensible à la casse existe dans le fichier de configuration.

Region

Indique l'ID région de la région par rapport à laquelle effectuer des appels. Par exemple : us-phoenix-1 ou ap-singapore-1.

TimeOutInMillis

Indique le délai d'attente maximal en millisecondes pour la fin de la demande d'API. La valeur par défaut est 100 000 millisecondes (100 secondes).

AuthType

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

Entrée et sortie d'applet de commande

Cette section décrit comment les applets de commande OCI traitent l'entrée et la sortie.

Entrée d'applet de commande

Les applets de commande OCI acceptent actuellement les entrées des paramètres de ligne de commande ou par pipeline par nom de propriété. Pour voir un exemple sur la transmission des entrées par pipeline par nom de propriété, consultez cet exemple.

Sortie d'applet de commande

Par défaut, les applets de commande OCI retournent uniquement le corps de réponse de l'API encapsulé dans un type .NET associé. Pour les cas d'utilisation qui nécessitent que les utilisateurs inspectent 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 l'applet de commande.

Dans l'exemple suivant, l'opération GetConfiguration du service de vérification pour OCI retourne une ressource Configuration dans le corps de la réponse.

Note

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 la sortie de l'exemple ci-dessus, l'appel par défaut retourne uniquement l'objet .NET qui encapsule le corps de la réponse d'API.

Pour obtenir un objet de sortie qui inclut la réponse d'API complète, incluez le paramètre -FullResponse dans l'appel de l'applet de commande. 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 qui retournent une réponse de demande de travail asynchrone, avec opc-work-request-id dans l'en-tête de réponse et aucun corps de réponse, les applets de commande OCI PowerShell retournent 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;}

Traitement des erreurs

Si une erreur se produit lors de l'exécution d'un applet de commande OCI, l'applet de commande génère une erreur de fin avec un enregistrement d'erreur contenant l'exception et un message d'erreur sur la cause sous-jacente.