createAppAuthorization method
Creates an app authorization within an app bundle, which allows AppFabric to connect to an application.
May throw AccessDeniedException.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ServiceQuotaExceededException.
May throw ThrottlingException.
May throw ValidationException.
Parameter app :
The name of the application.
Valid values are:
-
SLACK -
ASANA -
JIRA -
M365 -
M365AUDITLOGS -
ZOOM -
ZENDESK -
OKTA -
GOOGLE -
DROPBOX -
SMARTSHEET -
CISCO
Parameter appBundleIdentifier :
The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of
the app bundle to use for the request.
Parameter authType :
The authorization type for the app authorization.
Parameter credential :
Contains credentials for the application, such as an API key or OAuth2
client ID and secret.
Specify credentials that match the authorization type for your request.
For example, if the authorization type for your request is OAuth2
(oauth2), then you should provide only the OAuth2
credentials.
Parameter tenant :
Contains information about an application tenant, such as the application
display name and identifier.
Parameter clientToken :
Specifies a unique, case-sensitive identifier that you provide to ensure
the idempotency of the request. This lets you safely retry the request
without accidentally performing the same operation a second time. Passing
the same value to a later call to an operation requires that you also pass
the same value for all other parameters. We recommend that you use a UUID type
of value.
If you don't provide this value, then Amazon Web Services generates a random one for you.
If you retry the operation with the same ClientToken, but
with different parameters, the retry fails with an
IdempotentParameterMismatch error.
Parameter tags :
A map of the key-value pairs of the tag or tags to assign to the resource.
Implementation
Future<CreateAppAuthorizationResponse> createAppAuthorization({
required String app,
required String appBundleIdentifier,
required AuthType authType,
required Credential credential,
required Tenant tenant,
String? clientToken,
List<Tag>? tags,
}) async {
final $payload = <String, dynamic>{
'app': app,
'authType': authType.value,
'credential': credential,
'tenant': tenant,
'clientToken': clientToken ?? _s.generateIdempotencyToken(),
if (tags != null) 'tags': tags,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri:
'/appbundles/${Uri.encodeComponent(appBundleIdentifier)}/appauthorizations',
exceptionFnMap: _exceptionFns,
);
return CreateAppAuthorizationResponse.fromJson(response);
}