

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Operazioni relative alle risorse dell'API Cloud Control
<a name="resource-operations"></a>

Usa AWS Cloud Control API to do o altro comando (costruzione di verbi) per creare, leggere, aggiornare, rimuovere ed elencare (-L) operazioni sulle risorse del tuo. Account AWS

**Topics**
+ [Prerequisiti](#resource-operations-prerequisites)
+ [Specificare le credenziali](#resource-operations-permissions)
+ [Garantire che le richieste siano uniche](#resource-operations-idempotency)
+ [Considerazioni](#resource-operations-considerations)
+ [Creazione di una risorsa](resource-operations-create.md)
+ [Aggiornamento di una risorsa](resource-operations-update.md)
+ [Eliminazione di una risorsa](resource-operations-delete.md)
+ [Alla scoperta di risorse](resource-operations-list.md)
+ [Leggere una risorsa](resource-operations-read.md)
+ [Gestione delle richieste di risorse](resource-operations-manage-requests.md)
+ [Identificazione delle risorse con AWS Cloud Control API](resource-identifier.md)

## Prerequisiti per l'utilizzo delle risorse con l'API Cloud Control
<a name="resource-operations-prerequisites"></a>

Per effettuare il provisioning di una risorsa specifica utilizzando l'API Cloud Control, quel tipo di risorsa deve supportare l'API Cloud Control ed essere disponibile per l'uso nella tua Account AWS.
+ **Risorse disponibili per l'uso nel tuo Account AWS**

  Per essere disponibili all'uso nel tuo account, i tipi di risorse pubbliche devono essere attivati e i tipi di risorse private devono essere registrati. I tipi di AWS risorse supportati sono pubblici e sempre attivati. Per ulteriori informazioni, consulta [Utilizzo dei tipi di risorse dell'API Cloud Control](resource-types.md).
+ **Risorse che supportano l'API Cloud Control**

  Per un elenco dei tipi di AWS risorse che supportano l'API Cloud Control, consulta[Tipi di risorse che supportano l’API Cloud Control](supported-resources.md).

  I tipi di risorse di terze parti, sia pubbliche che private, supportano l'API Cloud Control.

  Per i dettagli su come determinare se un tipo di risorsa specifico supporta l'API Cloud Control, consulta[Determinare se un tipo di risorsa supporta l'API Cloud Control](resource-types.md#resource-types-determine-support).

Per informazioni sull'utilizzo dei tipi di risorse, consulta[Utilizzo dei tipi di risorse dell'API Cloud Control](resource-types.md).

## Specificazione delle credenziali per l'API Cloud Control
<a name="resource-operations-permissions"></a>

Nell'ambito dell'esecuzione di operazioni sulle AWS risorse per tuo conto, l'API Cloud Control deve effettuare chiamate ai AWS servizi sottostanti che effettivamente forniscono tali risorse. A tale scopo, l'API Cloud Control richiede le credenziali necessarie per accedere a tali servizi. Esistono due modi per consentire all'API Cloud Control di acquisire tali credenziali:
+ **Credenziali utente**

  Per impostazione predefinita, Cloud Control API crea una sessione temporanea utilizzando le credenziali AWS utente e la utilizza per effettuare le chiamate necessarie ai servizi AWS downstream. Questa sessione dura fino a 24 ore, dopodiché tutte le chiamate rimanenti a AWS Cloud Control API avranno esito negativo.
+ **Credenziali del ruolo di servizio**

  Puoi anche specificare un ruolo di servizio che Cloud Control API deve assumere durante un'operazione su una risorsa, quando effettui la richiesta di risorsa. Tra gli altri vantaggi, la specifica di un ruolo di servizio consente all'API Cloud Control di effettuare chiamate ai AWS servizi sottostanti per un massimo di 36 ore.

  Per utilizzare un ruolo di servizio, specifica il `RoleArn` parametro della richiesta di operazione della risorsa.

  Poiché le azioni dell'API Cloud Control fanno parte del CloudFormation servizio, il ruolo di servizio specificato viene assunto dal CloudFormation servizio (`cloudformation.amazonaws.com`). Per ulteriori informazioni, consulta il [ruolo del CloudFormation servizio](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html) nella *Guida AWS CloudFormation per l'utente*.

Le autorizzazioni richieste per ogni gestore di risorse sono definite nella `handlers` sezione dello schema di quel tipo di risorsa. Per ulteriori informazioni sulla visualizzazione dello schema delle risorse, vedere. [Visualizzazione degli schemi dei tipi di risorse](resource-types.md#resource-types-schemas) La `handlers` sezione è definita nello [schema di definizione del tipo di risorsa](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers).

## Garantire che le richieste di funzionamento delle risorse siano uniche quando si utilizza l'API Cloud Control
<a name="resource-operations-idempotency"></a>

Come best practice, ti consigliamo vivamente di specificare un token di idempotenza con le richieste di creazione, eliminazione e aggiornamento delle operazioni sulle risorse. È preferibile specificare un token che sia unico per ogni richiesta, ad esempio un identificatore univoco universale (UUID). Tale token garantisce che le richieste possano essere disambiguate nei casi in cui una richiesta deve essere ritentata.

Le `update-resource` operazioni `create-resource``delete-resource`, e accettano tutte un `client-token` parametro, che può essere impostato su un token di idempotenza.

## Considerazioni sull'utilizzo dell'API Cloud Control
<a name="resource-operations-considerations"></a>

Ti consigliamo di tenere in considerazione il seguente comportamento del servizio quando esegui operazioni sulle risorse utilizzando l'API Cloud Control:
+ L'API Cloud Control esegue ogni operazione sulle risorse individualmente e indipendentemente da qualsiasi altra operazione sulle risorse.
+ Una singola richiesta di gestione delle risorse all'API Cloud Control potrebbe effettivamente consistere in più chiamate al servizio sottostante che fornisce la risorsa. Per questo motivo, una richiesta di risorse potrebbe non riuscire se completata solo parzialmente, con il risultato che solo alcune delle modifiche richieste vengano applicate alla risorsa.
+ Se un'operazione su una risorsa fallisce in qualsiasi momento, l'API Cloud Control non ripristina la risorsa allo stato precedente.
+ Puoi eseguire solo un'operazione sulla risorsa alla volta su una determinata risorsa utilizzando l'API Cloud Control. Tuttavia, la risorsa può ancora essere utilizzata direttamente, tramite il servizio sottostante che l'ha fornita. Sconsigliamo vivamente questo approccio perché può portare a comportamenti imprevedibili.

# Creare una risorsa con AWS Cloud Control API
<a name="resource-operations-create"></a>

Utilizzate il `create-resource` comando per creare una risorsa.

## Composizione dello stato desiderato della risorsa
<a name="resource-operations-create-desiredstate"></a>

Affinché l'API Cloud Control crei una risorsa, devi specificare lo *stato desiderato* della risorsa che desideri creare. Lo stato desiderato è costituito da un elenco delle proprietà della risorsa che desideri specificare e dei relativi valori desiderati.

Le proprietà di una risorsa sono definite nello schema del tipo di risorsa. Ciò include se la proprietà è obbligatoria, valori validi e altri vincoli di proprietà. Per ulteriori informazioni sulla visualizzazione delle definizioni delle proprietà delle risorse, vedere. [Visualizzazione degli schemi dei tipi di risorse](resource-types.md#resource-types-schemas)

Lo stato desiderato specificato deve essere valido rispetto allo schema del tipo di risorsa.

Ad esempio, supponiamo di voler creare una [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)risorsa con un nome specifico e una politica di conservazione di 90 giorni. Come primo passaggio, è necessario comporre lo stato desiderato della risorsa, formattato come testo JSON.

```
{
  "LogGroupName": "CloudApiLogGroup",
  "RetentionInDays": 90
}
```

Quando chiamate il `create-resource` comando, potete passare lo stato desiderato direttamente in linea come stringa oppure, per definizioni di stato desiderate più complicate, specificare la posizione del file.

Il comando seguente AWS Command Line Interface (AWS CLI) crea la risorsa e specifica nel `desired-state` parametro su cui è impostata la `RetentionInDays` proprietà della risorsa`90`, oltre a specificare il nome del gruppo di log.

```
$ aws cloudcontrol create-resource --type-name AWS::Logs::LogGroup \
    --desired-state '{"LogGroupName": "CloudApiLogGroup", "RetentionInDays":90}'
```

## Monitoraggio dello stato di avanzamento di una richiesta di creazione di risorse
<a name="resource-operations-create-progress"></a>

Il `create-resource` comando restituisce un `ProgressEvent` oggetto che è possibile utilizzare per monitorare lo stato corrente della richiesta di creazione di risorse. Per ulteriori informazioni, consulta [Monitoraggio dello stato di avanzamento delle richieste di gestione delle risorse](resource-operations-manage-requests.md#resource-operations-manage-requests-track).

# Aggiornamento di una risorsa con AWS Cloud Control API
<a name="resource-operations-update"></a>

Utilizzare il `update-resource` comando per aggiornare una risorsa esistente. Ciò include risorse che non erano state originariamente fornite utilizzando l'API Cloud Control.

**Importante**  
Sconsigliamo vivamente di utilizzare l'API Cloud Control per aggiornare le risorse gestite attivamente da altri servizi. Ciò può portare a risultati inaspettati. Ad esempio, non utilizzare l'API Cloud Control per aggiornare le risorse che attualmente fanno parte di uno CloudFormation stack.

Per aggiornare una risorsa esistente, devi specificare l'identificatore della risorsa. Per ulteriori informazioni sulla determinazione dell'identificatore di una risorsa, vedere. [Utilizzo dell'identificatore principale di una risorsa](resource-identifier.md#resource-identifier-using)

L'aggiornamento di una risorsa comporta la modifica dei valori delle proprietà della risorsa. Le proprietà di una risorsa sono definite nello schema del tipo di risorsa. Ciò include se la proprietà è obbligatoria, valori validi e altri vincoli di proprietà. Per ulteriori informazioni sulla visualizzazione delle definizioni delle proprietà delle risorse, vedere. [Visualizzazione degli schemi dei tipi di risorse](resource-types.md#resource-types-schemas)

## Composizione del documento di patch
<a name="resource-operations-update-patch"></a>

Per aggiornare una risorsa, dovete innanzitutto definire gli aggiornamenti come un elenco di *operazioni di patch* contenute in un documento di patch JSON. Questo documento di patch deve rispettare lo standard definito in [https://datatracker.ietf.org/doc/html/rfc6902](https://datatracker.ietf.org/doc/html/rfc6902) (JSON) Patch.

Ogni operazione di patch definisce un singolo aggiornamento a una proprietà specifica della risorsa. Sono richieste le seguenti proprietà:
+ `op`: il tipo di operazione. L'API Cloud Control supporta tutte le operazioni definite nella RFC 6902:`add`,`remove`,`replace`, `move``copy`, e. `test`
+ `path`: Il percorso della proprietà della risorsa, relativo alla `properties` sezione dello schema delle risorse.

A seconda dell'operazione, potrebbero essere necessarie proprietà aggiuntive. Per informazioni specifiche, fare riferimento alla RFC 6902.

Quando si utilizza il `update-resource` comando, è possibile specificare il documento di patch in linea come stringa o specificare una posizione per il file.

L'esempio seguente aggiorna la politica di conservazione di una [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)risorsa denominata `CloudControlApiLogGroup` a 90 giorni.

```
$ aws cloudcontrol update-resource --type-name AWS::Logs::LogGroup \
    --identifier CloudControlApiLogGroup \
    --patch-document '[{"op":"replace","path":"RetentionInDays","value":90}]'
```

## In che modo l'API Cloud Control aggiorna le risorse
<a name="resource-operations-update-how"></a>

Per aggiornare una risorsa, l'API Cloud Control recupera prima lo stato corrente della risorsa, quindi la aggiorna in un processo in due fasi: 
+ L'API Cloud Control combina le operazioni di patch specificate nella richiesta di aggiornamento con lo stato corrente della risorsa, per generare lo stato desiderato della risorsa dopo l'aggiornamento. Le operazioni vengono applicate in sequenza nell'ordine in cui appaiono nel documento di patch. Ogni operazione della sequenza viene applicata allo stato corrente della risorsa; lo stato della risorsa risultante diventa l'obiettivo dell'operazione successiva.

  A questo punto, l'intera richiesta di aggiornamento ha esito negativo se:
  + Un'operazione di patch inclusa nella richiesta non è valida.
  + Un'operazione di patch di `op` tipo `test` non riesce.

  In questi casi, l'intera richiesta di aggiornamento fallisce e l'API Cloud Control non effettua aggiornamenti alla risorsa.
+ L'API Cloud Control chiama quindi il gestore degli aggiornamenti del tipo di risorsa per aggiornare la risorsa.

  Se il gestore degli aggiornamenti fallisce in qualsiasi momento, l'*API Cloud Control non ripristina la risorsa allo stato precedente*.

Ad esempio, considera il seguente documento di patch definito per aggiornare una [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)risorsa. Il documento contiene due operazioni di patch. La prima operazione è di tipo `test` e verifica se la politica di conservazione della risorsa è impostata su 3653 giorni. In tal caso, la risorsa supera il test e l'API Cloud Control passa all'operazione successiva. Questa operazione sostituisce l'attuale valore della politica di conservazione con 180 giorni. Se la politica di conservazione della risorsa è impostata su un valore diverso da 3653 giorni, la prima `test` operazione fallisce e l'API Cloud Control non esegue mai la seconda `replace` operazione.

```
[
  {
    "op": "test",
    "path": "/RetentionInDays",
    "value":3653
  },
  {
    "op": "replace",
    "path": "/RetentionInDays",
    "value":180
  }
]
```

## Monitoraggio dello stato di avanzamento di una richiesta di risorse di aggiornamento
<a name="resource-operations-update-progress"></a>

Il `update-resource` comando restituisce un `ProgressEvent` oggetto che è possibile utilizzare per tenere traccia dello stato corrente della richiesta di funzionamento delle risorse. Per ulteriori informazioni, consulta [Monitoraggio dello stato di avanzamento delle richieste di gestione delle risorse](resource-operations-manage-requests.md#resource-operations-manage-requests-track).

# Eliminazione di una risorsa con AWS Cloud Control API
<a name="resource-operations-delete"></a>

Utilizzate il `delete-resource` comando per eliminare una risorsa esistente. Puoi eliminare la risorsa indipendentemente dal fatto che la risorsa sia stata originariamente fornita utilizzando l'API Cloud Control.

**Importante**  
Sconsigliamo vivamente di utilizzare l'API Cloud Control per eliminare risorse gestite attivamente da altri servizi. Ciò può portare a risultati inaspettati. Ad esempio, non utilizzare l'API Cloud Control per eliminare risorse che attualmente fanno parte di uno CloudFormation stack.

Per aggiornare una risorsa esistente, devi specificare l'identificatore della risorsa. Per ulteriori informazioni sulla ricerca dell'identificatore di una risorsa, vedere. [Utilizzo dell'identificatore principale di una risorsa](resource-identifier.md#resource-identifier-using)

L'esempio seguente elimina una [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)risorsa con il nome di. `CloudControlApiLogGroup`

```
$ aws cloudcontrol delete-resource \
    --type-name AWS::Logs::LogGroup --identifier CloudControlApiLogGroup
```

## Monitoraggio dello stato di avanzamento di una richiesta di eliminazione di una risorsa
<a name="resource-operations-delete-progress"></a>

Il `delete-resource` comando restituisce un `ProgressEvent` oggetto che è possibile utilizzare per tenere traccia dello stato corrente della richiesta di funzionamento delle risorse. Per ulteriori informazioni, consulta [Monitoraggio dello stato di avanzamento delle richieste di gestione delle risorse](resource-operations-manage-requests.md#resource-operations-manage-requests-track).

# Alla scoperta di risorse con AWS Cloud Control API
<a name="resource-operations-list"></a>

Usa il `list-resources` comando per scoprire le risorse attualmente disponibili nel tuo Account AWS and. Regione AWS Ciò include tutte le risorse del tipo di risorsa specificato, indipendentemente dal fatto che siano state fornite tramite l'API Cloud Control, direttamente tramite il servizio sottostante o altri meccanismi (ad esempio facendo parte di uno AWS CloudFormation stack).

Le informazioni restituite per ogni risorsa includono:
+ L'identificatore principale della risorsa.
+ Facoltativamente, può includere una *parte o tutte le* proprietà della risorsa, specificando lo stato corrente della risorsa. Per ulteriori informazioni, consulta [Visualizzazione degli schemi dei tipi di risorse](resource-types.md#resource-types-schemas).

L'esempio seguente restituisce un elenco di risorse. `AWS::Logs::LogGroup`

```
$ aws cloudcontrol list-resources --type-name AWS::Logs::LogGroup
```

L'API Cloud Control restituisce un elenco delle risorse del tipo di risorsa specificato nel tuo account. Ad esempio, `list-resources` restituisce l'identificatore principale e le proprietà delle risorse di tutte le `AWS::Logs::LogGroup` risorse del tuo account, indipendentemente dal fatto che siano state fornite dall'API Cloud Control. Le informazioni restituite sono simili alle seguenti, a seconda delle risorse del tuo account.

```
{
  "TypeName": "AWS::Logs::LogGroup",
  "ResourceDescriptions":
  [
    {
      "Identifier": "CloudControlExample", 
      "Properties": '{"RetentionInDays":180, "LogGroupName": "CloudControlExample", "Arn": "arn:aws:logs:us-west-2:123456789012:log-group:CloudControlExample:*"}'
    },
    {
      "Identifier": "AnotherLogGroupResourceExample", 
      "Properties": '{"RetentionInDays":90, "LogGroupName": "AnotherLogGroupResourceExample", "Arn": "arn:aws:logs:us-west-2:123456789012:log-group:AnotherLogGroupResourceExample:*"}'
    }
  ]
}
```

L'esempio seguente richiede un elenco di `AWS::Kinesis::Stream` risorse.

```
$ aws cloudcontrol list-resources --type-name AWS::Kinesis::Stream
```

Per i flussi Kinesis, l'API Cloud Control restituisce l'identificatore principale di ogni flusso, insieme a un *sottoinsieme* delle proprietà delle risorse. In questo caso, solo una singola proprietà,. `Name` È quindi possibile utilizzare l'identificatore principale di uno stream con `get-resource` per richiedere lo stato corrente completo della risorsa.

```
{
    "TypeName": "AWS::Kinesis::Stream",
    "ResourceDescriptions": [
        {
            "Identifier": "MyKinesisStream",
            "Properties": '{"Name": "MyKinesisStream"}'
        },
        {
            "Identifier": "AnotherStream",
            "Properties": '{"Name": "AnotherStream"}'
        }
    ]
}
```

## Risorse che richiedono informazioni aggiuntive
<a name="resource-operations-list-containers"></a>

Alcune risorse richiedono che tu fornisca informazioni aggiuntive sulle risorse che desideri elencare come parte della richiesta. In questi casi, è necessario utilizzare il `ResourceModel` parametro per specificare queste proprietà.

La tabella seguente elenca queste risorse e le proprietà da specificare nel `ResourceModel` parametro durante le richieste di elenco.


| Resources | Proprietà obbligatorie | 
| --- | --- | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html)  |  `RestApiId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html)  |  `RestApiId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html)  |  `TypeArn` o `TypeName`  | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html)   | `DomainName` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html)   | `DomainName` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html)  |  `TransitGatewayMulticastDomainId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html)  |  `TransitGatewayMulticastDomainId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html) | `Cluster`, `Service` e `ID` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html)  |  `ClusterName`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html)  |  `ClusterName`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html)  |  `LoadBalancerArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)  |  `ListenerArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/cloudcontrolapi/latest/userguide/resource-operations-list.html)  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html)  |  `SchemaVersionId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/cloudcontrolapi/latest/userguide/resource-operations-list.html)  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html)  |  `ProjectId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html)  |  `PortalId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html)  |  `IndexId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html)  |  `IndexId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html)  |  `FlowArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html)  |  `FlowArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html)  |  `FlowArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html)  |  `FlowArn`  | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html)   | `PackagingGroupId` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html)   | `PackagingGroupId` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html)   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/cloudcontrolapi/latest/userguide/resource-operations-list.html)  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html)  | `DBProxyName` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html)   | `Bucket` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html)   | `OutpostId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html)  | `InstanceArn`, `PermissionSetArn`, `PrincipalId`, `PrincipalType`, `TargetId` e `TargetType` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html)  | `InstanceArn` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html)  | `InstanceArn` e `PermissionSetArn` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html)  | `Scope` | 

# Leggere una risorsa con AWS Cloud Control API
<a name="resource-operations-read"></a>

Utilizzando l'identificatore principale di una risorsa, è possibile richiamare il `get-resource` comando per recuperare informazioni dettagliate sulla risorsa. Per informazioni sul recupero dell'identificatore principale di una risorsa, vedere. [Identificazione delle risorse con AWS Cloud Control API](resource-identifier.md)

Le informazioni restituite da `get-resource` includono lo schema della risorsa, che descrive in dettaglio lo stato corrente della risorsa, inclusi i valori delle proprietà, gli eventi supportati e le autorizzazioni necessarie. Per ulteriori informazioni, consulta [Visualizzazione degli schemi dei tipi di risorse](resource-types.md#resource-types-schemas).

L'esempio seguente restituisce lo stato corrente di una `AWS::Logs::LogGroup` risorsa denominata`LogGroupResourceExample`. Per `AWS::Logs::LogGroup` le risorse, il nome di un gruppo di log è l'identificatore principale.

```
$ aws cloudcontrol get-resource --type-name AWS::Logs::LogGroup --identifier LogGroupResourceExample
```

# Gestione delle richieste di funzionamento delle risorse con AWS Cloud Control API
<a name="resource-operations-manage-requests"></a>

Poiché le operazioni sulle risorse sono asincrone, le richieste di risorse, ad `create-resource` esempio, `update-resource` restituiscono un `ProgressEvent` oggetto che contiene informazioni sullo stato corrente della richiesta di creazione o aggiornamento delle risorse.

Ad esempio, una richiesta di creazione di risorse potrebbe inizialmente restituire il seguente oggetto. `ProgressEvent`

```
{
    "ProgressEvent": {
        "EventTime": "2021-08-09T18:17:15.219Z",
        "TypeName": "AWS::Logs::LogGroup",
        "OperationStatus": "IN_PROGRESS",
        "Operation": "CREATE",
        "Identifier": "LogGroupResourceExample",
        "RequestToken": "5f40c577-3534-4b20-9599-0b0123456789"
    }
}
```

Le informazioni restituite nell'`ProgressEvent`oggetto includono un token di richiesta che è quindi possibile utilizzare per tenere traccia o annullare una richiesta di gestione delle risorse.

**Nota**  
Le richieste di gestione delle risorse scadono dopo sette giorni.

## Elenco delle richieste di funzionamento delle risorse attive
<a name="resource-operations-manage-requests-list"></a>

Utilizzate il `list-resource-requests` comando per restituire un elenco di richieste di funzionamento delle risorse attive per un Account AWS and Regione AWS. È possibile filtrare l'elenco per tipo e stato della richiesta.

Le richieste di gestione delle risorse scadono dopo sette giorni.

L'esempio seguente restituisce le richieste di gestione delle risorse attive, ma filtra tutte le richieste di creazione di risorse ancora in corso.

```
$ aws cloudcontrol list-resource-requests --resource-request-status-filter \
    Operations=CREATE,OperationStatuses=IN_PROGRESS
