< Summary

Class:Microsoft.Azure.Batch.LinuxUserConfiguration
Assembly:Microsoft.Azure.Batch
File(s):C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\Generated\LinuxUserConfiguration.cs
Covered lines:45
Uncovered lines:2
Coverable lines:47
Total lines:164
Line coverage:95.7% (45 of 47)
Covered branches:0
Total branches:0

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
.ctor()-100%100%
.ctor(...)-100%100%
.ctor(...)-100%100%
.ctor(...)-100%100%
get_Gid()-100%100%
set_Gid(...)-100%100%
get_SshPrivateKey()-100%100%
set_SshPrivateKey(...)-100%100%
get_Uid()-100%100%
set_Uid(...)-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.LinuxUserConfiguration>.GetTransportObject()-100%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\Generated\LinuxUserConfiguration.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
 20    /// <summary>
 21    /// Properties used to create a user account on a Linux node.
 22    /// </summary>
 23    public partial class LinuxUserConfiguration : ITransportObjectProvider<Models.LinuxUserConfiguration>, IPropertyMeta
 24    {
 25        private class PropertyContainer : PropertyCollection
 26        {
 27            public readonly PropertyAccessor<int?> GidProperty;
 28            public readonly PropertyAccessor<string> SshPrivateKeyProperty;
 29            public readonly PropertyAccessor<int?> UidProperty;
 30
 134631            public PropertyContainer() : base(BindingState.Unbound)
 32            {
 134633                this.GidProperty = this.CreatePropertyAccessor<int?>(nameof(Gid), BindingAccess.Read | BindingAccess.Wri
 134634                this.SshPrivateKeyProperty = this.CreatePropertyAccessor<string>(nameof(SshPrivateKey), BindingAccess.Re
 134635                this.UidProperty = this.CreatePropertyAccessor<int?>(nameof(Uid), BindingAccess.Read | BindingAccess.Wri
 134636            }
 37
 141338            public PropertyContainer(Models.LinuxUserConfiguration protocolObject) : base(BindingState.Bound)
 39            {
 141340                this.GidProperty = this.CreatePropertyAccessor(
 141341                    protocolObject.Gid,
 141342                    nameof(Gid),
 141343                    BindingAccess.Read);
 141344                this.SshPrivateKeyProperty = this.CreatePropertyAccessor(
 141345                    protocolObject.SshPrivateKey,
 141346                    nameof(SshPrivateKey),
 141347                    BindingAccess.Read);
 141348                this.UidProperty = this.CreatePropertyAccessor(
 141349                    protocolObject.Uid,
 141350                    nameof(Uid),
 141351                    BindingAccess.Read);
 141352            }
 53        }
 54
 55        private readonly PropertyContainer propertyContainer;
 56
 57        #region Constructors
 58
 59        /// <summary>
 60        /// Initializes a new instance of the <see cref="LinuxUserConfiguration"/> class.
 61        /// </summary>
 62        /// <param name='uid'>The user ID of the user account.</param>
 63        /// <param name='gid'>The group ID of the user account.</param>
 64        /// <param name='sshPrivateKey'>The SSH private key for the user account.</param>
 134665        public LinuxUserConfiguration(
 134666            int? uid = default(int?),
 134667            int? gid = default(int?),
 134668            string sshPrivateKey = default(string))
 69        {
 134670            this.propertyContainer = new PropertyContainer();
 134671            this.Uid = uid;
 134672            this.Gid = gid;
 134673            this.SshPrivateKey = sshPrivateKey;
 134674        }
 75
 141376        internal LinuxUserConfiguration(Models.LinuxUserConfiguration protocolObject)
 77        {
 141378            this.propertyContainer = new PropertyContainer(protocolObject);
 141379        }
 80
 81        #endregion Constructors
 82
 83        #region LinuxUserConfiguration
 84
 85        /// <summary>
 86        /// Gets or sets the group ID of the user account.
 87        /// </summary>
 88        /// <remarks>
 89        /// The <see cref="Uid" /> and <see cref="Gid" /> properties must be specified together or not at all. If not sp
 90        /// the underlying operating system picks the gid.
 91        /// </remarks>
 92        public int? Gid
 93        {
 326494            get { return this.propertyContainer.GidProperty.Value; }
 395395            set { this.propertyContainer.GidProperty.Value = value; }
 96        }
 97
 98        /// <summary>
 99        /// Gets or sets the SSH private key for the user account.
 100        /// </summary>
 101        /// <remarks>
 102        /// The private key must not be password protected. The private key is used to automatically configure asymmetri
 103        /// based authentication for SSH between nodes in a Linux pool when the pool's <see cref="CloudPool.InterCompute
 104        /// property is true (it is ignored if <see cref="CloudPool.InterComputeNodeCommunicationEnabled"/> is false). I
 105        /// does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not
 106        /// configured between nodes (no modification of the user's .ssh directory is done)
 107        /// </remarks>
 108        public string SshPrivateKey
 109        {
 3264110            get { return this.propertyContainer.SshPrivateKeyProperty.Value; }
 3989111            set { this.propertyContainer.SshPrivateKeyProperty.Value = value; }
 112        }
 113
 114        /// <summary>
 115        /// Gets or sets the user ID of the user account.
 116        /// </summary>
 117        /// <remarks>
 118        /// The <see cref="Uid" /> and <see cref="Gid" /> properties must be specified together or not at all. If not sp
 119        /// the underlying operating system picks the uid.
 120        /// </remarks>
 121        public int? Uid
 122        {
 3264123            get { return this.propertyContainer.UidProperty.Value; }
 4015124            set { this.propertyContainer.UidProperty.Value = value; }
 125        }
 126
 127        #endregion // LinuxUserConfiguration
 128
 129        #region IPropertyMetadata
 130
 131        bool IModifiable.HasBeenModified
 132        {
 0133            get { return this.propertyContainer.HasBeenModified; }
 134        }
 135
 136        bool IReadOnly.IsReadOnly
 137        {
 0138            get { return this.propertyContainer.IsReadOnly; }
 11822139            set { this.propertyContainer.IsReadOnly = value; }
 140        }
 141
 142        #endregion //IPropertyMetadata
 143
 144        #region Internal/private methods
 145        /// <summary>
 146        /// Return a protocol object of the requested type.
 147        /// </summary>
 148        /// <returns>The protocol object of the requested type.</returns>
 149        Models.LinuxUserConfiguration ITransportObjectProvider<Models.LinuxUserConfiguration>.GetTransportObject()
 150        {
 925151            Models.LinuxUserConfiguration result = new Models.LinuxUserConfiguration()
 925152            {
 925153                Gid = this.Gid,
 925154                SshPrivateKey = this.SshPrivateKey,
 925155                Uid = this.Uid,
 925156            };
 157
 925158            return result;
 159        }
 160
 161
 162        #endregion // Internal/private methods
 163    }
 164}