/*
* 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
}
}