/// <summary> /// Initializes a new instance of the <see cref="ProjectWithConfiguration" /> class. /// </summary> /// <param name="ProjectId">ProjectId (required).</param> /// <param name="Name">Name.</param> /// <param name="Builds">Only non-empty for response from getProjects..</param> /// <param name="CurrentBuildId">CurrentBuildId.</param> /// <param name="RepositoryType">RepositoryType.</param> /// <param name="RepositoryScm">RepositoryScm.</param> /// <param name="RepositoryName">RepositoryName (required).</param> /// <param name="RepositoryBranch">Not present in response from addProject..</param> /// <param name="IsPrivate">IsPrivate.</param> /// <param name="IsGitHubApp">IsGitHubApp.</param> /// <param name="SkipBranchesWithoutAppveyorYml">SkipBranchesWithoutAppveyorYml.</param> /// <param name="EnableSecureVariablesInPullRequests">EnableSecureVariablesInPullRequests.</param> /// <param name="EnableSecureVariablesInPullRequestsFromSameRepo">EnableSecureVariablesInPullRequestsFromSameRepo.</param> /// <param name="EnableDeploymentInPullRequests">EnableDeploymentInPullRequests.</param> /// <param name="SaveBuildCacheInPullRequests">SaveBuildCacheInPullRequests.</param> /// <param name="RollingBuilds">RollingBuilds.</param> /// <param name="RollingBuildsDoNotCancelRunningBuilds">RollingBuildsDoNotCancelRunningBuilds.</param> /// <param name="RollingBuildsOnlyForPullRequests">RollingBuildsOnlyForPullRequests.</param> /// <param name="AlwaysBuildClosedPullRequests">AlwaysBuildClosedPullRequests.</param> /// <param name="Tags">Comma-separated list of project tags for dynamic grouping. Appears that any input is accepted. The returned value only contains case-preserving but insensitive unique values where spaces around \",\" are removed but otherwise preserved. Empty values and items are allowed..</param> /// <param name="NuGetFeed">Not present in response from addProject..</param> /// <param name="SecurityDescriptor">Not present in response from addProject. Not always present in response from getProjects (only after updateProject or startBuild?)..</param> /// <param name="DisablePushWebhooks">DisablePushWebhooks.</param> /// <param name="DisablePullRequestWebhooks">DisablePullRequestWebhooks.</param> /// <param name="VersionFormat">VersionFormat (required).</param> /// <param name="NextBuildNumber">NextBuildNumber.</param> /// <param name="ScheduleCrontabExpression">Build schedule as an NCrontab Expression. See https://github.com/atifaziz/NCrontab/wiki/Crontab-Expression.</param> /// <param name="RepositoryAuthentication">RepositoryAuthentication.</param> /// <param name="RepositoryUsername">RepositoryUsername.</param> /// <param name="SshPublicKey">SshPublicKey.</param> /// <param name="WebhookId">WebhookId.</param> /// <param name="WebhookUrl">WebhookUrl.</param> /// <param name="StatusBadgeId">StatusBadgeId.</param> /// <param name="BuildPriority">BuildPriority.</param> /// <param name="IgnoreAppveyorYml">IgnoreAppveyorYml.</param> /// <param name="CustomYmlName">CustomYmlName.</param> /// <param name="Configuration">Configuration (required).</param> public ProjectWithConfiguration(int?ProjectId = default(int?), string Name = default(string), List <Build> Builds = default(List <Build>), int?CurrentBuildId = default(int?), RepositoryProvider RepositoryType = default(RepositoryProvider), RepositoryScm RepositoryScm = default(RepositoryScm), string RepositoryName = default(string), string RepositoryBranch = default(string), bool?IsPrivate = default(bool?), bool?IsGitHubApp = default(bool?), bool?SkipBranchesWithoutAppveyorYml = default(bool?), bool?EnableSecureVariablesInPullRequests = default(bool?), bool?EnableSecureVariablesInPullRequestsFromSameRepo = default(bool?), bool?EnableDeploymentInPullRequests = default(bool?), bool?SaveBuildCacheInPullRequests = default(bool?), bool?RollingBuilds = default(bool?), bool?RollingBuildsDoNotCancelRunningBuilds = default(bool?), bool?RollingBuildsOnlyForPullRequests = default(bool?), bool?AlwaysBuildClosedPullRequests = default(bool?), string Tags = default(string), NuGetFeed NuGetFeed = default(NuGetFeed), SecurityDescriptor SecurityDescriptor = default(SecurityDescriptor), bool?DisablePushWebhooks = default(bool?), bool?DisablePullRequestWebhooks = default(bool?), string VersionFormat = default(string), int?NextBuildNumber = default(int?), string ScheduleCrontabExpression = default(string), RepositoryAuthenticationType RepositoryAuthentication = default(RepositoryAuthenticationType), string RepositoryUsername = default(string), string SshPublicKey = default(string), string WebhookId = default(string), string WebhookUrl = default(string), string StatusBadgeId = default(string), int?BuildPriority = default(int?), bool?IgnoreAppveyorYml = default(bool?), string CustomYmlName = default(string), ProjectConfiguration Configuration = default(ProjectConfiguration)) { // to ensure "ProjectId" is required (not null) if (ProjectId == null) { throw new InvalidDataException("ProjectId is a required property for ProjectWithConfiguration and cannot be null"); } else { this.ProjectId = ProjectId; } // to ensure "RepositoryName" is required (not null) if (RepositoryName == null) { throw new InvalidDataException("RepositoryName is a required property for ProjectWithConfiguration and cannot be null"); } else { this.RepositoryName = RepositoryName; } // to ensure "VersionFormat" is required (not null) if (VersionFormat == null) { throw new InvalidDataException("VersionFormat is a required property for ProjectWithConfiguration and cannot be null"); } else { this.VersionFormat = VersionFormat; } // to ensure "Configuration" is required (not null) if (Configuration == null) { throw new InvalidDataException("Configuration is a required property for ProjectWithConfiguration and cannot be null"); } else { this.Configuration = Configuration; } this.Name = Name; this.Builds = Builds; this.CurrentBuildId = CurrentBuildId; this.RepositoryType = RepositoryType; this.RepositoryScm = RepositoryScm; this.RepositoryBranch = RepositoryBranch; this.IsPrivate = IsPrivate; this.IsGitHubApp = IsGitHubApp; this.SkipBranchesWithoutAppveyorYml = SkipBranchesWithoutAppveyorYml; this.EnableSecureVariablesInPullRequests = EnableSecureVariablesInPullRequests; this.EnableSecureVariablesInPullRequestsFromSameRepo = EnableSecureVariablesInPullRequestsFromSameRepo; this.EnableDeploymentInPullRequests = EnableDeploymentInPullRequests; this.SaveBuildCacheInPullRequests = SaveBuildCacheInPullRequests; this.RollingBuilds = RollingBuilds; this.RollingBuildsDoNotCancelRunningBuilds = RollingBuildsDoNotCancelRunningBuilds; this.RollingBuildsOnlyForPullRequests = RollingBuildsOnlyForPullRequests; this.AlwaysBuildClosedPullRequests = AlwaysBuildClosedPullRequests; this.Tags = Tags; this.NuGetFeed = NuGetFeed; this.SecurityDescriptor = SecurityDescriptor; this.DisablePushWebhooks = DisablePushWebhooks; this.DisablePullRequestWebhooks = DisablePullRequestWebhooks; this.NextBuildNumber = NextBuildNumber; this.ScheduleCrontabExpression = ScheduleCrontabExpression; this.RepositoryAuthentication = RepositoryAuthentication; this.RepositoryUsername = RepositoryUsername; this.SshPublicKey = SshPublicKey; this.WebhookId = WebhookId; this.WebhookUrl = WebhookUrl; this.StatusBadgeId = StatusBadgeId; this.BuildPriority = BuildPriority; this.IgnoreAppveyorYml = IgnoreAppveyorYml; this.CustomYmlName = CustomYmlName; }