< Summary

Class:Microsoft.Azure.Batch.ImageReference
Assembly:Microsoft.Azure.Batch
File(s):C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\Generated\ImageReference.cs
C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\ImageReference.cs
Covered lines:22
Uncovered lines:44
Coverable lines:66
Total lines:209
Line coverage:33.3% (22 of 66)
Covered branches:0
Total branches:0

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
.ctor(...)-0%100%
.ctor(...)-100%100%
.ctor(...)-25%100%
get_Offer()-100%100%
get_Publisher()-100%100%
get_Sku()-100%100%
get_Version()-100%100%
get_VirtualMachineImageId()-100%100%
Microsoft.Azure.Batch.IModifiable.get_HasBeenModified()-0%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.ImageReference>.GetTransportObject()-100%100%
ConvertFromProtocolCollection(...)-0%100%
ConvertFromProtocolCollectionAndFreeze(...)-0%100%
ConvertFromProtocolCollectionReadOnly(...)-0%100%
.ctor(...)-0%100%
.ctor(...)-0%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\Generated\ImageReference.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{
 015    using Models = Microsoft.Azure.Batch.Protocol.Models;
 016    using System;
 017    using System.Collections.Generic;
 018    using System.Linq;
 019
 20    /// <summary>
 021    /// A reference to an Azure Virtual Machines Marketplace Image or a custom Azure Virtual Machine Image. To get the l
 022    /// of all Azure Marketplace Image references verified by Azure Batch, see <see cref="PoolOperations.ListSupportedIm
 023    /// </summary>
 024    public partial class ImageReference : ITransportObjectProvider<Models.ImageReference>, IPropertyMetadata
 025    {
 26        #region Constructors
 27
 126028        internal ImageReference(Models.ImageReference protocolObject)
 29        {
 126030            this.Offer = protocolObject.Offer;
 126031            this.Publisher = protocolObject.Publisher;
 126032            this.Sku = protocolObject.Sku;
 126033            this.Version = protocolObject.Version;
 126034            this.VirtualMachineImageId = protocolObject.VirtualMachineImageId;
 126035        }
 036
 37        #endregion Constructors
 038
 039        #region ImageReference
 40
 41        /// <summary>
 42        /// Gets the offer type of the Azure Virtual Machines Marketplace Image.
 43        /// </summary>
 44        /// <remarks>
 45        /// For example, UbuntuServer or WindowsServer.
 46        /// </remarks>
 150547        public string Offer { get; }
 48
 49        /// <summary>
 50        /// Gets the publisher of the Azure Virtual Machines Marketplace Image.
 51        /// </summary>
 52        /// <remarks>
 53        /// For example, Canonical or MicrosoftWindowsServer.
 54        /// </remarks>
 150555        public string Publisher { get; }
 56
 57        /// <summary>
 58        /// Gets the SKU of the Azure Virtual Machines Marketplace Image.
 59        /// </summary>
 60        /// <remarks>
 61        /// For example, 18.04-LTS or 2019-Datacenter.
 62        /// </remarks>
 150563        public string Sku { get; }
 64
 65        /// <summary>
 66        /// Gets the version of the Azure Virtual Machines Marketplace Image.
 67        /// </summary>
 68        /// <remarks>
 69        /// If this property is not specified, it defaults to 'latest', which is the latest version of the image.
 70        /// </remarks>
 150571        public string Version { get; }
 72
 73        /// <summary>
 74        /// Gets the ARM resource identifier of the Virtual Machine Image or Shared Image Gallery Image. Computes Comput
 75        /// Nodes of the Pool will be created using this Image Id. This is of the form /subscriptions/{subscriptionId}/r
 76        /// </summary>
 77        /// <remarks>
 78        /// This property is mutually exclusive with other <see cref="ImageReference"/> properties. The Shared Image Gal
 79        /// image must have replicas in the same region as the Azure Batch account. For information about the firewall s
 80        /// for the Batch Compute Node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/
 81        /// </remarks>
 150582        public string VirtualMachineImageId { get; }
 83
 84        #endregion // ImageReference
 85
 86        #region IPropertyMetadata
 87
 88        bool IModifiable.HasBeenModified
 89        {
 90            //This class is compile time readonly so it cannot have been modified
 091            get { return false; }
 92        }
 93
 94        bool IReadOnly.IsReadOnly
 95        {
 096            get { return true; }
 97            set
 98            {
 99                // This class is compile time readonly already
 725100            }
 101        }
 102
 103        #endregion // IPropertyMetadata
 104
 105        #region Internal/private methods
 106
 107        /// <summary>
 108        /// Return a protocol object of the requested type.
 109        /// </summary>
 110        /// <returns>The protocol object of the requested type.</returns>
 111        Models.ImageReference ITransportObjectProvider<Models.ImageReference>.GetTransportObject()
 112        {
 365113            Models.ImageReference result = new Models.ImageReference()
 365114            {
 365115                Offer = this.Offer,
 365116                Publisher = this.Publisher,
 365117                Sku = this.Sku,
 365118                Version = this.Version,
 365119                VirtualMachineImageId = this.VirtualMachineImageId,
 365120            };
 121
 365122            return result;
 123        }
 124
 125        /// <summary>
 126        /// Converts a collection of protocol layer objects to object layer collection objects.
 127        /// </summary>
 128        internal static IList<ImageReference> ConvertFromProtocolCollection(IEnumerable<Models.ImageReference> protoColl
 129        {
 0130            ConcurrentChangeTrackedModifiableList<ImageReference> converted = UtilitiesInternal.CollectionToThreadSafeCo
 0131                items: protoCollection,
 0132                objectCreationFunc: o => new ImageReference(o));
 133
 0134            return converted;
 135        }
 136
 137        /// <summary>
 138        /// Converts a collection of protocol layer objects to object layer collection objects, in a frozen state.
 139        /// </summary>
 140        internal static IList<ImageReference> ConvertFromProtocolCollectionAndFreeze(IEnumerable<Models.ImageReference> 
 141        {
 0142            ConcurrentChangeTrackedModifiableList<ImageReference> converted = UtilitiesInternal.CollectionToThreadSafeCo
 0143                items: protoCollection,
 0144                objectCreationFunc: o => new ImageReference(o).Freeze());
 145
 0146            converted = UtilitiesInternal.CreateObjectWithNullCheck(converted, o => o.Freeze());
 147
 0148            return converted;
 149        }
 150
 151        /// <summary>
 152        /// Converts a collection of protocol layer objects to object layer collection objects, with each object marked 
 153        /// and returned as a readonly collection.
 154        /// </summary>
 155        internal static IReadOnlyList<ImageReference> ConvertFromProtocolCollectionReadOnly(IEnumerable<Models.ImageRefe
 156        {
 0157            IReadOnlyList<ImageReference> converted =
 0158                UtilitiesInternal.CreateObjectWithNullCheck(
 0159                    UtilitiesInternal.CollectionToNonThreadSafeCollection(
 0160                        items: protoCollection,
 0161                        objectCreationFunc: o => new ImageReference(o).Freeze()), o => o.AsReadOnly());
 162
 0163            return converted;
 164        }
 165
 166        #endregion // Internal/private methods
 167    }
 168}

C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\ImageReference.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
 4namespace Microsoft.Azure.Batch
 5{
 6    public partial class ImageReference
 7    {
 8        /// <summary>
 9        /// Initializes a new instance of the <see cref="ImageReference"/> class.
 10        /// </summary>
 11        /// <param name='offer'>The offer type of the Azure Virtual Machines Marketplace image.</param>
 12        /// <param name='publisher'>The publisher of the Azure Virtual Machines Marketplace image.</param>
 13        /// <param name='sku'>The SKU of the Azure Virtual Machines Marketplace image.</param>
 14        /// <param name='version'>The version of the Azure Virtual Machines Marketplace image.</param>
 015        public ImageReference(
 016            string offer,
 017            string publisher,
 018            string sku,
 019            string version = default(string))
 20        {
 021            this.Offer = offer;
 022            this.Publisher = publisher;
 023            this.Sku = sku;
 024            this.Version = version;
 025        }
 26
 27        /// <summary>
 28        /// Initializes a new instance of the <see cref="ImageReference"/> class.
 29        /// </summary>
 30        /// <param name="virtualMachineImageId">
 31        /// The ARM resource identifier of the Shared Image Gallery Image. Compute Nodes of the Pool will be created usi
 32        /// This is of the form
 33        /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galler
 34        /// </param>
 035        public ImageReference(
 036            string virtualMachineImageId)
 37        {
 038            this.VirtualMachineImageId = virtualMachineImageId;
 039        }
 40    }
 41}