/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the sso-2019-06-10.normal.json service model.
*/
using System;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.SSO.Model;
namespace Amazon.SSO
{
///
/// Interface for accessing SSO
///
/// AWS IAM Identity Center (successor to AWS Single Sign-On) Portal is a web service
/// that makes it easy for you to assign user access to IAM Identity Center resources
/// such as the AWS access portal. Users can get AWS account applications and roles assigned
/// to them and get federated into the application.
///
///
///
/// Although AWS Single Sign-On was renamed, the sso
and identitystore
/// API namespaces will continue to retain their original name for backward compatibility
/// purposes. For more information, see IAM
/// Identity Center rename.
///
///
///
/// This reference guide describes the IAM Identity Center Portal operations that you
/// can call programatically and includes detailed information on data types and errors.
///
///
///
/// AWS provides SDKs that consist of libraries and sample code for various programming
/// languages and platforms, such as Java, Ruby, .Net, iOS, or Android. The SDKs provide
/// a convenient way to create programmatic access to IAM Identity Center and other AWS
/// services. For more information about the AWS SDKs, including how to download and install
/// them, see Tools for Amazon Web Services.
///
///
///
public partial interface IAmazonSSO : IAmazonService, IDisposable
{
#if BCL45 || AWS_ASYNC_ENUMERABLES_API
///
/// Paginators for the service
///
ISSOPaginatorFactory Paginators { get; }
#endif
#region GetRoleCredentials
///
/// Returns the STS short-term credentials for a given role name that is assigned to the
/// user.
///
/// Container for the necessary parameters to execute the GetRoleCredentials service method.
///
/// The response from the GetRoleCredentials service method, as returned by SSO.
///
/// Indicates that a problem occurred with the input to the request. For example, a required
/// parameter might be missing or out of range.
///
///
/// The specified resource doesn't exist.
///
///
/// Indicates that the request is being made too frequently and is more than what the
/// server can handle.
///
///
/// Indicates that the request is not authorized. This can happen due to an invalid access
/// token in the request.
///
/// REST API Reference for GetRoleCredentials Operation
GetRoleCredentialsResponse GetRoleCredentials(GetRoleCredentialsRequest request);
///
/// Initiates the asynchronous execution of the GetRoleCredentials operation.
///
///
/// Container for the necessary parameters to execute the GetRoleCredentials operation on AmazonSSOClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetRoleCredentials
/// operation.
/// REST API Reference for GetRoleCredentials Operation
IAsyncResult BeginGetRoleCredentials(GetRoleCredentialsRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the GetRoleCredentials operation.
///
///
/// The IAsyncResult returned by the call to BeginGetRoleCredentials.
///
/// Returns a GetRoleCredentialsResult from SSO.
/// REST API Reference for GetRoleCredentials Operation
GetRoleCredentialsResponse EndGetRoleCredentials(IAsyncResult asyncResult);
#endregion
#region ListAccountRoles
///
/// Lists all roles that are assigned to the user for a given AWS account.
///
/// Container for the necessary parameters to execute the ListAccountRoles service method.
///
/// The response from the ListAccountRoles service method, as returned by SSO.
///
/// Indicates that a problem occurred with the input to the request. For example, a required
/// parameter might be missing or out of range.
///
///
/// The specified resource doesn't exist.
///
///
/// Indicates that the request is being made too frequently and is more than what the
/// server can handle.
///
///
/// Indicates that the request is not authorized. This can happen due to an invalid access
/// token in the request.
///
/// REST API Reference for ListAccountRoles Operation
ListAccountRolesResponse ListAccountRoles(ListAccountRolesRequest request);
///
/// Initiates the asynchronous execution of the ListAccountRoles operation.
///
///
/// Container for the necessary parameters to execute the ListAccountRoles operation on AmazonSSOClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListAccountRoles
/// operation.
/// REST API Reference for ListAccountRoles Operation
IAsyncResult BeginListAccountRoles(ListAccountRolesRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the ListAccountRoles operation.
///
///
/// The IAsyncResult returned by the call to BeginListAccountRoles.
///
/// Returns a ListAccountRolesResult from SSO.
/// REST API Reference for ListAccountRoles Operation
ListAccountRolesResponse EndListAccountRoles(IAsyncResult asyncResult);
#endregion
#region ListAccounts
///
/// Lists all AWS accounts assigned to the user. These AWS accounts are assigned by the
/// administrator of the account. For more information, see Assign
/// User Access in the IAM Identity Center User Guide. This operation returns
/// a paginated response.
///
/// Container for the necessary parameters to execute the ListAccounts service method.
///
/// The response from the ListAccounts service method, as returned by SSO.
///
/// Indicates that a problem occurred with the input to the request. For example, a required
/// parameter might be missing or out of range.
///
///
/// The specified resource doesn't exist.
///
///
/// Indicates that the request is being made too frequently and is more than what the
/// server can handle.
///
///
/// Indicates that the request is not authorized. This can happen due to an invalid access
/// token in the request.
///
/// REST API Reference for ListAccounts Operation
ListAccountsResponse ListAccounts(ListAccountsRequest request);
///
/// Initiates the asynchronous execution of the ListAccounts operation.
///
///
/// Container for the necessary parameters to execute the ListAccounts operation on AmazonSSOClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListAccounts
/// operation.
/// REST API Reference for ListAccounts Operation
IAsyncResult BeginListAccounts(ListAccountsRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the ListAccounts operation.
///
///
/// The IAsyncResult returned by the call to BeginListAccounts.
///
/// Returns a ListAccountsResult from SSO.
/// REST API Reference for ListAccounts Operation
ListAccountsResponse EndListAccounts(IAsyncResult asyncResult);
#endregion
#region Logout
///
/// Removes the locally stored SSO tokens from the client-side cache and sends an API
/// call to the IAM Identity Center service to invalidate the corresponding server-side
/// IAM Identity Center sign in session.
///
///
///
/// If a user uses IAM Identity Center to access the AWS CLI, the user’s IAM Identity
/// Center sign in session is used to obtain an IAM session, as specified in the corresponding
/// IAM Identity Center permission set. More specifically, IAM Identity Center assumes
/// an IAM role in the target account on behalf of the user, and the corresponding temporary
/// AWS credentials are returned to the client.
///
///
///
/// After user logout, any existing IAM role sessions that were created by using IAM Identity
/// Center permission sets continue based on the duration configured in the permission
/// set. For more information, see User
/// authentications in the IAM Identity Center User Guide.
///
///
///
/// Container for the necessary parameters to execute the Logout service method.
///
/// The response from the Logout service method, as returned by SSO.
///
/// Indicates that a problem occurred with the input to the request. For example, a required
/// parameter might be missing or out of range.
///
///
/// Indicates that the request is being made too frequently and is more than what the
/// server can handle.
///
///
/// Indicates that the request is not authorized. This can happen due to an invalid access
/// token in the request.
///
/// REST API Reference for Logout Operation
LogoutResponse Logout(LogoutRequest request);
///
/// Initiates the asynchronous execution of the Logout operation.
///
///
/// Container for the necessary parameters to execute the Logout operation on AmazonSSOClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndLogout
/// operation.
/// REST API Reference for Logout Operation
IAsyncResult BeginLogout(LogoutRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the Logout operation.
///
///
/// The IAsyncResult returned by the call to BeginLogout.
///
/// Returns a LogoutResult from SSO.
/// REST API Reference for Logout Operation
LogoutResponse EndLogout(IAsyncResult asyncResult);
#endregion
}
}