```

Le informazioni restituite per ogni operazione sulle risorse includono un token di richiesta che è quindi possibile utilizzare per tenere traccia o annullare una richiesta di gestione delle risorse.

```
{
    "ResourceRequestStatusSummaries": [
        {
            "EventTime": "2021-08-09T18:17:16.591Z",
            "TypeName": "AWS::Logs::LogGroup",
            "OperationStatus": "SUCCESS",
            "Operation": "CREATE",
            "Identifier": "LogGroupResourceExample",
            "RequestToken": "5f40c577-3534-4b20-9599-0b0123456789"
        }
    ]
}
```

## Monitoraggio dello stato di avanzamento delle richieste di gestione delle risorse
<a name="resource-operations-manage-requests-track"></a>

Utilizzate il `get-resource-request-status` comando per tenere traccia dello stato di avanzamento della richiesta di gestione delle risorse. Questo comando accetta il token di richiesta incluso nell'`ProgressEvent`oggetto generato durante la richiesta iniziale di gestione delle risorse. (È inoltre possibile recuperare il token di richiesta per una richiesta di funzionamento delle risorse utilizzando il `list-resource-requests` comando.) Il `get-resource-request-status` comando restituisce un `ProgressEvent` oggetto aggiornato contenente informazioni sullo stato corrente della richiesta.

Guarda l'esempio seguente.

```
$ aws cloudcontrol get-resource-request-status \
    --request-token 5f40c577-3534-4b20-9599-0b0123456789
