/*
* 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 rolesanywhere-2018-05-10.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.IAMRolesAnywhere.Model;
namespace Amazon.IAMRolesAnywhere
{
///
/// Interface for accessing IAMRolesAnywhere
///
/// Identity and Access Management Roles Anywhere provides a secure way for your workloads
/// such as servers, containers, and applications that run outside of Amazon Web Services
/// to obtain temporary Amazon Web Services credentials. Your workloads can use the same
/// IAM policies and roles you have for native Amazon Web Services applications to access
/// Amazon Web Services resources. Using IAM Roles Anywhere eliminates the need to manage
/// long-term credentials for workloads running outside of Amazon Web Services.
///
///
///
/// To use IAM Roles Anywhere, your workloads must use X.509 certificates issued by their
/// certificate authority (CA). You register the CA with IAM Roles Anywhere as a trust
/// anchor to establish trust between your public key infrastructure (PKI) and IAM Roles
/// Anywhere. If you don't manage your own PKI system, you can use Private Certificate
/// Authority to create a CA and then use that to establish trust with IAM Roles Anywhere.
///
///
///
///
/// This guide describes the IAM Roles Anywhere operations that you can call programmatically.
/// For more information about IAM Roles Anywhere, see the IAM
/// Roles Anywhere User Guide.
///
///
public partial interface IAmazonIAMRolesAnywhere : IAmazonService, IDisposable
{
#if AWS_ASYNC_ENUMERABLES_API
///
/// Paginators for the service
///
IIAMRolesAnywherePaginatorFactory Paginators { get; }
#endif
#region CreateProfile
///
/// Creates a profile, a list of the roles that Roles Anywhere service is trusted
/// to assume. You use profiles to intersect permissions with IAM managed policies.
///
///
///
/// Required permissions: rolesanywhere:CreateProfile
.
///
///
/// Container for the necessary parameters to execute the CreateProfile service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateProfile service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// Validation exception error.
///
/// REST API Reference for CreateProfile Operation
Task CreateProfileAsync(CreateProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateTrustAnchor
///
/// Creates a trust anchor to establish trust between IAM Roles Anywhere and your certificate
/// authority (CA). You can define a trust anchor as a reference to an Private Certificate
/// Authority (Private CA) or by uploading a CA certificate. Your Amazon Web Services
/// workloads can authenticate with the trust anchor using certificates issued by the
/// CA in exchange for temporary Amazon Web Services credentials.
///
///
///
/// Required permissions: rolesanywhere:CreateTrustAnchor
.
///
///
/// Container for the necessary parameters to execute the CreateTrustAnchor service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateTrustAnchor service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// Validation exception error.
///
/// REST API Reference for CreateTrustAnchor Operation
Task CreateTrustAnchorAsync(CreateTrustAnchorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteCrl
///
/// Deletes a certificate revocation list (CRL).
///
///
///
/// Required permissions: rolesanywhere:DeleteCrl
.
///
///
/// Container for the necessary parameters to execute the DeleteCrl service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteCrl service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
/// REST API Reference for DeleteCrl Operation
Task DeleteCrlAsync(DeleteCrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteProfile
///
/// Deletes a profile.
///
///
///
/// Required permissions: rolesanywhere:DeleteProfile
.
///
///
/// Container for the necessary parameters to execute the DeleteProfile service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteProfile service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
/// REST API Reference for DeleteProfile Operation
Task DeleteProfileAsync(DeleteProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteTrustAnchor
///
/// Deletes a trust anchor.
///
///
///
/// Required permissions: rolesanywhere:DeleteTrustAnchor
.
///
///
/// Container for the necessary parameters to execute the DeleteTrustAnchor service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteTrustAnchor service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
/// REST API Reference for DeleteTrustAnchor Operation
Task DeleteTrustAnchorAsync(DeleteTrustAnchorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DisableCrl
///
/// Disables a certificate revocation list (CRL).
///
///
///
/// Required permissions: rolesanywhere:DisableCrl
.
///
///
/// Container for the necessary parameters to execute the DisableCrl service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DisableCrl service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
/// REST API Reference for DisableCrl Operation
Task DisableCrlAsync(DisableCrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DisableProfile
///
/// Disables a profile. When disabled, temporary credential requests with this profile
/// fail.
///
///
///
/// Required permissions: rolesanywhere:DisableProfile
.
///
///
/// Container for the necessary parameters to execute the DisableProfile service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DisableProfile service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
/// REST API Reference for DisableProfile Operation
Task DisableProfileAsync(DisableProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DisableTrustAnchor
///
/// Disables a trust anchor. When disabled, temporary credential requests specifying this
/// trust anchor are unauthorized.
///
///
///
/// Required permissions: rolesanywhere:DisableTrustAnchor
.
///
///
/// Container for the necessary parameters to execute the DisableTrustAnchor service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DisableTrustAnchor service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
/// REST API Reference for DisableTrustAnchor Operation
Task DisableTrustAnchorAsync(DisableTrustAnchorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region EnableCrl
///
/// Enables a certificate revocation list (CRL). When enabled, certificates stored in
/// the CRL are unauthorized to receive session credentials.
///
///
///
/// Required permissions: rolesanywhere:EnableCrl
.
///
///
/// Container for the necessary parameters to execute the EnableCrl service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the EnableCrl service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
/// REST API Reference for EnableCrl Operation
Task EnableCrlAsync(EnableCrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region EnableProfile
///
/// Enables temporary credential requests for a profile.
///
///
///
/// Required permissions: rolesanywhere:EnableProfile
.
///
///
/// Container for the necessary parameters to execute the EnableProfile service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the EnableProfile service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
/// REST API Reference for EnableProfile Operation
Task EnableProfileAsync(EnableProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region EnableTrustAnchor
///
/// Enables a trust anchor. When enabled, certificates in the trust anchor chain are authorized
/// for trust validation.
///
///
///
/// Required permissions: rolesanywhere:EnableTrustAnchor
.
///
///
/// Container for the necessary parameters to execute the EnableTrustAnchor service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the EnableTrustAnchor service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
/// REST API Reference for EnableTrustAnchor Operation
Task EnableTrustAnchorAsync(EnableTrustAnchorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetCrl
///
/// Gets a certificate revocation list (CRL).
///
///
///
/// Required permissions: rolesanywhere:GetCrl
.
///
///
/// Container for the necessary parameters to execute the GetCrl service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetCrl service method, as returned by IAMRolesAnywhere.
///
/// The resource could not be found.
///
/// REST API Reference for GetCrl Operation
Task GetCrlAsync(GetCrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetProfile
///
/// Gets a profile.
///
///
///
/// Required permissions: rolesanywhere:GetProfile
.
///
///
/// Container for the necessary parameters to execute the GetProfile service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetProfile service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
/// REST API Reference for GetProfile Operation
Task GetProfileAsync(GetProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetSubject
///
/// Gets a subject, which associates a certificate identity with authentication
/// attempts. The subject stores auditing information such as the status of the last authentication
/// attempt, the certificate data used in the attempt, and the last time the associated
/// identity attempted authentication.
///
///
///
/// Required permissions: rolesanywhere:GetSubject
.
///
///
/// Container for the necessary parameters to execute the GetSubject service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetSubject service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
/// REST API Reference for GetSubject Operation
Task GetSubjectAsync(GetSubjectRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetTrustAnchor
///
/// Gets a trust anchor.
///
///
///
/// Required permissions: rolesanywhere:GetTrustAnchor
.
///
///
/// Container for the necessary parameters to execute the GetTrustAnchor service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetTrustAnchor service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
///
/// Validation exception error.
///
/// REST API Reference for GetTrustAnchor Operation
Task GetTrustAnchorAsync(GetTrustAnchorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ImportCrl
///
/// Imports the certificate revocation list (CRL). A CRL is a list of certificates that
/// have been revoked by the issuing certificate Authority (CA). IAM Roles Anywhere validates
/// against the CRL before issuing credentials.
///
///
///
/// Required permissions: rolesanywhere:ImportCrl
.
///
///
/// Container for the necessary parameters to execute the ImportCrl service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ImportCrl service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// Validation exception error.
///
/// REST API Reference for ImportCrl Operation
Task ImportCrlAsync(ImportCrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListCrls
///
/// Lists all certificate revocation lists (CRL) in the authenticated account and Amazon
/// Web Services Region.
///
///
///
/// Required permissions: rolesanywhere:ListCrls
.
///
///
/// Container for the necessary parameters to execute the ListCrls service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListCrls service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// Validation exception error.
///
/// REST API Reference for ListCrls Operation
Task ListCrlsAsync(ListCrlsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListProfiles
///
/// Lists all profiles in the authenticated account and Amazon Web Services Region.
///
///
///
/// Required permissions: rolesanywhere:ListProfiles
.
///
///
/// Container for the necessary parameters to execute the ListProfiles service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListProfiles service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// Validation exception error.
///
/// REST API Reference for ListProfiles Operation
Task ListProfilesAsync(ListProfilesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListSubjects
///
/// Lists the subjects in the authenticated account and Amazon Web Services Region.
///
///
///
/// Required permissions: rolesanywhere:ListSubjects
.
///
///
/// Container for the necessary parameters to execute the ListSubjects service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListSubjects service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// Validation exception error.
///
/// REST API Reference for ListSubjects Operation
Task ListSubjectsAsync(ListSubjectsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTagsForResource
///
/// Lists the tags attached to the resource.
///
///
///
/// Required permissions: rolesanywhere:ListTagsForResource
.
///
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTagsForResource service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
///
/// Validation exception error.
///
/// REST API Reference for ListTagsForResource Operation
Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTrustAnchors
///
/// Lists the trust anchors in the authenticated account and Amazon Web Services Region.
///
///
///
/// Required permissions: rolesanywhere:ListTrustAnchors
.
///
///
/// Container for the necessary parameters to execute the ListTrustAnchors service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTrustAnchors service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// Validation exception error.
///
/// REST API Reference for ListTrustAnchors Operation
Task ListTrustAnchorsAsync(ListTrustAnchorsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region PutNotificationSettings
///
/// Attaches a list of notification settings to a trust anchor.
///
///
///
/// A notification setting includes information such as event name, threshold, status
/// of the notification setting, and the channel to notify.
///
///
///
/// Required permissions: rolesanywhere:PutNotificationSettings
.
///
///
///
/// Container for the necessary parameters to execute the PutNotificationSettings service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutNotificationSettings service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
///
/// Validation exception error.
///
/// REST API Reference for PutNotificationSettings Operation
Task PutNotificationSettingsAsync(PutNotificationSettingsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ResetNotificationSettings
///
/// Resets the custom notification setting to IAM Roles Anywhere default setting.
///
///
///
///
/// Required permissions: rolesanywhere:ResetNotificationSettings
.
///
///
///
/// Container for the necessary parameters to execute the ResetNotificationSettings service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ResetNotificationSettings service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
///
/// Validation exception error.
///
/// REST API Reference for ResetNotificationSettings Operation
Task ResetNotificationSettingsAsync(ResetNotificationSettingsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// Attaches tags to a resource.
///
///
///
/// Required permissions: rolesanywhere:TagResource
.
///
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TagResource service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
///
/// Too many tags.
///
///
/// Validation exception error.
///
/// REST API Reference for TagResource Operation
Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Removes tags from the resource.
///
///
///
/// Required permissions: rolesanywhere:UntagResource
.
///
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UntagResource service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
///
/// Validation exception error.
///
/// REST API Reference for UntagResource Operation
Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateCrl
///
/// Updates the certificate revocation list (CRL). A CRL is a list of certificates that
/// have been revoked by the issuing certificate authority (CA). IAM Roles Anywhere validates
/// against the CRL before issuing credentials.
///
///
///
/// Required permissions: rolesanywhere:UpdateCrl
.
///
///
/// Container for the necessary parameters to execute the UpdateCrl service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateCrl service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
///
/// Validation exception error.
///
/// REST API Reference for UpdateCrl Operation
Task UpdateCrlAsync(UpdateCrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateProfile
///
/// Updates a profile, a list of the roles that IAM Roles Anywhere service is trusted
/// to assume. You use profiles to intersect permissions with IAM managed policies.
///
///
///
/// Required permissions: rolesanywhere:UpdateProfile
.
///
///
/// Container for the necessary parameters to execute the UpdateProfile service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateProfile service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
///
/// Validation exception error.
///
/// REST API Reference for UpdateProfile Operation
Task UpdateProfileAsync(UpdateProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateTrustAnchor
///
/// Updates a trust anchor. You establish trust between IAM Roles Anywhere and your certificate
/// authority (CA) by configuring a trust anchor. You can define a trust anchor as a reference
/// to an Private Certificate Authority (Private CA) or by uploading a CA certificate.
/// Your Amazon Web Services workloads can authenticate with the trust anchor using certificates
/// issued by the CA in exchange for temporary Amazon Web Services credentials.
///
///
///
/// Required permissions: rolesanywhere:UpdateTrustAnchor
.
///
///
/// Container for the necessary parameters to execute the UpdateTrustAnchor service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateTrustAnchor service method, as returned by IAMRolesAnywhere.
///
/// You do not have sufficient access to perform this action.
///
///
/// The resource could not be found.
///
///
/// Validation exception error.
///
/// REST API Reference for UpdateTrustAnchor Operation
Task UpdateTrustAnchorAsync(UpdateTrustAnchorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}