describeApplications method

Future<DescribeApplicationsResult> describeApplications({
  1. List<String>? applicationIds,
  2. List<Compute>? computeTypeNames,
  3. WorkSpaceApplicationLicenseType? licenseType,
  4. int? maxResults,
  5. String? nextToken,
  6. List<OperatingSystemName>? operatingSystemNames,
  7. String? owner,
})

Describes the specified applications by filtering based on their compute types, license availability, operating systems, and owners.

May throw AccessDeniedException. May throw InvalidParameterValuesException. May throw OperationNotSupportedException. May throw ResourceNotFoundException.

Parameter applicationIds : The identifiers of one or more applications.

Parameter computeTypeNames : The compute types supported by the applications.

Parameter licenseType : The license availability for the applications.

Parameter maxResults : The maximum number of applications to return.

Parameter nextToken : If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.

Parameter operatingSystemNames : The operating systems supported by the applications.

Parameter owner : The owner of the applications.

Implementation

Future<DescribeApplicationsResult> describeApplications({
  List<String>? applicationIds,
  List<Compute>? computeTypeNames,
  WorkSpaceApplicationLicenseType? licenseType,
  int? maxResults,
  String? nextToken,
  List<OperatingSystemName>? operatingSystemNames,
  String? owner,
}) async {
  _s.validateNumRange(
    'maxResults',
    maxResults,
    1,
    25,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'WorkspacesService.DescribeApplications'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      if (applicationIds != null) 'ApplicationIds': applicationIds,
      if (computeTypeNames != null)
        'ComputeTypeNames': computeTypeNames.map((e) => e.value).toList(),
      if (licenseType != null) 'LicenseType': licenseType.value,
      if (maxResults != null) 'MaxResults': maxResults,
      if (nextToken != null) 'NextToken': nextToken,
      if (operatingSystemNames != null)
        'OperatingSystemNames':
            operatingSystemNames.map((e) => e.value).toList(),
      if (owner != null) 'Owner': owner,
    },
  );

  return DescribeApplicationsResult.fromJson(jsonResponse.body);
}