```



## Annullamento delle richieste di funzionamento delle risorse
<a name="resource-operations-manage-requests-cancel"></a>

Utilizzare il `cancel-resource-request` comando per annullare una richiesta di funzionamento delle risorse attualmente in corso. Poiché è possibile eseguire una sola operazione su una determinata risorsa alla volta, in alcuni casi potrebbe essere necessario annullare l'operazione corrente sulla risorsa per rendere la risorsa disponibile in modo che possa essere eseguita un'altra operazione su di essa.

L'annullamento di una richiesta di risorse non garantisce che l'API Cloud Control possa annullare immediatamente tutte le operazioni relative alle risorse. Piuttosto, l'API Cloud Control smetterà di effettuare ulteriori chiamate al gestore degli eventi delle risorse. Una singola richiesta di gestione delle risorse all'API Cloud Control potrebbe effettivamente consistere in più chiamate al servizio sottostante che fornisce la risorsa. Per questo motivo, l'annullamento di una richiesta di gestione delle risorse potrebbe lasciare la richiesta parzialmente completata, con il risultato che solo alcune delle modifiche richieste vengano applicate alla risorsa. L'API Cloud Control non ripristina la risorsa allo stato precedente.

Solo le richieste di gestione delle risorse con stato `PENDING` o `IN_PROGRESS` possono essere annullate.

**Nota**  
Sebbene la chiamata `CancelResourceRequest` annulli le operazioni eseguite dall'API Cloud Control, non interrompe alcuna operazione asincrona che potrebbe essere già stata avviata sui servizi downstream.

# Identificazione delle risorse con AWS Cloud Control API
<a name="resource-identifier"></a>

Ogni tipo di risorsa ha una proprietà definita come identificatore *principale*. Il valore di questa proprietà deve essere unico per ogni risorsa di quel tipo in un dato Account AWS e Regione AWS. Ad esempio, molti tipi di risorse includono una `Name` proprietà che deve essere unica per ogni risorsa di quel tipo. In alcuni casi, l'identificatore primario è definito come una combinazione di più proprietà che insieme formano un identificatore univoco. Utilizzando questo identificatore primario, combinato con il tipo di risorsa, è possibile specificare esattamente su quale risorsa si desidera eseguire operazioni sulle risorse come o. `update-resource` `delete-resource`

Inoltre, alcuni tipi di risorse definiscono *identificatori secondari* che possono essere utilizzati anche per identificare in modo univoco risorse di quel tipo.

Per determinare quale proprietà della risorsa (o combinazione di proprietà) è l'identificatore principale di un tipo di risorsa, fate riferimento all'`primaryIdentifier`attributo dello schema del tipo di risorsa. Lo schema include anche identificatori secondari definiti. Per ulteriori informazioni, consulta [Visualizzazione degli schemi dei tipi di risorse](resource-types.md#resource-types-schemas).

## Ottenere l'identificatore principale di una risorsa
<a name="resource-identifier-getting"></a>

Puoi trovare il *valore* dell'identificatore per una risorsa specifica utilizzando i comandi dell'API Cloud Control. Ciascuno dei seguenti comandi restituisce un `ProgressEvent` oggetto che contiene l'identificatore principale delle risorse specificate:
+ 

  ```
  cancel-resource-request
  ```
+ 

  ```
  create-resource
  ```
+ 

  ```
  get-resource-request-status
  ```
+ 

  ```
  list-resource-requests
  ```

## Utilizzo dell'identificatore principale di una risorsa
<a name="resource-identifier-using"></a>

Quando utilizzi i comandi dell'API Cloud Control, puoi specificare l'identificatore primario o qualsiasi identificatore secondario definito per il tipo di risorsa nel relativo schema di risorse. Puoi specificare solo un identificatore. Gli identificatori primari possono essere specificati come stringa o JSON; gli identificatori secondari devono essere specificati come JSON.

Per gli identificatori primari composti (ovvero quelli costituiti da più proprietà di risorse unite insieme), per specificare l'identificatore primario come stringa, elencate i valori delle proprietà nell'*ordine in cui sono specificati nella definizione dell'*identificatore primario, separati da. `|`

Ad esempio, l'identificatore principale della risorsa è definito come:

`"primaryIdentifier": [ "/properties/DatabaseName", "/properties/TableName" ]`

Quindi, per specificare l'identificatore primario di una risorsa come stringa, si utilizza il seguente formato.

`DatabaseName|TableName`

Ad esempio, se si specifica un database con un nome di database `MyDatabase` e un nome di tabella di`MyTable`, si specifica`MyDatabase|MyTable`.

Per gli identificatori composti specificati come JSON, l'ordine delle proprietà non è richiesto, come illustrato nell'esempio seguente.

```
{
  "TableName": "MyTable",
  "DatabaseName": "MyDatabase"
}
```

Per ulteriori informazioni sugli identificatori di risorse, vedere [primaryidentifier](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-primaryidentifier) nell'*interfaccia a riga di CloudFormation comando User Move for Extension Development*.