/*
* 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.
*/
using Amazon.Runtime.CredentialManagement;
using System.Collections.Generic;
namespace Amazon.Runtime.CredentialManagement
{
///
/// Interface to define the necessary operations for a CredentialProfile storage mechanism.
///
public interface ICredentialProfileStore : ICredentialProfileSource
{
///
/// Rename the profile with oldProfileName to newProfileName.
///
/// The profile to rename.
/// The new name for the profile.
void RenameProfile(string oldProfileName, string newProfileName);
///
/// Rename the profile with oldProfileName to newProfileName.
///
/// The profile to rename.
/// The new name for the profile.
/// If true and the destination profile exists it will be overwritten.
void RenameProfile(string oldProfileName, string newProfileName, bool force);
///
/// Make a copy of the profile with fromProfileName called toProfileName.
///
/// The name of the profile to copy from.
/// The name of the new profile.
void CopyProfile(string fromProfileName, string toProfileName);
///
/// Make a copy of the profile with fromProfileName called toProfileName.
///
/// The name of the profile to copy from.
/// The name of the new profile.
/// If true and the destination profile exists it will be overwritten.
void CopyProfile(string fromProfileName, string toProfileName, bool force);
///
/// Add the given profile to the store, or update it if one with the same name already exists.
///
///
void RegisterProfile(CredentialProfile profile);
///
/// Delete the profile with profileName if it exists.
///
/// The name of the profile to delete.
void UnregisterProfile(string profileName);
///
/// Get a list of valid profile names from this store.
/// Invalid profiles are ignored.
/// See for more information
/// about valid profiles.
///
///
List ListProfileNames();
///
/// Get a list of valid profiles from this store.
/// Invalid profiles are ignored.
/// See for more information
/// about valid profiles.
///
///
List ListProfiles();
}
}