/* * 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.Runtime.ExceptionServices; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using System.Net; using Amazon.IAMRolesAnywhere.Model; using Amazon.IAMRolesAnywhere.Model.Internal.MarshallTransformations; using Amazon.IAMRolesAnywhere.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.IAMRolesAnywhere { /// /// Implementation 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 class AmazonIAMRolesAnywhereClient : AmazonServiceClient, IAmazonIAMRolesAnywhere { private static IServiceMetadata serviceMetadata = new AmazonIAMRolesAnywhereMetadata(); #region Constructors /// /// Constructs AmazonIAMRolesAnywhereClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonIAMRolesAnywhereClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonIAMRolesAnywhereConfig()) { } /// /// Constructs AmazonIAMRolesAnywhereClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonIAMRolesAnywhereClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonIAMRolesAnywhereConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonIAMRolesAnywhereClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonIAMRolesAnywhereClient Configuration Object public AmazonIAMRolesAnywhereClient(AmazonIAMRolesAnywhereConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonIAMRolesAnywhereClient with AWS Credentials /// /// AWS Credentials public AmazonIAMRolesAnywhereClient(AWSCredentials credentials) : this(credentials, new AmazonIAMRolesAnywhereConfig()) { } /// /// Constructs AmazonIAMRolesAnywhereClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonIAMRolesAnywhereClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonIAMRolesAnywhereConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonIAMRolesAnywhereClient with AWS Credentials and an /// AmazonIAMRolesAnywhereClient Configuration object. /// /// AWS Credentials /// The AmazonIAMRolesAnywhereClient Configuration Object public AmazonIAMRolesAnywhereClient(AWSCredentials credentials, AmazonIAMRolesAnywhereConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonIAMRolesAnywhereClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonIAMRolesAnywhereClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonIAMRolesAnywhereConfig()) { } /// /// Constructs AmazonIAMRolesAnywhereClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonIAMRolesAnywhereClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonIAMRolesAnywhereConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonIAMRolesAnywhereClient with AWS Access Key ID, AWS Secret Key and an /// AmazonIAMRolesAnywhereClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonIAMRolesAnywhereClient Configuration Object public AmazonIAMRolesAnywhereClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonIAMRolesAnywhereConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonIAMRolesAnywhereClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonIAMRolesAnywhereClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonIAMRolesAnywhereConfig()) { } /// /// Constructs AmazonIAMRolesAnywhereClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonIAMRolesAnywhereClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonIAMRolesAnywhereConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonIAMRolesAnywhereClient with AWS Access Key ID, AWS Secret Key and an /// AmazonIAMRolesAnywhereClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonIAMRolesAnywhereClient Configuration Object public AmazonIAMRolesAnywhereClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonIAMRolesAnywhereConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #if AWS_ASYNC_ENUMERABLES_API private IIAMRolesAnywherePaginatorFactory _paginators; /// /// Paginators for the service /// public IIAMRolesAnywherePaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new IAMRolesAnywherePaginatorFactory(this); } return this._paginators; } } #endif #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customizes the runtime pipeline. /// /// Runtime pipeline for the current client. protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonIAMRolesAnywhereEndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region CreateProfile internal virtual CreateProfileResponse CreateProfile(CreateProfileRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateProfileResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task CreateProfileAsync(CreateProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateProfileResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateTrustAnchor internal virtual CreateTrustAnchorResponse CreateTrustAnchor(CreateTrustAnchorRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateTrustAnchorRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateTrustAnchorResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task CreateTrustAnchorAsync(CreateTrustAnchorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateTrustAnchorRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateTrustAnchorResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteCrl internal virtual DeleteCrlResponse DeleteCrl(DeleteCrlRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteCrlRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteCrlResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DeleteCrlAsync(DeleteCrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteCrlRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteCrlResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteProfile internal virtual DeleteProfileResponse DeleteProfile(DeleteProfileRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteProfileResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DeleteProfileAsync(DeleteProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteProfileResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteTrustAnchor internal virtual DeleteTrustAnchorResponse DeleteTrustAnchor(DeleteTrustAnchorRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteTrustAnchorRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteTrustAnchorResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DeleteTrustAnchorAsync(DeleteTrustAnchorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteTrustAnchorRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteTrustAnchorResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DisableCrl internal virtual DisableCrlResponse DisableCrl(DisableCrlRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DisableCrlRequestMarshaller.Instance; options.ResponseUnmarshaller = DisableCrlResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DisableCrlAsync(DisableCrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DisableCrlRequestMarshaller.Instance; options.ResponseUnmarshaller = DisableCrlResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DisableProfile internal virtual DisableProfileResponse DisableProfile(DisableProfileRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DisableProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = DisableProfileResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DisableProfileAsync(DisableProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DisableProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = DisableProfileResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DisableTrustAnchor internal virtual DisableTrustAnchorResponse DisableTrustAnchor(DisableTrustAnchorRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DisableTrustAnchorRequestMarshaller.Instance; options.ResponseUnmarshaller = DisableTrustAnchorResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DisableTrustAnchorAsync(DisableTrustAnchorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DisableTrustAnchorRequestMarshaller.Instance; options.ResponseUnmarshaller = DisableTrustAnchorResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region EnableCrl internal virtual EnableCrlResponse EnableCrl(EnableCrlRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = EnableCrlRequestMarshaller.Instance; options.ResponseUnmarshaller = EnableCrlResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task EnableCrlAsync(EnableCrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = EnableCrlRequestMarshaller.Instance; options.ResponseUnmarshaller = EnableCrlResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region EnableProfile internal virtual EnableProfileResponse EnableProfile(EnableProfileRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = EnableProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = EnableProfileResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task EnableProfileAsync(EnableProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = EnableProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = EnableProfileResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region EnableTrustAnchor internal virtual EnableTrustAnchorResponse EnableTrustAnchor(EnableTrustAnchorRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = EnableTrustAnchorRequestMarshaller.Instance; options.ResponseUnmarshaller = EnableTrustAnchorResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task EnableTrustAnchorAsync(EnableTrustAnchorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = EnableTrustAnchorRequestMarshaller.Instance; options.ResponseUnmarshaller = EnableTrustAnchorResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetCrl internal virtual GetCrlResponse GetCrl(GetCrlRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetCrlRequestMarshaller.Instance; options.ResponseUnmarshaller = GetCrlResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task GetCrlAsync(GetCrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetCrlRequestMarshaller.Instance; options.ResponseUnmarshaller = GetCrlResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetProfile internal virtual GetProfileResponse GetProfile(GetProfileRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = GetProfileResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task GetProfileAsync(GetProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = GetProfileResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetSubject internal virtual GetSubjectResponse GetSubject(GetSubjectRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetSubjectRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSubjectResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task GetSubjectAsync(GetSubjectRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetSubjectRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSubjectResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetTrustAnchor internal virtual GetTrustAnchorResponse GetTrustAnchor(GetTrustAnchorRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetTrustAnchorRequestMarshaller.Instance; options.ResponseUnmarshaller = GetTrustAnchorResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task GetTrustAnchorAsync(GetTrustAnchorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetTrustAnchorRequestMarshaller.Instance; options.ResponseUnmarshaller = GetTrustAnchorResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ImportCrl internal virtual ImportCrlResponse ImportCrl(ImportCrlRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ImportCrlRequestMarshaller.Instance; options.ResponseUnmarshaller = ImportCrlResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ImportCrlAsync(ImportCrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ImportCrlRequestMarshaller.Instance; options.ResponseUnmarshaller = ImportCrlResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListCrls internal virtual ListCrlsResponse ListCrls(ListCrlsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListCrlsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListCrlsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListCrlsAsync(ListCrlsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListCrlsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListCrlsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListProfiles internal virtual ListProfilesResponse ListProfiles(ListProfilesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListProfilesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListProfilesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListProfilesAsync(ListProfilesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListProfilesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListProfilesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListSubjects internal virtual ListSubjectsResponse ListSubjects(ListSubjectsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListSubjectsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSubjectsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListSubjectsAsync(ListSubjectsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListSubjectsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSubjectsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListTagsForResource internal virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListTrustAnchors internal virtual ListTrustAnchorsResponse ListTrustAnchors(ListTrustAnchorsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTrustAnchorsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTrustAnchorsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListTrustAnchorsAsync(ListTrustAnchorsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListTrustAnchorsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTrustAnchorsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region PutNotificationSettings internal virtual PutNotificationSettingsResponse PutNotificationSettings(PutNotificationSettingsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutNotificationSettingsRequestMarshaller.Instance; options.ResponseUnmarshaller = PutNotificationSettingsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task PutNotificationSettingsAsync(PutNotificationSettingsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = PutNotificationSettingsRequestMarshaller.Instance; options.ResponseUnmarshaller = PutNotificationSettingsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ResetNotificationSettings internal virtual ResetNotificationSettingsResponse ResetNotificationSettings(ResetNotificationSettingsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ResetNotificationSettingsRequestMarshaller.Instance; options.ResponseUnmarshaller = ResetNotificationSettingsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ResetNotificationSettingsAsync(ResetNotificationSettingsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ResetNotificationSettingsRequestMarshaller.Instance; options.ResponseUnmarshaller = ResetNotificationSettingsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region TagResource internal virtual TagResourceResponse TagResource(TagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UntagResource internal virtual UntagResourceResponse UntagResource(UntagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateCrl internal virtual UpdateCrlResponse UpdateCrl(UpdateCrlRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateCrlRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateCrlResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task UpdateCrlAsync(UpdateCrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateCrlRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateCrlResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateProfile internal virtual UpdateProfileResponse UpdateProfile(UpdateProfileRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateProfileResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task UpdateProfileAsync(UpdateProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateProfileResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateTrustAnchor internal virtual UpdateTrustAnchorResponse UpdateTrustAnchor(UpdateTrustAnchorRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateTrustAnchorRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateTrustAnchorResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task UpdateTrustAnchorAsync(UpdateTrustAnchorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateTrustAnchorRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateTrustAnchorResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion } }