[ aws . opsworkscm ]



Associates a new node with the server. For more information about how to disassociate a node, see DisassociateNode .

On a Chef server: This command is an alternative to knife bootstrap .

Example (Chef): aws opsworks-cm associate-node --server-name *MyServer* --node-name *MyManagedNode* --engine-attributes "Name=*CHEF_ORGANIZATION* ,Value=default" "Name=*CHEF_NODE_PUBLIC_KEY* ,Value=*public-key-pem* "

On a Puppet server, this command is an alternative to the puppet cert sign command that signs a Puppet node CSR.

Example (Puppet): aws opsworks-cm associate-node --server-name *MyServer* --node-name *MyManagedNode* --engine-attributes "Name=*PUPPET_NODE_CSR* ,Value=*csr-pem* "

A node can can only be associated with servers that are in a HEALTHY state. Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid. The AssociateNode API call can be integrated into Auto Scaling configurations, AWS Cloudformation templates, or the user data of a server’s instance.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--server-name <value>
--node-name <value>
--engine-attributes <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]


--server-name (string)

The name of the server with which to associate the node.

--node-name (string)

The name of the node.

--engine-attributes (list)

Engine attributes used for associating the node.

Attributes accepted in a AssociateNode request for Chef

  • CHEF_ORGANIZATION : The Chef organization with which the node is associated. By default only one organization named default can exist.

  • CHEF_NODE_PUBLIC_KEY : A PEM-formatted public key. This key is required for the chef-client agent to access the Chef API.

Attributes accepted in a AssociateNode request for Puppet

  • PUPPET_NODE_CSR : A PEM-formatted certificate-signing request (CSR) that is created by the node.


A name and value pair that is specific to the engine of the server.

Name -> (string)

The name of the engine attribute.

Value -> (string)

The value of the engine attribute.

Shorthand Syntax:

Name=string,Value=string ...

JSON Syntax:

    "Name": "string",
    "Value": "string"

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.


To associate nodes

The following associate-node command associates a node named i-44de882p with a Chef Automate server named automate-06, meaning that the automate-06 server manages the node, and communicates recipe commands to the node through chef-client agent software that is installed on the node by the associate-node command. Valid node names are EC2 instance IDs.:

aws opsworks-cm associate-node --server-name "automate-06" --node-name "i-43de882p" --engine-attributes "Name=CHEF_ORGANIZATION,Value='MyOrganization' Name=CHEF_NODE_PUBLIC_KEY,Value='Public_key_contents'"

The output returned by the command resembles the following. Output:

 "NodeAssociationStatusToken": "AHUY8wFe4pdXtZC5DiJa5SOLp5o14DH//rHRqHDWXxwVoNBxcEy4V7R0NOFymh7E/1HumOBPsemPQFE6dcGaiFk"

More Information

For more information, see Adding Nodes Automatically in AWS OpsWorks for Chef Automate in the AWS OpsWorks User Guide.


NodeAssociationStatusToken -> (string)

Contains a token which can be passed to the DescribeNodeAssociationStatus API call to get the status of the association request.