

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à.

# Attributi di configurazione e distribuzione dello stack
<a name="workingcookbook-json"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Quando OpsWorks Stacks esegue un comando su un'istanza, ad esempio un comando deploy in risposta a un evento del ciclo di vita Deploy, aggiunge un set di attributi all'oggetto nodo dell'istanza che descrive la configurazione corrente dello stack. Per gli eventi Deploy e i [comandi dello stack Execute Recipes, Stacks](workingstacks-commands.md) installa gli attributi deploy, che forniscono alcune informazioni aggiuntive sulla distribuzione. OpsWorks Per ulteriori informazioni sull'oggetto nodo, consulta [Sostituzione degli attributi](workingcookbook-attributes.md). Per un elenco degli attributi di configurazione e distribuzione dello stack più usati, inclusi i nomi di nodo completi, consulta [Attributi di configurazione e distribuzione dello stack: Linux](attributes-json-linux.md) e [Attributi dei libri di ricette predefiniti](attributes-recipes.md).

**Nota**  
Negli stack Linux, è possibile ottenere un elenco completo di questi attributi, formattati come oggetto JSON, utilizzando il [comando get\$1json](agent-json.md) dell'interfaccia a riga di comando dell'agente. 

Le seguenti sezioni mostrano gli attributi associati a un evento Configure (Configurazione) e a un evento Deploy (Distribuzione) per uno stack semplice, costituito da quanto segue:
+ Un livello PHP App Server con due istanze
+ Un HAProxy livello con un'istanza

**Gli esempi provengono da una delle istanze di PHP App Server, php-app1.** Per comodità, gli attributi sono formattati come oggetto JSON. La struttura dell'oggetto è mappata ai nomi completi degli attributi. Ad esempio, l'attributo `node[:opsworks][:ruby_version]` viene visualizzato come segue in una rappresentazione JSON.

```
{
  "opsworks": {
    ...
    "ruby_version": "1.8.7",
    ...
  }
}
```

