deleteInventory method

Future<DeleteInventoryResult> deleteInventory({
  1. required String typeName,
  2. String? clientToken,
  3. bool? dryRun,
  4. InventorySchemaDeleteOption? schemaDeleteOption,
})

Delete a custom inventory type or the data associated with a custom Inventory type. Deleting a custom inventory type is also referred to as deleting a custom inventory schema.

May throw InternalServerError. May throw InvalidTypeNameException. May throw InvalidOptionException. May throw InvalidDeleteInventoryParametersException. May throw InvalidInventoryRequestException.

Parameter typeName : The name of the custom inventory type for which you want to delete either all previously collected data or the inventory type itself.

Parameter clientToken : User-provided idempotency token.

Parameter dryRun : Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the DryRun option.

Parameter schemaDeleteOption : Use the SchemaDeleteOption to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:

DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the PutInventory action for a version greater than the disabled version.

DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.

Implementation

Future<DeleteInventoryResult> deleteInventory({
  required String typeName,
  String? clientToken,
  bool? dryRun,
  InventorySchemaDeleteOption? schemaDeleteOption,
}) async {
  ArgumentError.checkNotNull(typeName, 'typeName');
  _s.validateStringLength(
    'typeName',
    typeName,
    1,
    100,
    isRequired: true,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AmazonSSM.DeleteInventory'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'TypeName': typeName,
      'ClientToken': clientToken ?? _s.generateIdempotencyToken(),
      if (dryRun != null) 'DryRun': dryRun,
      if (schemaDeleteOption != null)
        'SchemaDeleteOption': schemaDeleteOption.toValue(),
    },
  );

  return DeleteInventoryResult.fromJson(jsonResponse.body);
}