exportServerEngineAttribute method
- required String exportAttributeName,
- required String serverName,
- List<
EngineAttribute> ? inputAttributes,
Exports a specified server engine attribute as a base64-encoded string. For example, you can export user data that you can use in EC2 to associate nodes with a server.
This operation is synchronous.
A ValidationException
is raised when parameters of the
request are not valid. A ResourceNotFoundException
is thrown
when the server does not exist. An InvalidStateException
is
thrown when the server is in any of the following states: CREATING,
TERMINATED, FAILED or DELETING.
May throw ValidationException. May throw ResourceNotFoundException. May throw InvalidStateException.
Parameter exportAttributeName
:
The name of the export attribute. Currently, the supported export
attribute is Userdata
. This exports a user data script that
includes parameters and values provided in the
InputAttributes
list.
Parameter serverName
:
The name of the server from which you are exporting the attribute.
Parameter inputAttributes
:
The list of engine attributes. The list type is
EngineAttribute
. An EngineAttribute
list item is
a pair that includes an attribute name and its value. For the
Userdata
ExportAttributeName, the following are supported
engine attribute names.
- RunList In Chef, a list of roles or recipes that are run in the specified order. In Puppet, this parameter is ignored.
-
OrganizationName In Chef, an organization name. AWS OpsWorks for
Chef Automate always creates the organization
default
. In Puppet, this parameter is ignored. - NodeEnvironment In Chef, a node environment (for example, development, staging, or one-box). In Puppet, this parameter is ignored.
- NodeClientVersion In Chef, the version of the Chef engine (three numbers separated by dots, such as 13.8.5). If this attribute is empty, OpsWorks for Chef Automate uses the most current version. In Puppet, this parameter is ignored.
Implementation
Future<ExportServerEngineAttributeResponse> exportServerEngineAttribute({
required String exportAttributeName,
required String serverName,
List<EngineAttribute>? inputAttributes,
}) async {
ArgumentError.checkNotNull(exportAttributeName, 'exportAttributeName');
_s.validateStringLength(
'exportAttributeName',
exportAttributeName,
0,
10000,
isRequired: true,
);
ArgumentError.checkNotNull(serverName, 'serverName');
_s.validateStringLength(
'serverName',
serverName,
1,
40,
isRequired: true,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'OpsWorksCM_V2016_11_01.ExportServerEngineAttribute'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'ExportAttributeName': exportAttributeName,
'ServerName': serverName,
if (inputAttributes != null) 'InputAttributes': inputAttributes,
},
);
return ExportServerEngineAttributeResponse.fromJson(jsonResponse.body);
}