/*
* 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 license-manager-user-subscriptions-2018-05-10.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.LicenseManagerUserSubscriptions.Model;
namespace Amazon.LicenseManagerUserSubscriptions
{
///
/// Interface for accessing LicenseManagerUserSubscriptions
///
/// With License Manager, you can create user-based subscriptions to utilize licensed
/// software with a per user subscription fee on Amazon EC2 instances.
///
public partial interface IAmazonLicenseManagerUserSubscriptions : IAmazonService, IDisposable
{
///
/// Paginators for the service
///
ILicenseManagerUserSubscriptionsPaginatorFactory Paginators { get; }
#region AssociateUser
///
/// Associates the user to an EC2 instance to utilize user-based subscriptions.
///
///
///
/// Your estimated bill for charges on the number of users and related costs will take
/// 48 hours to appear for billing periods that haven't closed (marked as Pending
/// billing status) in Amazon Web Services Billing. For more information, see Viewing
/// your monthly charges in the Amazon Web Services Billing User Guide.
///
///
///
/// Container for the necessary parameters to execute the AssociateUser service method.
///
/// The response from the AssociateUser service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for AssociateUser Operation
AssociateUserResponse AssociateUser(AssociateUserRequest request);
///
/// Associates the user to an EC2 instance to utilize user-based subscriptions.
///
///
///
/// Your estimated bill for charges on the number of users and related costs will take
/// 48 hours to appear for billing periods that haven't closed (marked as Pending
/// billing status) in Amazon Web Services Billing. For more information, see Viewing
/// your monthly charges in the Amazon Web Services Billing User Guide.
///
///
///
/// Container for the necessary parameters to execute the AssociateUser service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the AssociateUser service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for AssociateUser Operation
Task AssociateUserAsync(AssociateUserRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeregisterIdentityProvider
///
/// Deregisters the identity provider from providing user-based subscriptions.
///
/// Container for the necessary parameters to execute the DeregisterIdentityProvider service method.
///
/// The response from the DeregisterIdentityProvider service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for DeregisterIdentityProvider Operation
DeregisterIdentityProviderResponse DeregisterIdentityProvider(DeregisterIdentityProviderRequest request);
///
/// Deregisters the identity provider from providing user-based subscriptions.
///
/// Container for the necessary parameters to execute the DeregisterIdentityProvider service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeregisterIdentityProvider service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for DeregisterIdentityProvider Operation
Task DeregisterIdentityProviderAsync(DeregisterIdentityProviderRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DisassociateUser
///
/// Disassociates the user from an EC2 instance providing user-based subscriptions.
///
/// Container for the necessary parameters to execute the DisassociateUser service method.
///
/// The response from the DisassociateUser service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for DisassociateUser Operation
DisassociateUserResponse DisassociateUser(DisassociateUserRequest request);
///
/// Disassociates the user from an EC2 instance providing user-based subscriptions.
///
/// Container for the necessary parameters to execute the DisassociateUser service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DisassociateUser service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for DisassociateUser Operation
Task DisassociateUserAsync(DisassociateUserRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListIdentityProviders
///
/// Lists the identity providers for user-based subscriptions.
///
/// Container for the necessary parameters to execute the ListIdentityProviders service method.
///
/// The response from the ListIdentityProviders service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for ListIdentityProviders Operation
ListIdentityProvidersResponse ListIdentityProviders(ListIdentityProvidersRequest request);
///
/// Lists the identity providers for user-based subscriptions.
///
/// Container for the necessary parameters to execute the ListIdentityProviders service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListIdentityProviders service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for ListIdentityProviders Operation
Task ListIdentityProvidersAsync(ListIdentityProvidersRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListInstances
///
/// Lists the EC2 instances providing user-based subscriptions.
///
/// Container for the necessary parameters to execute the ListInstances service method.
///
/// The response from the ListInstances service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for ListInstances Operation
ListInstancesResponse ListInstances(ListInstancesRequest request);
///
/// Lists the EC2 instances providing user-based subscriptions.
///
/// Container for the necessary parameters to execute the ListInstances service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListInstances service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for ListInstances Operation
Task ListInstancesAsync(ListInstancesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListProductSubscriptions
///
/// Lists the user-based subscription products available from an identity provider.
///
/// Container for the necessary parameters to execute the ListProductSubscriptions service method.
///
/// The response from the ListProductSubscriptions service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for ListProductSubscriptions Operation
ListProductSubscriptionsResponse ListProductSubscriptions(ListProductSubscriptionsRequest request);
///
/// Lists the user-based subscription products available from an identity provider.
///
/// Container for the necessary parameters to execute the ListProductSubscriptions service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListProductSubscriptions service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for ListProductSubscriptions Operation
Task ListProductSubscriptionsAsync(ListProductSubscriptionsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListUserAssociations
///
/// Lists user associations for an identity provider.
///
/// Container for the necessary parameters to execute the ListUserAssociations service method.
///
/// The response from the ListUserAssociations service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for ListUserAssociations Operation
ListUserAssociationsResponse ListUserAssociations(ListUserAssociationsRequest request);
///
/// Lists user associations for an identity provider.
///
/// Container for the necessary parameters to execute the ListUserAssociations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListUserAssociations service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for ListUserAssociations Operation
Task ListUserAssociationsAsync(ListUserAssociationsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region RegisterIdentityProvider
///
/// Registers an identity provider for user-based subscriptions.
///
/// Container for the necessary parameters to execute the RegisterIdentityProvider service method.
///
/// The response from the RegisterIdentityProvider service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for RegisterIdentityProvider Operation
RegisterIdentityProviderResponse RegisterIdentityProvider(RegisterIdentityProviderRequest request);
///
/// Registers an identity provider for user-based subscriptions.
///
/// Container for the necessary parameters to execute the RegisterIdentityProvider service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the RegisterIdentityProvider service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for RegisterIdentityProvider Operation
Task RegisterIdentityProviderAsync(RegisterIdentityProviderRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region StartProductSubscription
///
/// Starts a product subscription for a user with the specified identity provider.
///
///
///
/// Your estimated bill for charges on the number of users and related costs will take
/// 48 hours to appear for billing periods that haven't closed (marked as Pending
/// billing status) in Amazon Web Services Billing. For more information, see Viewing
/// your monthly charges in the Amazon Web Services Billing User Guide.
///
///
///
/// Container for the necessary parameters to execute the StartProductSubscription service method.
///
/// The response from the StartProductSubscription service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for StartProductSubscription Operation
StartProductSubscriptionResponse StartProductSubscription(StartProductSubscriptionRequest request);
///
/// Starts a product subscription for a user with the specified identity provider.
///
///
///
/// Your estimated bill for charges on the number of users and related costs will take
/// 48 hours to appear for billing periods that haven't closed (marked as Pending
/// billing status) in Amazon Web Services Billing. For more information, see Viewing
/// your monthly charges in the Amazon Web Services Billing User Guide.
///
///
///
/// Container for the necessary parameters to execute the StartProductSubscription service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the StartProductSubscription service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for StartProductSubscription Operation
Task StartProductSubscriptionAsync(StartProductSubscriptionRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region StopProductSubscription
///
/// Stops a product subscription for a user with the specified identity provider.
///
/// Container for the necessary parameters to execute the StopProductSubscription service method.
///
/// The response from the StopProductSubscription service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for StopProductSubscription Operation
StopProductSubscriptionResponse StopProductSubscription(StopProductSubscriptionRequest request);
///
/// Stops a product subscription for a user with the specified identity provider.
///
/// Container for the necessary parameters to execute the StopProductSubscription service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the StopProductSubscription service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// The request couldn't be completed because it conflicted with the current state of
/// the resource.
///
///
/// An exception occurred with the service.
///
///
/// The resource couldn't be found.
///
///
/// The request failed because a service quota is exceeded.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for StopProductSubscription Operation
Task StopProductSubscriptionAsync(StopProductSubscriptionRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateIdentityProviderSettings
///
/// Updates additional product configuration settings for the registered identity provider.
///
/// Container for the necessary parameters to execute the UpdateIdentityProviderSettings service method.
///
/// The response from the UpdateIdentityProviderSettings service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// An exception occurred with the service.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for UpdateIdentityProviderSettings Operation
UpdateIdentityProviderSettingsResponse UpdateIdentityProviderSettings(UpdateIdentityProviderSettingsRequest request);
///
/// Updates additional product configuration settings for the registered identity provider.
///
/// Container for the necessary parameters to execute the UpdateIdentityProviderSettings service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateIdentityProviderSettings service method, as returned by LicenseManagerUserSubscriptions.
///
/// You don't have sufficient access to perform this action.
///
///
/// An exception occurred with the service.
///
///
/// The request was denied because of request throttling. Retry the request.
///
///
/// A parameter is not valid.
///
/// REST API Reference for UpdateIdentityProviderSettings Operation
Task UpdateIdentityProviderSettingsAsync(UpdateIdentityProviderSettingsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}