/*
* 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.Threading;
using System.Threading.Tasks;
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 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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task GetRoleCredentialsAsync(GetRoleCredentialsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task ListAccountRolesAsync(ListAccountRolesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task ListAccountsAsync(ListAccountsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task LogoutAsync(LogoutRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}