updateProvisionedProduct method

Future<UpdateProvisionedProductOutput> updateProvisionedProduct({
  1. String? acceptLanguage,
  2. String? pathId,
  3. String? pathName,
  4. String? productId,
  5. String? productName,
  6. String? provisionedProductId,
  7. String? provisionedProductName,
  8. String? provisioningArtifactId,
  9. String? provisioningArtifactName,
  10. List<UpdateProvisioningParameter>? provisioningParameters,
  11. UpdateProvisioningPreferences? provisioningPreferences,
  12. List<Tag>? tags,
  13. String? updateToken,
})

Requests updates to the configuration of the specified provisioned product.

If there are tags associated with the object, they cannot be updated or added. Depending on the specific updates requested, this operation can update with no interruption, with some interruption, or replace the provisioned product entirely.

You can check the status of this request using DescribeRecord.

May throw InvalidParametersException. May throw ResourceNotFoundException.

Parameter acceptLanguage : The language code.

  • en - English (default)
  • jp - Japanese
  • zh - Chinese

Parameter pathId : The path identifier. This value is optional if the product has a default path, and required if the product has more than one path. You must provide the name or ID, but not both.

Parameter pathName : The name of the path. You must provide the name or ID, but not both.

Parameter productId : The identifier of the product. You must provide the name or ID, but not both.

Parameter productName : The name of the product. You must provide the name or ID, but not both.

Parameter provisionedProductId : The identifier of the provisioned product. You must provide the name or ID, but not both.

Parameter provisionedProductName : The name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

Parameter provisioningArtifactId : The identifier of the provisioning artifact.

Parameter provisioningArtifactName : The name of the provisioning artifact. You must provide the name or ID, but not both.

Parameter provisioningParameters : The new parameters.

Parameter provisioningPreferences : An object that contains information about the provisioning preferences for a stack set.

Parameter tags : One or more tags. Requires the product to have RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.

Parameter updateToken : The idempotency token that uniquely identifies the provisioning update request.

Implementation

Future<UpdateProvisionedProductOutput> updateProvisionedProduct({
  String? acceptLanguage,
  String? pathId,
  String? pathName,
  String? productId,
  String? productName,
  String? provisionedProductId,
  String? provisionedProductName,
  String? provisioningArtifactId,
  String? provisioningArtifactName,
  List<UpdateProvisioningParameter>? provisioningParameters,
  UpdateProvisioningPreferences? provisioningPreferences,
  List<Tag>? tags,
  String? updateToken,
}) async {
  _s.validateStringLength(
    'acceptLanguage',
    acceptLanguage,
    0,
    100,
  );
  _s.validateStringLength(
    'pathId',
    pathId,
    1,
    100,
  );
  _s.validateStringLength(
    'pathName',
    pathName,
    1,
    100,
  );
  _s.validateStringLength(
    'productId',
    productId,
    1,
    100,
  );
  _s.validateStringLength(
    'productName',
    productName,
    0,
    8191,
  );
  _s.validateStringLength(
    'provisionedProductId',
    provisionedProductId,
    1,
    100,
  );
  _s.validateStringLength(
    'provisionedProductName',
    provisionedProductName,
    1,
    1224,
  );
  _s.validateStringLength(
    'provisioningArtifactId',
    provisioningArtifactId,
    1,
    100,
  );
  _s.validateStringLength(
    'provisioningArtifactName',
    provisioningArtifactName,
    0,
    8192,
  );
  _s.validateStringLength(
    'updateToken',
    updateToken,
    1,
    128,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWS242ServiceCatalogService.UpdateProvisionedProduct'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      if (acceptLanguage != null) 'AcceptLanguage': acceptLanguage,
      if (pathId != null) 'PathId': pathId,
      if (pathName != null) 'PathName': pathName,
      if (productId != null) 'ProductId': productId,
      if (productName != null) 'ProductName': productName,
      if (provisionedProductId != null)
        'ProvisionedProductId': provisionedProductId,
      if (provisionedProductName != null)
        'ProvisionedProductName': provisionedProductName,
      if (provisioningArtifactId != null)
        'ProvisioningArtifactId': provisioningArtifactId,
      if (provisioningArtifactName != null)
        'ProvisioningArtifactName': provisioningArtifactName,
      if (provisioningParameters != null)
        'ProvisioningParameters': provisioningParameters,
      if (provisioningPreferences != null)
        'ProvisioningPreferences': provisioningPreferences,
      if (tags != null) 'Tags': tags,
      'UpdateToken': updateToken ?? _s.generateIdempotencyToken(),
    },
  );

  return UpdateProvisionedProductOutput.fromJson(jsonResponse.body);
}