| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License 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. |
| */ |
| |
| // Generated from bindings/java ServiceConfig definitions. |
| |
| using OpenDAL.ServiceConfig.Abstractions; |
| |
| namespace OpenDAL.ServiceConfig |
| { |
| /// <summary> |
| /// Configuration for service aliyun_drive. |
| /// </summary> |
| public sealed class AliyunDriveServiceConfig : IServiceConfig |
| { |
| /// <summary> |
| /// The access_token of this backend. Solution for client-only purpose. #4733 Required if no client_id, client_secret and refresh_token are provided. |
| /// </summary> |
| public string? AccessToken { get; init; } |
| /// <summary> |
| /// The client_id of this backend. Required if no access_token is provided. |
| /// </summary> |
| public string? ClientId { get; init; } |
| /// <summary> |
| /// The client_secret of this backend. Required if no access_token is provided. |
| /// </summary> |
| public string? ClientSecret { get; init; } |
| /// <summary> |
| /// The drive_type of this backend. All operations will happen under this type of drive. Available values are default, backup and resource. Fallback to default if not set or no other drives can be found. |
| /// </summary> |
| public string? DriveType { get; init; } |
| /// <summary> |
| /// The refresh_token of this backend. Required if no access_token is provided. |
| /// </summary> |
| public string? RefreshToken { get; init; } |
| /// <summary> |
| /// The Root of this backend. All operations will happen under this root. Default to / if not set. |
| /// </summary> |
| public string? Root { get; init; } |
| |
| public string Scheme => "aliyun_drive"; |
| |
| public IReadOnlyDictionary<string, string> ToOptions() |
| { |
| var map = new Dictionary<string, string>(); |
| if (AccessToken is not null) |
| { |
| map["access_token"] = Utilities.ToOptionString(AccessToken); |
| } |
| if (ClientId is not null) |
| { |
| map["client_id"] = Utilities.ToOptionString(ClientId); |
| } |
| if (ClientSecret is not null) |
| { |
| map["client_secret"] = Utilities.ToOptionString(ClientSecret); |
| } |
| if (DriveType is not null) |
| { |
| map["drive_type"] = Utilities.ToOptionString(DriveType); |
| } |
| if (RefreshToken is not null) |
| { |
| map["refresh_token"] = Utilities.ToOptionString(RefreshToken); |
| } |
| if (Root is not null) |
| { |
| map["root"] = Utilities.ToOptionString(Root); |
| } |
| return map; |
| } |
| } |
| |
| } |