updateFlowEntitlement method

Future<UpdateFlowEntitlementResponse> updateFlowEntitlement({
  1. required String entitlementArn,
  2. required String flowArn,
  3. String? description,
  4. UpdateEncryption? encryption,
  5. EntitlementStatus? entitlementStatus,
  6. List<String>? subscribers,
})

You can change an entitlement's description, subscribers, and encryption. If you change the subscribers, the service will remove the outputs that are are used by the subscribers that are removed.

May throw BadRequestException. May throw InternalServerErrorException. May throw ForbiddenException. May throw NotFoundException. May throw ServiceUnavailableException. May throw TooManyRequestsException.

Parameter entitlementArn : The ARN of the entitlement that you want to update.

Parameter flowArn : The flow that is associated with the entitlement that you want to update.

Parameter description : A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user.

Parameter encryption : The type of encryption that will be used on the output associated with this entitlement.

Parameter entitlementStatus : An indication of whether you want to enable the entitlement to allow access, or disable it to stop streaming content to the subscriber’s flow temporarily. If you don’t specify the entitlementStatus field in your request, MediaConnect leaves the value unchanged.

Parameter subscribers : The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source.

Implementation

Future<UpdateFlowEntitlementResponse> updateFlowEntitlement({
  required String entitlementArn,
  required String flowArn,
  String? description,
  UpdateEncryption? encryption,
  EntitlementStatus? entitlementStatus,
  List<String>? subscribers,
}) async {
  ArgumentError.checkNotNull(entitlementArn, 'entitlementArn');
  ArgumentError.checkNotNull(flowArn, 'flowArn');
  final $payload = <String, dynamic>{
    if (description != null) 'description': description,
    if (encryption != null) 'encryption': encryption,
    if (entitlementStatus != null)
      'entitlementStatus': entitlementStatus.toValue(),
    if (subscribers != null) 'subscribers': subscribers,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri:
        '/v1/flows/${Uri.encodeComponent(flowArn)}/entitlements/${Uri.encodeComponent(entitlementArn)}',
    exceptionFnMap: _exceptionFns,
  );
  return UpdateFlowEntitlementResponse.fromJson(response);
}