< Summary

Class:Microsoft.Azure.Batch.ResourceFile
Assembly:Microsoft.Azure.Batch
File(s):C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\Generated\ResourceFile.cs
C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\ResourceFile.cs
Covered lines:50
Uncovered lines:11
Coverable lines:61
Total lines:263
Line coverage:81.9% (50 of 61)
Covered branches:0
Total branches:0

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
FromUrl(...)-100%100%
FromStorageContainerUrl(...)-0%100%
.ctor(...)-100%100%
FromAutoStorageContainer(...)-100%100%
.ctor(...)-100%100%
get_AutoStorageContainerName()-100%100%
get_BlobPrefix()-100%100%
get_FileMode()-100%100%
get_FilePath()-100%100%
get_HttpUrl()-100%100%
get_StorageContainerUrl()-100%100%
Microsoft.Azure.Batch.IModifiable.get_HasBeenModified()-100%100%
Microsoft.Azure.Batch.IReadOnly.get_IsReadOnly()-0%100%
Microsoft.Azure.Batch.IReadOnly.set_IsReadOnly(...)-100%100%
Microsoft.Azure.Batch.ITransportObjectProvider<Microsoft.Azure.Batch.Protocol.Models.ResourceFile>.GetTransportObject()-100%100%
ConvertFromProtocolCollection(...)-100%100%
ConvertFromProtocolCollectionAndFreeze(...)-100%100%
ConvertFromProtocolCollectionReadOnly(...)-0%100%
FromUrl(...)-0%100%
FromStorageContainerUrl(...)-0%100%
FromAutoStorageContainer(...)-0%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\Generated\ResourceFile.cs

