/// <summary>
 /// Initializes a new instance of the <see cref="ExchangeDagHostsResponse" /> class.
 /// </summary>
 /// <param name="exchangeDagProtectionPreference">exchangeDagProtectionPreference.</param>
 /// <param name="exchangeHostInfoList">Specifies the list of exchange hosts that belong to Exchange DAG..</param>
 /// <param name="guid">Specifies the Unique GUID for the DAG..</param>
 /// <param name="isStandaloneHost">Specifies if the endpoint provided in the request is a standlone exchange server or not. exchangeHostInfoList is not populated if it is a standalone exchange server..</param>
 /// <param name="name">Specifies the display name of the DAG..</param>
 /// <param name="protectionSourceId">Specifies the Protection Source Id of the Exchange DAG if it is already created..</param>
 public ExchangeDagHostsResponse(ExchangeDAGProtectionPreference exchangeDagProtectionPreference = default(ExchangeDAGProtectionPreference), List<ExchangeHostInfo> exchangeHostInfoList = default(List<ExchangeHostInfo>), string guid = default(string), bool? isStandaloneHost = default(bool?), string name = default(string), long? protectionSourceId = default(long?))
 {
     this.ExchangeHostInfoList = exchangeHostInfoList;
     this.Guid = guid;
     this.IsStandaloneHost = isStandaloneHost;
     this.Name = name;
     this.ProtectionSourceId = protectionSourceId;
     this.ExchangeDagProtectionPreference = exchangeDagProtectionPreference;
     this.ExchangeHostInfoList = exchangeHostInfoList;
     this.Guid = guid;
     this.IsStandaloneHost = isStandaloneHost;
     this.Name = name;
     this.ProtectionSourceId = protectionSourceId;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="UpdateProtectionSourceParameters" /> class.
 /// </summary>
 /// <param name="agentEndpoint">Specifies the agent endpoint if it is different from the source endpoint..</param>
 /// <param name="awsCredentials">awsCredentials.</param>
 /// <param name="azureCredentials">azureCredentials.</param>
 /// <param name="endpoint">Specifies the network endpoint of the Protection Source where it is reachable. It could be an URL or hostname or an IP address of the Protection Source..</param>
 /// <param name="exchangeDagProtectionPreference">exchangeDagProtectionPreference.</param>
 /// <param name="forceRegister">ForceRegister is applicable to Physical Environment. By default, the agent running on a physical host will fail the registration, if it is already registered as part of another cluster. By setting this option to true, agent can be forced to register with the current cluster. This is a hidden parameter and should not be documented externally..</param>
 /// <param name="gcpCredentials">gcpCredentials.</param>
 /// <param name="hostType">Specifies the optional OS type of the Protection Source (such as kWindows or kLinux). overrideDescription: true &#39;kLinux&#39; indicates the Linux operating system. &#39;kWindows&#39; indicates the Microsoft Windows operating system. &#39;kAix&#39; indicates the IBM AIX operating system. &#39;kSolaris&#39; indicates the Oracle Solaris operating system. &#39;kSapHana&#39; indicates the Sap Hana database system developed by SAP SE. &#39;kOther&#39; indicates the other types of operating system..</param>
 /// <param name="kubernetesCredentials">kubernetesCredentials.</param>
 /// <param name="minimumFreeSpaceGB">Specifies the minimum space in GB after which backup jobs will be canceled due to low space..</param>
 /// <param name="nasMountCredentials">Specifies the server credentials to connect to a NetApp server. This field is required for mounting SMB volumes on NetApp servers..</param>
 /// <param name="office365CredentialsList">Office365 Source Credentials.  Specifies credentials needed to authenticate &amp; authorize user for Office365 using MS Graph APIs..</param>
 /// <param name="password">Specifies password of the username to access the target source..</param>
 /// <param name="sourceSideDedupEnabled">This controls whether to use source side dedup on the source or not. This is only applicable to sources which support source side dedup (e.g., Linux physical servers)..</param>
 /// <param name="sslVerification">sslVerification.</param>
 /// <param name="throttlingPolicy">Specifies the throttling policy that should be applied to this Source..</param>
 /// <param name="throttlingPolicyOverrides">Array of Throttling Policy Overrides for Datastores.  Specifies a list of Throttling Policy for datastores that override the common throttling policy specified for the registered Protection Source. For datastores not in this list, common policy will still apply..</param>
 /// <param name="useOAuthForExchangeOnline">Specifies whether OAuth should be used for authentication in case of Exchange Online..</param>
 /// <param name="username">Specifies username to access the target source..</param>
 /// <param name="vlanParams">vlanParams.</param>
 public UpdateProtectionSourceParameters(string agentEndpoint = default(string), AwsCredentials awsCredentials = default(AwsCredentials), AzureCredentials azureCredentials = default(AzureCredentials), string endpoint = default(string), ExchangeDAGProtectionPreference exchangeDagProtectionPreference = default(ExchangeDAGProtectionPreference), bool?forceRegister = default(bool?), GcpCredentials gcpCredentials = default(GcpCredentials), HostTypeEnum?hostType = default(HostTypeEnum?), KubernetesCredentials kubernetesCredentials = default(KubernetesCredentials), long?minimumFreeSpaceGB = default(long?), NasMountCredentialParams nasMountCredentials = default(NasMountCredentialParams), List <Office365Credentials> office365CredentialsList = default(List <Office365Credentials>), string password = default(string), bool?sourceSideDedupEnabled = default(bool?), SslVerification sslVerification = default(SslVerification), ThrottlingPolicyParameters throttlingPolicy = default(ThrottlingPolicyParameters), List <ThrottlingPolicyOverride> throttlingPolicyOverrides = default(List <ThrottlingPolicyOverride>), bool?useOAuthForExchangeOnline = default(bool?), string username = default(string), VlanParameters vlanParams = default(VlanParameters))
 {
     this.AgentEndpoint                   = agentEndpoint;
     this.Endpoint                        = endpoint;
     this.ForceRegister                   = forceRegister;
     this.HostType                        = hostType;
     this.MinimumFreeSpaceGB              = minimumFreeSpaceGB;
     this.NasMountCredentials             = nasMountCredentials;
     this.Office365CredentialsList        = office365CredentialsList;
     this.Password                        = password;
     this.SourceSideDedupEnabled          = sourceSideDedupEnabled;
     this.ThrottlingPolicy                = throttlingPolicy;
     this.ThrottlingPolicyOverrides       = throttlingPolicyOverrides;
     this.UseOAuthForExchangeOnline       = useOAuthForExchangeOnline;
     this.Username                        = username;
     this.AgentEndpoint                   = agentEndpoint;
     this.AwsCredentials                  = awsCredentials;
     this.AzureCredentials                = azureCredentials;
     this.Endpoint                        = endpoint;
     this.ExchangeDagProtectionPreference = exchangeDagProtectionPreference;
     this.ForceRegister                   = forceRegister;
     this.GcpCredentials                  = gcpCredentials;
     this.HostType                        = hostType;
     this.KubernetesCredentials           = kubernetesCredentials;
     this.MinimumFreeSpaceGB              = minimumFreeSpaceGB;
     this.NasMountCredentials             = nasMountCredentials;
     this.Office365CredentialsList        = office365CredentialsList;
     this.Password                        = password;
     this.SourceSideDedupEnabled          = sourceSideDedupEnabled;
     this.SslVerification                 = sslVerification;
     this.ThrottlingPolicy                = throttlingPolicy;
     this.ThrottlingPolicyOverrides       = throttlingPolicyOverrides;
     this.UseOAuthForExchangeOnline       = useOAuthForExchangeOnline;
     this.Username                        = username;
     this.VlanParams                      = vlanParams;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DagInfo" /> class.
 /// </summary>
 /// <param name="dagApplicationServerInfoList">Specifies the status of all the Exchange Application Servers that are part of this DAG..</param>
 /// <param name="exchangeDagProtectionPreference">exchangeDagProtectionPreference.</param>
 /// <param name="guid">Specifies Unique GUID for the DAG..</param>
 /// <param name="name">Specifies display name of the DAG..</param>
 public DagInfo(List <DagApplicationServerInfo> dagApplicationServerInfoList = default(List <DagApplicationServerInfo>), ExchangeDAGProtectionPreference exchangeDagProtectionPreference = default(ExchangeDAGProtectionPreference), string guid = default(string), string name = default(string))
 {
     this.DagApplicationServerInfoList = dagApplicationServerInfoList;
     this.Guid = guid;
     this.Name = name;
     this.DagApplicationServerInfoList    = dagApplicationServerInfoList;
     this.ExchangeDagProtectionPreference = exchangeDagProtectionPreference;
     this.Guid = guid;
     this.Name = name;
 }