**Topics**
+ [Attributi di configurazione](#workingcookbook-json-configure)
+ [Attributi di distribuzione](#workingcookbook-json-deploy)

## Attributi di configurazione
<a name="workingcookbook-json-configure"></a>

L'oggetto JSON seguente mostra gli attributi per un evento Configure (Configurazione), che si verifica in ogni istanza in uno stack quando un'istanza passa online o offline. Gli attributi includono gli attributi di configurazione dello stack predefiniti ed eventuali [attributi JSON personalizzati](workingstacks-json.md) definiti per lo stack prima dell'evento (nessuno in questo esempio). L'esempio è stato modificato per contenere la lunghezza. Per una descrizione dettagliata dei diversi attributi, consulta [Attributi di configurazione e distribuzione dello stack: Linux](attributes-json-linux.md) e [Attributi dei libri di ricette predefiniti](attributes-recipes.md).

```
{
  "opsworks": {
    "layers": {
      "php-app": {
        "id": "4a2a56c8-f909-4b39-81f8-556536d20648",
        "instances": {
          "php-app2": {
            "elastic_ip": null,
            "region": "us-west-2",
            "booted_at": "2013-02-26T20:41:10+00:00",
            "ip": "192.0.2.0",
            "aws_instance_id": "i-34037f06",
            "availability_zone": "us-west-2a",
            "instance_type": "c1.medium",
            "private_dns_name": "ip-10-252-0-203.us-west-2.compute.internal",
            "private_ip": "10.252.0.203",
            "created_at": "2013-02-26T20:39:39+00:00",
            "status": "online",
            "backends": 8,
            "public_dns_name": "ec2-192-0-2-0.us-west-2.compute.amazonaws.com"
          },
          "php-app1": {
            ...
          }
        },
        "name": "PHP Application Server"
      },
      "lb": {
        "id": "15c86142-d836-4191-860f-f4d310440f14",
        "instances": {
          "lb1": {
           ...
          }
        },
        "name": "Load Balancer"
      }
    },
    "agent_version": "104",
    "applications": [

    ],
    "stack": {
      "name": "MyStack"
    },
    "ruby_version": "1.8.7",
    "sent_at": 1361911623,
    "ruby_stack": "ruby_enterprise",
    "instance": {
      "layers": [
        "php-app"
      ],
      "region": "us-west-2",
      "ip": "192.0.2.0",
      "id": "45ef378d-b87c-42be-a1b9-b67c48edafd4",
      "aws_instance_id": "i-32037f00",
      "availability_zone": "us-west-2a",
      "private_dns_name": "ip-10-252-84-253.us-west-2.compute.internal",
      "instance_type": "c1.medium",
      "hostname": "php-app1",
      "private_ip": "10.252.84.253",
      "backends": 8,
      "architecture": "i386",
      "public_dns_name": "ec2-192-0-2-0.us-west-2.compute.amazonaws.com"
    },
    "activity": "configure",
    "rails_stack": {
      "name": null
    },
    "deployment": null,
    "valid_client_activities": [
      "reboot",
      "stop",
      "setup",
      "configure",
      "update_dependencies",
      "install_dependencies",
      "update_custom_cookbooks",
      "execute_recipes"
    ]
  },
  "opsworks_custom_cookbooks": {
    "recipes": [

    ],
    "enabled": false
  },
  "recipes": [
    "opsworks_custom_cookbooks::load",
    "opsworks_ganglia::configure-client",
    "ssh_users",
    "agent_version",
    "mod_php5_apache2::php",
    "php::configure",
    "opsworks_stack_state_sync",
    "opsworks_custom_cookbooks::execute",
    "test_suite",
    "opsworks_cleanup"
  ],
  "opsworks_rubygems": {
    "version": "1.8.24"
  },
  "ssh_users": {
  },
  "opsworks_bundler": {
    "manage_package": null,
    "version": "1.0.10"
  },
  "deploy": {
  }
}
```

La maggior parte delle informazioni è inclusa nell'attributo `opsworks`, che viene spesso definito come spazio dei nomi. L'elenco seguente descrive gli attributi principali:
+ `layers`attributi: un insieme di attributi, ognuno dei quali descrive la configurazione di uno dei livelli dello stack.

  Per questo esempio i livelli sono identificati dai relativi nomi brevi `php-app` e `lb`. Per ulteriori informazioni sui nomi brevi per altri livelli, consulta [OpsWorks Stacks Layer Reference](layers.md). 
+ `instances`attributi: ogni livello ha un `instances` elemento, che include un attributo per ciascuna istanza online dei livelli, denominato con il nome breve dell'istanza.

  Il livello PHP App Server ha due istanze e. `php-app1` `php-app2` Il HAProxy livello ha un'istanza,. `lb1` 
**Nota**  
L'elemento `instances` contiene solo le istanze che si trovano nello stato online quando vengono creati gli attributi di configurazione e dello stack specifici.
+ Attributi dell'istanza: ogni attributo dell'istanza contiene un set di attributi che caratterizzano l'istanza, come l'indirizzo IP privato e il nome DNS privato dell'istanza. Per brevità, l'esempio mostra solo l'attributo `php-app2` in dettaglio. Gli altri contengono informazioni simili.
+ `applications`— Un elenco di app distribuite, non utilizzate in questo esempio.
+ `stack`— Il nome dello stack; `MyStack` in questo esempio.
+ `instance`— L'istanza in cui sono installati questi attributi; `php-app1` in questo esempio. Le ricette possono utilizzare questo attributo per ottenere informazioni sull'istanza in cui sono in esecuzione, ad esempio l'indirizzo IP pubblico dell'istanza.
+ `activity`— L'attività che ha prodotto gli attributi; un evento Configure in questo esempio.
+ `rails_stack`— Lo stack Rails per gli stack che includono un livello Rails App Server.
+ `deployment`— Se questi attributi sono associati a una distribuzione. In questo esempio è impostato su `null` perché gli attributi sono associati a un evento Configure (Configurazione).
+ `valid_client_activities`— Un elenco di attività client valide.

L'attributo `opsworks` è seguito da alcuni altri attributi di primo livello, tra cui i seguenti:
+ `opsworks_custom_cookbooks`— Se i libri di cucina personalizzati sono abilitati. In caso affermativo, l'attributo include un elenco di ricette personalizzate.
+ `recipes`— Le ricette gestite da questa attività.
+ `opsworks_rubygems`— La RubyGems versione dell'istanza.
+ `ssh_users`— Un elenco di utenti SSH; nessuno in questo esempio.
+ `opsworks_bundler`— La versione del bundler e se è abilitata.
+ `deploy`— Informazioni sulle attività di distribuzione; nessuna in questo esempio.

## Attributi di distribuzione
<a name="workingcookbook-json-deploy"></a>

Gli attributi per un evento Deploy (Distribuzione) o un [comando dello stack Execute Recipes (Esegui ricette)](workingstacks-commands.md) sono costituiti dagli attributi di configurazione e distribuzione dello stack predefiniti e da eventuali attributi dello stack o di distribuzione personalizzati (nessuno per questo esempio). L'oggetto JSON seguente mostra gli attributi di **php-app1** associati a un evento Deploy (Distribuzione) che ha distribuito l'app SimplePHP nelle istanze PHP dello stack. La maggior parte dell'oggetto è costituita da attributi di configurazione dello stack simili a quelli per l'evento Configure (Configurazione) descritto nella sezione precedente, quindi l'esempio è incentrato principalmente sugli attributi specifici della distribuzione. Per una descrizione dettagliata dei diversi attributi, consulta [Attributi di configurazione e distribuzione dello stack: Linux](attributes-json-linux.md) e [Attributi dei libri di ricette predefiniti](attributes-recipes.md).

```
{
   ...
  "opsworks": {
    ...
    "activity": "deploy",
    "applications": [
      {
        "slug_name": "simplephp",
        "name": "SimplePHP",
        "application_type": "php"
      }
    ],
    "deployment": "5e6242d7-8111-40ee-bddb-00de064ab18f",
    ...
  },
  ...
{
  "ssh_users": {
  },
  "deploy": {
    "simplephpapp": {
      "application": "simplephpapp",
      "application_type": "php",
      "environment_variables": {
        "USER_ID": "168424",
        "USER_KEY": "somepassword"
      },
      "auto_bundle_on_deploy": true,
      "deploy_to": "/srv/www/simplephpapp",
      "deploying_user": "arn:aws:iam::123456789012:user/guysm",
      "document_root": null,
      "domains": [
        "simplephpapp"
      ],
      "migrate": false,
      "mounted_at": null,
      "rails_env": null,
      "restart_command": "echo 'restarting app'",
      "sleep_before_restart": 0,
      "ssl_support": false,
      "ssl_certificate": null,
      "ssl_certificate_key": null,
      "ssl_certificate_ca": null,
      "scm": {
        "scm_type": "git",
        "repository": "git://github.com/amazonwebservices/opsworks-demo-php-simple-app.git",
        "revision": "version1",
        "ssh_key": null,
        "user": null,
        "password": null
      },
      "symlink_before_migrate": {
        "config/opsworks.php": "opsworks.php"
      },
      "symlinks": {
      },
      "database": {
      },
      "memcached": {
        "host": null,
        "port": 11211
      },
      "stack": {
        "needs_reload": false
      }
    }
  },
}
```

L'attributo `opsworks` è in gran parte identico all'esempio nella sezione precedente. Le sezioni seguenti sono più rilevanti per la distribuzione:
+ `activity`— L'evento associato a questi attributi; un evento Deploy in questo esempio.
+ `applications`— Contiene un set di attributi per ogni app che forniscono i nomi, i nomi degli slug e i tipi delle app.

  Il nome dello slug è il nome breve dell'app, che OpsWorks Stacks genera dal nome dell'app. Il nome comune per SimplePHP è simplephp.
+ `deployment`— L'ID di distribuzione, che identifica in modo univoco una distribuzione.

L'attributo `deploy` include informazioni sulle app che vengono distribuite. Ad esempio, le ricette di Deploy (Distribuzione) predefinite utilizzano i dati nell'attributo `deploy` per installare i file nelle directory appropriate e creare i file di connessione al database. L'attributo `deploy` include un attributo per ogni app distribuita, il cui nome dipende dal nome breve dell'app. Ogni attributo dell'app include gli attributi seguenti:
+ `environment_variables`— Contiene tutte le variabili di ambiente definite per l'app. Per ulteriori informazioni, consulta [Variabili di ambiente](workingapps-creating.md#workingapps-creating-environment).
+ `domains`— Per impostazione predefinita, il dominio è il nome breve dell'app, che in questo esempio è simplephpapp. Se hai assegnato domini personalizzati, vengono visualizzati anch'essi in questa posizione. Per ulteriori informazioni, consulta [Utilizzo di domini personalizzati](workingapps-domains.md).
+ `application`— Il nome breve dell'app.
+ `scm`— Questo elemento contiene le informazioni necessarie per scaricare i file dell'app dal suo repository; un repository Git in questo esempio.
+ `database`— Informazioni sul database, se lo stack include un livello di database.
+ `document_root`— La radice del documento, impostata su `null` in questo esempio, indica che la radice è pubblica.
+ `ssl_certificate_ca`,`ssl_support`, `ssl_certificate_key` — Indica se l'app supporta SSL. In caso affermativo, gli attributi `ssl_certificate_key` e `ssl_certificate_ca` sono impostati sui certificati corrispondenti.
+ `deploy_to`— La directory principale dell'app.