< Summary

Class:Microsoft.Azure.KeyVault.Models.KeyCreateParameters
Assembly:Microsoft.Azure.KeyVault
File(s):C:\Git\azure-sdk-for-net\sdk\keyvault\Microsoft.Azure.KeyVault\src\Generated\Models\KeyCreateParameters.cs
Covered lines:8
Uncovered lines:14
Coverable lines:22
Total lines:122
Line coverage:36.3% (8 of 22)
Covered branches:0
Total branches:6
Branch coverage:0% (0 of 6)

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
.ctor()-100%100%
.ctor(...)-0%100%
get_Kty()-100%100%
get_KeySize()-100%100%
get_KeyOps()-100%100%
get_KeyAttributes()-100%100%
get_Tags()-100%100%
get_Curve()-100%100%
Validate()-0%0%

File(s)

C:\Git\azure-sdk-for-net\sdk\keyvault\Microsoft.Azure.KeyVault\src\Generated\Models\KeyCreateParameters.cs

#LineLine coverage
 1// <auto-generated>
 2// Copyright (c) Microsoft Corporation. All rights reserved.
 3// Licensed under the MIT License. See License.txt in the project root for
 4// license information.
 5//
 6// Code generated by Microsoft (R) AutoRest Code Generator.
 7// Changes may cause incorrect behavior and will be lost if the code is
 8// regenerated.
 9// </auto-generated>
 10
 11namespace Microsoft.Azure.KeyVault.Models
 12{
 13    using Microsoft.Rest;
 14    using Newtonsoft.Json;
 15    using System.Collections;
 16    using System.Collections.Generic;
 17    using System.Linq;
 18
 19    /// <summary>
 20    /// The key create parameters.
 21    /// </summary>
 22    public partial class KeyCreateParameters
 23    {
 24        /// <summary>
 25        /// Initializes a new instance of the KeyCreateParameters class.
 26        /// </summary>
 4427        public KeyCreateParameters()
 28        {
 29            CustomInit();
 4430        }
 31
 32        /// <summary>
 33        /// Initializes a new instance of the KeyCreateParameters class.
 34        /// </summary>
 35        /// <param name="kty">The type of key to create. For valid values, see
 36        /// Microsoft.Azure.KeyVault.WebKey.JsonWebKeyType. Possible values include: 'EC', 'EC-HSM', 'RSA',
 37        /// 'RSA-HSM', 'oct'</param>
 38        /// <param name="keySize">The key size in bits. For example: 2048,
 39        /// 3072, or 4096 for RSA.</param>
 40        /// <param name="tags">Application specific metadata in the form of
 41        /// key-value pairs.</param>
 42        /// <param name="curve">Elliptic curve name. For valid values, see
 43        /// Microsoft.Azure.KeyVault.WebKey.JsonWebKeyCurveName. Possible values include: 'P-256', 'P-384',
 44        /// 'P-521', 'P-256K'</param>
 045        public KeyCreateParameters(string kty, int? keySize = default(int?), IList<string> keyOps = default(IList<string
 46        {
 047            Kty = kty;
 048            KeySize = keySize;
 049            KeyOps = keyOps;
 050            KeyAttributes = keyAttributes;
 051            Tags = tags;
 052            Curve = curve;
 53            CustomInit();
 054        }
 55
 56        /// <summary>
 57        /// An initialization method that performs custom operations like setting defaults
 58        /// </summary>
 59        partial void CustomInit();
 60
 61        /// <summary>
 62        /// Gets or sets the type of key to create. For valid values, see
 63        /// Microsoft.Azure.KeyVault.WebKey.JsonWebKeyType. Possible values include: 'EC', 'EC-HSM', 'RSA',
 64        /// 'RSA-HSM', 'oct'
 65        /// </summary>
 66        [JsonProperty(PropertyName = "kty")]
 8867        public string Kty { get; set; }
 68
 69        /// <summary>
 70        /// Gets or sets the key size in bits. For example: 2048, 3072, or 4096
 71        /// for RSA.
 72        /// </summary>
 73        [JsonProperty(PropertyName = "key_size")]
 8874        public int? KeySize { get; set; }
 75
 76        /// <summary>
 77        /// </summary>
 78        [JsonProperty(PropertyName = "key_ops")]
 8879        public IList<string> KeyOps { get; set; }
 80
 81        /// <summary>
 82        /// </summary>
 83        [JsonProperty(PropertyName = "attributes")]
 8884        public KeyAttributes KeyAttributes { get; set; }
 85
 86        /// <summary>
 87        /// Gets or sets application specific metadata in the form of key-value
 88        /// pairs.
 89        /// </summary>
 90        [JsonProperty(PropertyName = "tags")]
 8891        public IDictionary<string, string> Tags { get; set; }
 92
 93        /// <summary>
 94        /// Gets or sets elliptic curve name. For valid values, see
 95        /// Microsoft.Azure.KeyVault.WebKey.JsonWebKeyCurveName. Possible values include: 'P-256', 'P-384',
 96        /// 'P-521', 'P-256K'
 97        /// </summary>
 98        [JsonProperty(PropertyName = "crv")]
 8899        public string Curve { get; set; }
 100
 101        /// <summary>
 102        /// Validate the object.
 103        /// </summary>
 104        /// <exception cref="ValidationException">
 105        /// Thrown if validation fails
 106        /// </exception>
 107        public virtual void Validate()
 108        {
 0109            if (Kty == null)
 110            {
 0111                throw new ValidationException(ValidationRules.CannotBeNull, "Kty");
 112            }
 0113            if (Kty != null)
 114            {
 0115                if (Kty.Length < 1)
 116                {
 0117                    throw new ValidationException(ValidationRules.MinLength, "Kty", 1);
 118                }
 119            }
 0120        }
 121    }
 122}