/// <summary>
 /// Initializes a new instance of the <see cref="MavenProxyRepositoryApiRequest" /> class.
 /// </summary>
 /// <param name="name">A unique identifier for this repository (required).</param>
 /// <param name="online">Whether this repository accepts incoming requests (required).</param>
 /// <param name="storage">storage (required).</param>
 /// <param name="cleanup">cleanup.</param>
 /// <param name="proxy">proxy (required).</param>
 /// <param name="negativeCache">negativeCache (required).</param>
 /// <param name="httpClient">httpClient (required).</param>
 /// <param name="routingRule">routingRule.</param>
 /// <param name="maven">maven (required).</param>
 public MavenProxyRepositoryApiRequest(string name = default(string), bool?online = default(bool?), StorageAttributes storage = default(StorageAttributes), CleanupPolicyAttributes cleanup = default(CleanupPolicyAttributes), ProxyAttributes proxy = default(ProxyAttributes), NegativeCacheAttributes negativeCache = default(NegativeCacheAttributes), HttpClientAttributes httpClient = default(HttpClientAttributes), string routingRule = default(string), MavenAttributes maven = default(MavenAttributes))
 {
     // to ensure "name" is required (not null)
     if (name == null)
     {
         throw new InvalidDataException("name is a required property for MavenProxyRepositoryApiRequest and cannot be null");
     }
     else
     {
         this.Name = name;
     }
     // to ensure "online" is required (not null)
     if (online == null)
     {
         throw new InvalidDataException("online is a required property for MavenProxyRepositoryApiRequest and cannot be null");
     }
     else
     {
         this.Online = online;
     }
     // to ensure "storage" is required (not null)
     if (storage == null)
     {
         throw new InvalidDataException("storage is a required property for MavenProxyRepositoryApiRequest and cannot be null");
     }
     else
     {
         this.Storage = storage;
     }
     // to ensure "proxy" is required (not null)
     if (proxy == null)
     {
         throw new InvalidDataException("proxy is a required property for MavenProxyRepositoryApiRequest and cannot be null");
     }
     else
     {
         this.Proxy = proxy;
     }
     // to ensure "negativeCache" is required (not null)
     if (negativeCache == null)
     {
         throw new InvalidDataException("negativeCache is a required property for MavenProxyRepositoryApiRequest and cannot be null");
     }
     else
     {
         this.NegativeCache = negativeCache;
     }
     // to ensure "httpClient" is required (not null)
     if (httpClient == null)
     {
         throw new InvalidDataException("httpClient is a required property for MavenProxyRepositoryApiRequest and cannot be null");
     }
     else
     {
         this.HttpClient = httpClient;
     }
     // to ensure "maven" is required (not null)
     if (maven == null)
     {
         throw new InvalidDataException("maven is a required property for MavenProxyRepositoryApiRequest and cannot be null");
     }
     else
     {
         this.Maven = maven;
     }
     this.Cleanup     = cleanup;
     this.RoutingRule = routingRule;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="MavenHostedRepositoryApiRequest" /> class.
 /// </summary>
 /// <param name="name">A unique identifier for this repository (required).</param>
 /// <param name="online">Whether this repository accepts incoming requests (required).</param>
 /// <param name="storage">storage (required).</param>
 /// <param name="cleanup">cleanup.</param>
 /// <param name="maven">maven (required).</param>
 public MavenHostedRepositoryApiRequest(string name = default(string), bool?online = default(bool?), HostedStorageAttributes storage = default(HostedStorageAttributes), CleanupPolicyAttributes cleanup = default(CleanupPolicyAttributes), MavenAttributes maven = default(MavenAttributes))
 {
     // to ensure "name" is required (not null)
     if (name == null)
     {
         throw new InvalidDataException("name is a required property for MavenHostedRepositoryApiRequest and cannot be null");
     }
     else
     {
         this.Name = name;
     }
     // to ensure "online" is required (not null)
     if (online == null)
     {
         throw new InvalidDataException("online is a required property for MavenHostedRepositoryApiRequest and cannot be null");
     }
     else
     {
         this.Online = online;
     }
     // to ensure "storage" is required (not null)
     if (storage == null)
     {
         throw new InvalidDataException("storage is a required property for MavenHostedRepositoryApiRequest and cannot be null");
     }
     else
     {
         this.Storage = storage;
     }
     // to ensure "maven" is required (not null)
     if (maven == null)
     {
         throw new InvalidDataException("maven is a required property for MavenHostedRepositoryApiRequest and cannot be null");
     }
     else
     {
         this.Maven = maven;
     }
     this.Cleanup = cleanup;
 }