/* * 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; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Amazon.S3Control.Internal { /// /// Interface to cover various types of S3 resources /// public interface IS3Resource { /// /// Type of the S3 Resource. /// S3ResourceType Type { get; set; } /// /// Name of the access point or bucket /// string Name { get; set; } /// /// Key for object in bucket /// string Key { get; set; } /// /// The S3 resource full ARN representation /// string FullResourceName { get; } /// /// Validate if the ARN is compatible with /// options set in the client config /// /// A client config to validate with /// The region to use for cross region checks void ValidateArnWithClientConfig(IClientConfig config, RegionEndpoint region); /// /// Get the endpoint based on the client config options /// /// A client config to provide necessary values for the endpoint /// Uri GetEndpoint(IClientConfig config); } }