updateOAuthClientApplication method

Future<UpdateOAuthClientApplicationResponse> updateOAuthClientApplication({
  1. required String awsAccountId,
  2. required String name,
  3. required String oAuthClientApplicationId,
  4. String? clientId,
  5. String? clientSecret,
  6. DataSourceType? dataSourceType,
  7. VpcConnectionProperties? identityProviderVpcConnectionProperties,
  8. String? oAuthAuthorizationEndpointUrl,
  9. String? oAuthScopes,
  10. String? oAuthTokenEndpointUrl,
})

Updates an OAuthClientApplication.

May throw AccessDeniedException. May throw ConflictException. May throw InternalFailureException. May throw InvalidParameterValueException. May throw LimitExceededException. May throw ResourceNotFoundException. May throw ThrottlingException.

Parameter awsAccountId : The Amazon Web Services account ID.

Parameter name : The display name for the OAuthClientApplication.

Parameter oAuthClientApplicationId : The ID of the OAuthClientApplication that you want to update.

Parameter clientId : The client ID of the OAuth application that is registered with the identity provider.

Parameter clientSecret : The client secret of the OAuth application that is registered with the identity provider.

Parameter dataSourceType : The type of data source that the OAuthClientApplication is used with. Valid values are SNOWFLAKE.

Parameter oAuthAuthorizationEndpointUrl : The authorization endpoint URL of the identity provider that is used to obtain authorization codes.

Parameter oAuthScopes : The OAuth scopes that are requested when the OAuthClientApplication obtains an access token from the identity provider.

Parameter oAuthTokenEndpointUrl : The token endpoint URL of the identity provider that is used to obtain access tokens.

Implementation

Future<UpdateOAuthClientApplicationResponse> updateOAuthClientApplication({
  required String awsAccountId,
  required String name,
  required String oAuthClientApplicationId,
  String? clientId,
  String? clientSecret,
  DataSourceType? dataSourceType,
  VpcConnectionProperties? identityProviderVpcConnectionProperties,
  String? oAuthAuthorizationEndpointUrl,
  String? oAuthScopes,
  String? oAuthTokenEndpointUrl,
}) async {
  final $payload = <String, dynamic>{
    'Name': name,
    if (clientId != null) 'ClientId': clientId,
    if (clientSecret != null) 'ClientSecret': clientSecret,
    if (dataSourceType != null) 'DataSourceType': dataSourceType.value,
    if (identityProviderVpcConnectionProperties != null)
      'IdentityProviderVpcConnectionProperties':
          identityProviderVpcConnectionProperties,
    if (oAuthAuthorizationEndpointUrl != null)
      'OAuthAuthorizationEndpointUrl': oAuthAuthorizationEndpointUrl,
    if (oAuthScopes != null) 'OAuthScopes': oAuthScopes,
    if (oAuthTokenEndpointUrl != null)
      'OAuthTokenEndpointUrl': oAuthTokenEndpointUrl,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri:
        '/accounts/${Uri.encodeComponent(awsAccountId)}/oauth-client-applications/${Uri.encodeComponent(oAuthClientApplicationId)}',
    exceptionFnMap: _exceptionFns,
  );
  return UpdateOAuthClientApplicationResponse.fromJson(response);
}