#LineLine coverage
 1// Copyright (c) Microsoft Corporation. All rights reserved.
 2// Licensed under the MIT License. See License.txt in the project root for license information.
 3//
 4// Code generated by Microsoft (R) AutoRest Code Generator.
 5// Changes may cause incorrect behavior and will be lost if the code is
 6// regenerated.
 7
 8//
 9// This file was autogenerated by a tool.
 10// Do not modify it.
 11//
 12
 13namespace Microsoft.Azure.Batch
 14{
 15    using Models = Microsoft.Azure.Batch.Protocol.Models;
 16    using System;
 17    using System.Collections.Generic;
 18    using System.Linq;
 19
 120    /// <summary>
 21    /// A file to be downloaded to a compute node from Azure Blob Storage, such as task executables and task input data 
 22    /// </summary>
 23    public partial class ResourceFile : ITransportObjectProvider<Models.ResourceFile>, IPropertyMetadata
 24    {
 25        #region Constructors
 26        /// <summary>
 27        /// Initializes a new instance of the <see cref="ResourceFile"/> class.
 28        /// </summary>
 29        /// <param name='httpUrl'>The URL of the file to download.</param>
 30        /// <param name='fileMode'>The file permission mode attribute in octal format.</param>
 31        /// <param name='filePath'>The location on the compute node to which to download the file(s), relative to the ta
 32        /// <param name='storageContainerUrl'>The URL of the blob container within Azure Blob Storage.</param>
 33        /// <param name='autoStorageContainerName'>The storage container name in the auto storage account.</param>
 034        /// <param name='blobPrefix'>The blob prefix to use when downloading blobs from an Azure Storage container. Only
 35        /// with the specified prefix will be downloaded.</param>
 253036        internal ResourceFile(
 253037            string httpUrl = default(string),
 253038            string fileMode = default(string),
 253039            string filePath = default(string),
 253040            string storageContainerUrl = default(string),
 253041            string autoStorageContainerName = default(string),
 253042            string blobPrefix = default(string))
 43        {
 253044            this.HttpUrl = httpUrl;
 253045            this.FileMode = fileMode;
 253046            this.FilePath = filePath;
 253047            this.StorageContainerUrl = storageContainerUrl;
 253048            this.AutoStorageContainerName = autoStorageContainerName;
 253049            this.BlobPrefix = blobPrefix;
 253050        }
 51
 1096552        internal ResourceFile(Models.ResourceFile protocolObject)
 53        {
 1096554            this.AutoStorageContainerName = protocolObject.AutoStorageContainerName;
 1096555            this.BlobPrefix = protocolObject.BlobPrefix;
 1096556            this.FileMode = protocolObject.FileMode;
 1096557            this.FilePath = protocolObject.FilePath;
 1096558            this.HttpUrl = protocolObject.HttpUrl;
 1096559            this.StorageContainerUrl = protocolObject.StorageContainerUrl;
 1096560        }
 61
 62        #endregion Constructors
 63
 64        #region ResourceFile
 65
 66        /// <summary>
 67        /// Gets the storage container name in the auto storage account.
 68        /// </summary>
 1602269        public string AutoStorageContainerName { get; }
 70
 71        /// <summary>
 72        /// Gets the blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose nam
 73        /// begin with the specified prefix will be downloaded.
 74        /// </summary>
 75        /// <remarks>
 76        /// This property is valid only when <see cref="AutoStorageContainerName" /> or <see cref="StorageContainerUrl" 
 77        /// is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the file
 78        /// in the container will be downloaded.
 79        /// </remarks>
 1602280        public string BlobPrefix { get; }
 81
 82        /// <summary>
 83        /// Gets the file permission mode attribute in octal format.
 84        /// </summary>
 85        /// <remarks>
 86        /// <para>This property is applicable only if the resource file is downloaded to a Linux node. This property wil
 87        /// be ignored if it is specified for a <see cref="ResourceFile"/> which will be downloaded to a Windows node. I
 88        /// this property is not specified for a Linux node, then the default value is 0770.</para>
 89        /// </remarks>
 1602290        public string FileMode { get; }
 91
 92        /// <summary>
 93        /// Gets the location on the compute node to which to download the file(s), relative to the task's working direc
 94        /// </summary>
 95        /// <remarks>
 96        /// If the <see cref="HttpUrl" /> property is specified, this is required and describes the path which the file 
 97        /// be downloaded to, including the filename. Otherwise, if the <see cref="AutoStorageContainerName" /> or <see 
 98        /// /> property is specified, this is optional and is the directory to download the files to. In the case where 
 99        /// is used as a directory, any directory structure already associated with the input data will be retained in f
 100        /// and appended to the specified <see cref="FilePath" /> directory. The specified relative path cannot break ou
 101        /// of the task's working directory (for example by using '..').
 102        /// </remarks>
 16022103        public string FilePath { get; }
 104
 105        /// <summary>
 106        /// Gets the URL of the file to download.
 107        /// </summary>
 108        /// <remarks>
 109        /// If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service doe
 110        /// not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Az
 111        /// storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for t
 112        /// blob or its container to allow public access.
 113        /// </remarks>
 16022114        public string HttpUrl { get; }
 115
 116        /// <summary>
 117        /// Gets the URL of the blob container within Azure Blob Storage.
 118        /// </summary>
 119        /// <remarks>
 120        /// This URL must be readable and listable using anonymous access; that is, the Batch service does not present a
 121        /// credentials when downloading blobs from the container. There are two ways to get such a URL for a container 
 122        /// Azure storage: include a Shared Access Signature (SAS) granting read permissions on the container, or set th
 123        /// ACL for the container to allow public access.
 124        /// </remarks>
 16022125        public string StorageContainerUrl { get; }
 126
 127        #endregion // ResourceFile
 128
 129        #region IPropertyMetadata
 130
 131        bool IModifiable.HasBeenModified
 132        {
 133            //This class is compile time readonly so it cannot have been modified
 1134            get { return false; }
 135        }
 136
 137        bool IReadOnly.IsReadOnly
 138        {
 0139            get { return true; }
 140            set
 141            {
 142                // This class is compile time readonly already
 26095143            }
 144        }
 145
 146        #endregion // IPropertyMetadata
 147
 148        #region Internal/private methods
 149
 150        /// <summary>
 151        /// Return a protocol object of the requested type.
 152        /// </summary>
 153        /// <returns>The protocol object of the requested type.</returns>
 154        Models.ResourceFile ITransportObjectProvider<Models.ResourceFile>.GetTransportObject()
 155        {
 2529156            Models.ResourceFile result = new Models.ResourceFile()
 2529157            {
 2529158                AutoStorageContainerName = this.AutoStorageContainerName,
 2529159                BlobPrefix = this.BlobPrefix,
 2529160                FileMode = this.FileMode,
 2529161                FilePath = this.FilePath,
 2529162                HttpUrl = this.HttpUrl,
 2529163                StorageContainerUrl = this.StorageContainerUrl,
 2529164            };
 165
 2529166            return result;
 167        }
 168
 169        /// <summary>
 170        /// Converts a collection of protocol layer objects to object layer collection objects.
 171        /// </summary>
 172        internal static IList<ResourceFile> ConvertFromProtocolCollection(IEnumerable<Models.ResourceFile> protoCollecti
 173        {
 3318174            ConcurrentChangeTrackedModifiableList<ResourceFile> converted = UtilitiesInternal.CollectionToThreadSafeColl
 3318175                items: protoCollection,
 10791176                objectCreationFunc: o => new ResourceFile(o));
 177
 3318178            return converted;
 179        }
 180
 181        /// <summary>
 182        /// Converts a collection of protocol layer objects to object layer collection objects, in a frozen state.
 183        /// </summary>
 184        internal static IList<ResourceFile> ConvertFromProtocolCollectionAndFreeze(IEnumerable<Models.ResourceFile> prot
 185        {
 1539186            ConcurrentChangeTrackedModifiableList<ResourceFile> converted = UtilitiesInternal.CollectionToThreadSafeColl
 1539187                items: protoCollection,
 5031188                objectCreationFunc: o => new ResourceFile(o).Freeze());
 189
 2302190            converted = UtilitiesInternal.CreateObjectWithNullCheck(converted, o => o.Freeze());
 191
 1539192            return converted;
 193        }
 194
 195        /// <summary>
 196        /// Converts a collection of protocol layer objects to object layer collection objects, with each object marked 
 197        /// and returned as a readonly collection.
 198        /// </summary>
 199        internal static IReadOnlyList<ResourceFile> ConvertFromProtocolCollectionReadOnly(IEnumerable<Models.ResourceFil
 200        {
 0201            IReadOnlyList<ResourceFile> converted =
 0202                UtilitiesInternal.CreateObjectWithNullCheck(
 0203                    UtilitiesInternal.CollectionToNonThreadSafeCollection(
 0204                        items: protoCollection,
 0205                        objectCreationFunc: o => new ResourceFile(o).Freeze()), o => o.AsReadOnly());
 206
 0207            return converted;
 208        }
 209
 210        #endregion // Internal/private methods
 211    }
 212}

C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\ResourceFile.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Text;
 5using System.Threading.Tasks;
 6
 7namespace Microsoft.Azure.Batch
 8{
 9    public partial class ResourceFile
 10    {
 11        /// <summary>
 12        /// Creates a new <see cref="ResourceFile"/> from the specified HTTP URL.
 13        /// </summary>
 14        /// <param name='httpUrl'>The URL of the file to download.</param>
 15        /// <param name='filePath'>The file permission mode attribute in octal format.</param>
 16        /// <param name='fileMode'>The location on the compute node to which to download the file(s), relative to the ta
 17        /// <returns>A <see cref="ResourceFile"/> from the specified HTTP URL.</returns>
 18        public static ResourceFile FromUrl(string httpUrl, string filePath, string fileMode = null)
 19        {
 020            return new ResourceFile(httpUrl: httpUrl, filePath: filePath, fileMode: fileMode);
 21        }
 22
 23        /// <summary>
 24        /// Creates a new <see cref="ResourceFile"/> from the specified Azure Storage container URL.
 25        /// </summary>
 26        /// <param name='storageContainerUrl'>The URL of the blob container within Azure Blob Storage.</param>
 27        /// <param name='filePath'>The location on the compute node to which to download the file(s), relative to the ta
 28        /// <param name='blobPrefix'>The blob prefix to use when downloading blobs from an Azure Storage container. Only
 29        /// with the specified prefix will be downloaded.</param>
 30        /// <param name='fileMode'>The file permission mode attribute in octal format.</param>
 31        /// <returns>A <see cref="ResourceFile"/> from the specified Azure Storage container URL.</returns>
 32        public static ResourceFile FromStorageContainerUrl(string storageContainerUrl, string filePath = null, string bl
 33        {
 034            return new ResourceFile(storageContainerUrl: storageContainerUrl, filePath: filePath, blobPrefix: blobPrefix
 35        }
 36
 37        /// <summary>
 38        /// Creates a new <see cref="ResourceFile"/> from the specified auto storage container name.
 39        /// </summary>
 40        /// <param name='autoStorageContainerName'>The storage container name in the auto storage account.</param>
 41        /// <param name='filePath'>The location on the compute node to which to download the file(s), relative to the ta
 42        /// <param name='blobPrefix'>The blob prefix to use when downloading blobs from an Azure Storage container. Only
 43        /// with the specified prefix will be downloaded.</param>
 44        /// <param name='fileMode'>The file permission mode attribute in octal format.</param>
 45        /// <returns>A <see cref="ResourceFile"/> from the specified auto storage container name.</returns>
 46        public static ResourceFile FromAutoStorageContainer(string autoStorageContainerName, string filePath = null, str
 47        {
 048            return new ResourceFile(autoStorageContainerName: autoStorageContainerName, filePath: filePath, blobPrefix: 
 49        }
 50    }
 51}