updateWorkforce method

Future<UpdateWorkforceResponse> updateWorkforce({
  1. required String workforceName,
  2. OidcConfig? oidcConfig,
  3. SourceIpConfig? sourceIpConfig,
})

Use this operation to update your workforce. You can use this operation to require that workers use specific IP addresses to work on tasks and to update your OpenID Connect (OIDC) Identity Provider (IdP) workforce configuration.

Use SourceIpConfig to restrict worker access to tasks to a specific range of IP addresses. You specify allowed IP addresses by creating a list of up to ten CIDRs. By default, a workforce isn't restricted to specific IP addresses. If you specify a range of IP addresses, workers who attempt to access tasks using any IP address outside the specified range are denied and get a Not Found error message on the worker portal.

Use OidcConfig to update the configuration of a workforce created using your own OIDC IdP. After restricting access to a range of IP addresses or updating your OIDC IdP configuration with this operation, you can view details about your update workforce using the operation.

Parameter workforceName : The name of the private workforce that you want to update. You can find your workforce name by using the operation.

Parameter oidcConfig : Use this parameter to update your OIDC Identity Provider (IdP) configuration for a workforce made using your own IdP.

Parameter sourceIpConfig : A list of one to ten worker IP address ranges (CIDRs) that can be used to access tasks assigned to this workforce.

Maximum: Ten CIDR values

Implementation

Future<UpdateWorkforceResponse> updateWorkforce({
  required String workforceName,
  OidcConfig? oidcConfig,
  SourceIpConfig? sourceIpConfig,
}) async {
  ArgumentError.checkNotNull(workforceName, 'workforceName');
  _s.validateStringLength(
    'workforceName',
    workforceName,
    1,
    63,
    isRequired: true,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'SageMaker.UpdateWorkforce'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'WorkforceName': workforceName,
      if (oidcConfig != null) 'OidcConfig': oidcConfig,
      if (sourceIpConfig != null) 'SourceIpConfig': sourceIpConfig,
    },
  );

  return UpdateWorkforceResponse.fromJson(jsonResponse.body);
}