[ 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.
associate-node
--server-name <value>
--node-name <value>
--engine-attributes <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <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 nameddefault
can exist.
CHEF_NODE_PUBLIC_KEY
: A PEM-formatted public key. This key is required for thechef-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.(structure)
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. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.
See ‘aws help’ for descriptions of global parameters.
Note
To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.
Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal’s quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .
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.