/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public override void Validate() { base.Validate(); if (Sku == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Sku"); } if (Sku != null) { Sku.Validate(); } if (Identity != null) { Identity.Validate(); } if (OptimizedAutoscale != null) { OptimizedAutoscale.Validate(); } if (VirtualNetworkConfiguration != null) { VirtualNetworkConfiguration.Validate(); } if (KeyVaultProperties != null) { KeyVaultProperties.Validate(); } }
/// <summary> /// Initializes a new instance of the ClusterUpdate class. /// </summary> /// <param name="id">Fully qualified resource ID for the resource. Ex - /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}</param> /// <param name="name">The name of the resource</param> /// <param name="type">The type of the resource. E.g. /// "Microsoft.Compute/virtualMachines" or /// "Microsoft.Storage/storageAccounts"</param> /// <param name="tags">Resource tags.</param> /// <param name="location">Resource location.</param> /// <param name="sku">The SKU of the cluster.</param> /// <param name="identity">The identity of the cluster, if /// configured.</param> /// <param name="state">The state of the resource. Possible values /// include: 'Creating', 'Unavailable', 'Running', 'Deleting', /// 'Deleted', 'Stopping', 'Stopped', 'Starting', 'Updating'</param> /// <param name="provisioningState">The provisioned state of the /// resource. Possible values include: 'Running', 'Creating', /// 'Deleting', 'Succeeded', 'Failed', 'Moving'</param> /// <param name="uri">The cluster URI.</param> /// <param name="dataIngestionUri">The cluster data ingestion /// URI.</param> /// <param name="stateReason">The reason for the cluster's current /// state.</param> /// <param name="trustedExternalTenants">The cluster's external /// tenants.</param> /// <param name="optimizedAutoscale">Optimized auto scale /// definition.</param> /// <param name="enableDiskEncryption">A boolean value that indicates /// if the cluster's disks are encrypted.</param> /// <param name="enableStreamingIngest">A boolean value that indicates /// if the streaming ingest is enabled.</param> /// <param name="virtualNetworkConfiguration">Virtual network /// definition.</param> /// <param name="keyVaultProperties">KeyVault properties for the /// cluster encryption.</param> /// <param name="enablePurge">A boolean value that indicates if the /// purge operations are enabled.</param> /// <param name="languageExtensions">List of the cluster's language /// extensions.</param> /// <param name="enableDoubleEncryption">A boolean value that indicates /// if double encryption is enabled.</param> /// <param name="publicNetworkAccess">Public network access to the /// cluster is enabled by default. When disabled, only private endpoint /// connection to the cluster is allowed. Possible values include: /// 'Enabled', 'Disabled'</param> /// <param name="allowedIpRangeList">The list of ips in the format of /// CIDR allowed to connect to the cluster.</param> /// <param name="engineType">The engine type. Possible values include: /// 'V2', 'V3'</param> /// <param name="acceptedAudiences">The cluster's accepted /// audiences.</param> /// <param name="enableAutoStop">A boolean value that indicates if the /// cluster could be automatically stopped (due to lack of data or no /// activity for many days).</param> /// <param name="restrictOutboundNetworkAccess">Whether or not to /// restrict outbound network access. Value is optional but if passed /// in, must be 'Enabled' or 'Disabled'. Possible values include: /// 'Enabled', 'Disabled'</param> /// <param name="allowedFqdnList">List of allowed FQDNs(Fully Qualified /// Domain Name) for egress from Cluster.</param> /// <param name="publicIPType">Indicates what public IP type to create /// - IPv4 (default), or DualStack (both IPv4 and IPv6). Possible /// values include: 'IPv4', 'DualStack'</param> /// <param name="virtualClusterGraduationProperties">Virtual Cluster /// graduation properties</param> /// <param name="privateEndpointConnections">A list of private endpoint /// connections.</param> public ClusterUpdate(string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), string location = default(string), AzureSku sku = default(AzureSku), Identity identity = default(Identity), string state = default(string), string provisioningState = default(string), string uri = default(string), string dataIngestionUri = default(string), string stateReason = default(string), IList <TrustedExternalTenant> trustedExternalTenants = default(IList <TrustedExternalTenant>), OptimizedAutoscale optimizedAutoscale = default(OptimizedAutoscale), bool?enableDiskEncryption = default(bool?), bool?enableStreamingIngest = default(bool?), VirtualNetworkConfiguration virtualNetworkConfiguration = default(VirtualNetworkConfiguration), KeyVaultProperties keyVaultProperties = default(KeyVaultProperties), bool?enablePurge = default(bool?), LanguageExtensionsList languageExtensions = default(LanguageExtensionsList), bool?enableDoubleEncryption = default(bool?), string publicNetworkAccess = default(string), IList <string> allowedIpRangeList = default(IList <string>), string engineType = default(string), IList <AcceptedAudiences> acceptedAudiences = default(IList <AcceptedAudiences>), bool?enableAutoStop = default(bool?), string restrictOutboundNetworkAccess = default(string), IList <string> allowedFqdnList = default(IList <string>), string publicIPType = default(string), string virtualClusterGraduationProperties = default(string), IList <PrivateEndpointConnection> privateEndpointConnections = default(IList <PrivateEndpointConnection>)) : base(id, name, type) { Tags = tags; Location = location; Sku = sku; Identity = identity; State = state; ProvisioningState = provisioningState; Uri = uri; DataIngestionUri = dataIngestionUri; StateReason = stateReason; TrustedExternalTenants = trustedExternalTenants; OptimizedAutoscale = optimizedAutoscale; EnableDiskEncryption = enableDiskEncryption; EnableStreamingIngest = enableStreamingIngest; VirtualNetworkConfiguration = virtualNetworkConfiguration; KeyVaultProperties = keyVaultProperties; EnablePurge = enablePurge; LanguageExtensions = languageExtensions; EnableDoubleEncryption = enableDoubleEncryption; PublicNetworkAccess = publicNetworkAccess; AllowedIpRangeList = allowedIpRangeList; EngineType = engineType; AcceptedAudiences = acceptedAudiences; EnableAutoStop = enableAutoStop; RestrictOutboundNetworkAccess = restrictOutboundNetworkAccess; AllowedFqdnList = allowedFqdnList; PublicIPType = publicIPType; VirtualClusterGraduationProperties = virtualClusterGraduationProperties; PrivateEndpointConnections = privateEndpointConnections; CustomInit(); }
/// <summary> /// Initializes a new instance of the Cluster class. /// </summary> /// <param name="location">The geo-location where the resource /// lives</param> /// <param name="sku">The SKU of the cluster.</param> /// <param name="id">Fully qualified resource ID for the resource. Ex - /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}</param> /// <param name="name">The name of the resource</param> /// <param name="type">The type of the resource. E.g. /// "Microsoft.Compute/virtualMachines" or /// "Microsoft.Storage/storageAccounts"</param> /// <param name="tags">Resource tags.</param> /// <param name="zones">The availability zones of the cluster.</param> /// <param name="identity">The identity of the cluster, if /// configured.</param> /// <param name="state">The state of the resource. Possible values /// include: 'Creating', 'Unavailable', 'Running', 'Deleting', /// 'Deleted', 'Stopping', 'Stopped', 'Starting', 'Updating'</param> /// <param name="provisioningState">The provisioned state of the /// resource. Possible values include: 'Running', 'Creating', /// 'Deleting', 'Succeeded', 'Failed', 'Moving'</param> /// <param name="uri">The cluster URI.</param> /// <param name="dataIngestionUri">The cluster data ingestion /// URI.</param> /// <param name="stateReason">The reason for the cluster's current /// state.</param> /// <param name="trustedExternalTenants">The cluster's external /// tenants.</param> /// <param name="optimizedAutoscale">Optimized auto scale /// definition.</param> /// <param name="enableDiskEncryption">A boolean value that indicates /// if the cluster's disks are encrypted.</param> /// <param name="enableStreamingIngest">A boolean value that indicates /// if the streaming ingest is enabled.</param> /// <param name="virtualNetworkConfiguration">Virtual network /// definition.</param> /// <param name="keyVaultProperties">KeyVault properties for the /// cluster encryption.</param> /// <param name="enablePurge">A boolean value that indicates if the /// purge operations are enabled.</param> /// <param name="languageExtensions">List of the cluster's language /// extensions.</param> /// <param name="enableDoubleEncryption">A boolean value that indicates /// if double encryption is enabled.</param> /// <param name="publicNetworkAccess">Public network access to the /// cluster is enabled by default. When disabled, only private endpoint /// connection to the cluster is allowed. Possible values include: /// 'Enabled', 'Disabled'</param> /// <param name="allowedIpRangeList">The list of ips in the format of /// CIDR allowed to connect to the cluster.</param> /// <param name="engineType">The engine type. Possible values include: /// 'V2', 'V3'</param> /// <param name="acceptedAudiences">The cluster's accepted /// audiences.</param> /// <param name="enableAutoStop">A boolean value that indicates if the /// cluster could be automatically stopped (due to lack of data or no /// activity for many days).</param> /// <param name="restrictOutboundNetworkAccess">Whether or not to /// restrict outbound network access. Value is optional but if passed /// in, must be 'Enabled' or 'Disabled'. Possible values include: /// 'Enabled', 'Disabled'</param> /// <param name="allowedFqdnList">List of allowed FQDNs(Fully Qualified /// Domain Name) for egress from Cluster.</param> /// <param name="etag">A unique read-only string that changes whenever /// the resource is updated.</param> public Cluster(string location, AzureSku sku, string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), SystemData systemData = default(SystemData), IList <string> zones = default(IList <string>), Identity identity = default(Identity), string state = default(string), string provisioningState = default(string), string uri = default(string), string dataIngestionUri = default(string), string stateReason = default(string), IList <TrustedExternalTenant> trustedExternalTenants = default(IList <TrustedExternalTenant>), OptimizedAutoscale optimizedAutoscale = default(OptimizedAutoscale), bool?enableDiskEncryption = default(bool?), bool?enableStreamingIngest = default(bool?), VirtualNetworkConfiguration virtualNetworkConfiguration = default(VirtualNetworkConfiguration), KeyVaultProperties keyVaultProperties = default(KeyVaultProperties), bool?enablePurge = default(bool?), LanguageExtensionsList languageExtensions = default(LanguageExtensionsList), bool?enableDoubleEncryption = default(bool?), string publicNetworkAccess = default(string), IList <string> allowedIpRangeList = default(IList <string>), string engineType = default(string), IList <AcceptedAudiences> acceptedAudiences = default(IList <AcceptedAudiences>), bool?enableAutoStop = default(bool?), string restrictOutboundNetworkAccess = default(string), IList <string> allowedFqdnList = default(IList <string>), string etag = default(string)) : base(location, id, name, type, tags) { Sku = sku; SystemData = systemData; Zones = zones; Identity = identity; State = state; ProvisioningState = provisioningState; Uri = uri; DataIngestionUri = dataIngestionUri; StateReason = stateReason; TrustedExternalTenants = trustedExternalTenants; OptimizedAutoscale = optimizedAutoscale; EnableDiskEncryption = enableDiskEncryption; EnableStreamingIngest = enableStreamingIngest; VirtualNetworkConfiguration = virtualNetworkConfiguration; KeyVaultProperties = keyVaultProperties; EnablePurge = enablePurge; LanguageExtensions = languageExtensions; EnableDoubleEncryption = enableDoubleEncryption; PublicNetworkAccess = publicNetworkAccess; AllowedIpRangeList = allowedIpRangeList; EngineType = engineType; AcceptedAudiences = acceptedAudiences; EnableAutoStop = enableAutoStop; RestrictOutboundNetworkAccess = restrictOutboundNetworkAccess; AllowedFqdnList = allowedFqdnList; Etag = etag; CustomInit(); }
/// <summary> /// Initializes a new instance of the Cluster class. /// </summary> /// <param name="location">The geo-location where the resource /// lives</param> /// <param name="sku">The SKU of the cluster.</param> /// <param name="id">Fully qualified resource Id for the resource. Ex - /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}</param> /// <param name="name">The name of the resource</param> /// <param name="type">The type of the resource. Ex- /// Microsoft.Compute/virtualMachines or /// Microsoft.Storage/storageAccounts.</param> /// <param name="tags">Resource tags.</param> /// <param name="zones">The availability zones of the cluster.</param> /// <param name="identity">The identity of the cluster, if /// configured.</param> /// <param name="state">The state of the resource. Possible values /// include: 'Creating', 'Unavailable', 'Running', 'Deleting', /// 'Deleted', 'Stopping', 'Stopped', 'Starting', 'Updating'</param> /// <param name="provisioningState">The provisioned state of the /// resource. Possible values include: 'Running', 'Creating', /// 'Deleting', 'Succeeded', 'Failed', 'Moving'</param> /// <param name="uri">The cluster URI.</param> /// <param name="dataIngestionUri">The cluster data ingestion /// URI.</param> /// <param name="trustedExternalTenants">The cluster's external /// tenants.</param> /// <param name="optimizedAutoscale">Optimized auto scale /// definition.</param> /// <param name="enableDiskEncryption">A boolean value that indicates /// if the cluster's disks are encrypted.</param> /// <param name="enableStreamingIngest">A boolean value that indicates /// if the streaming ingest is enabled.</param> /// <param name="virtualNetworkConfiguration">Virtual network /// definition.</param> /// <param name="keyVaultProperties">KeyVault properties for the /// cluster encryption.</param> public Cluster(string location, AzureSku sku, string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), IList <string> zones = default(IList <string>), Identity identity = default(Identity), string state = default(string), string provisioningState = default(string), string uri = default(string), string dataIngestionUri = default(string), IList <TrustedExternalTenant> trustedExternalTenants = default(IList <TrustedExternalTenant>), OptimizedAutoscale optimizedAutoscale = default(OptimizedAutoscale), bool?enableDiskEncryption = default(bool?), bool?enableStreamingIngest = default(bool?), VirtualNetworkConfiguration virtualNetworkConfiguration = default(VirtualNetworkConfiguration), KeyVaultProperties keyVaultProperties = default(KeyVaultProperties)) : base(location, id, name, type, tags) { Sku = sku; Zones = zones; Identity = identity; State = state; ProvisioningState = provisioningState; Uri = uri; DataIngestionUri = dataIngestionUri; TrustedExternalTenants = trustedExternalTenants; OptimizedAutoscale = optimizedAutoscale; EnableDiskEncryption = enableDiskEncryption; EnableStreamingIngest = enableStreamingIngest; VirtualNetworkConfiguration = virtualNetworkConfiguration; KeyVaultProperties = keyVaultProperties; CustomInit(); }
/// <summary> /// Initializes a new instance of the ClusterUpdate class. /// </summary> /// <param name="id">Fully qualified resource Id for the resource. Ex - /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}</param> /// <param name="name">The name of the resource</param> /// <param name="type">The type of the resource. Ex- /// Microsoft.Compute/virtualMachines or /// Microsoft.Storage/storageAccounts.</param> /// <param name="tags">Resource tags.</param> /// <param name="location">Resource location.</param> /// <param name="sku">The SKU of the cluster.</param> /// <param name="identity">The identity of the cluster, if /// configured.</param> /// <param name="state">The state of the resource. Possible values /// include: 'Creating', 'Unavailable', 'Running', 'Deleting', /// 'Deleted', 'Stopping', 'Stopped', 'Starting', 'Updating'</param> /// <param name="provisioningState">The provisioned state of the /// resource. Possible values include: 'Running', 'Creating', /// 'Deleting', 'Succeeded', 'Failed', 'Moving'</param> /// <param name="uri">The cluster URI.</param> /// <param name="dataIngestionUri">The cluster data ingestion /// URI.</param> /// <param name="stateReason">The reason for the cluster's current /// state.</param> /// <param name="trustedExternalTenants">The cluster's external /// tenants.</param> /// <param name="optimizedAutoscale">Optimized auto scale /// definition.</param> /// <param name="enableDiskEncryption">A boolean value that indicates /// if the cluster's disks are encrypted.</param> /// <param name="enableStreamingIngest">A boolean value that indicates /// if the streaming ingest is enabled.</param> /// <param name="virtualNetworkConfiguration">Virtual network /// definition.</param> /// <param name="keyVaultProperties">KeyVault properties for the /// cluster encryption.</param> /// <param name="enablePurge">A boolean value that indicates if the /// purge operations are enabled.</param> /// <param name="languageExtensions">List of the cluster's language /// extensions.</param> public ClusterUpdate(string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), string location = default(string), AzureSku sku = default(AzureSku), Identity identity = default(Identity), string state = default(string), string provisioningState = default(string), string uri = default(string), string dataIngestionUri = default(string), string stateReason = default(string), IList <TrustedExternalTenant> trustedExternalTenants = default(IList <TrustedExternalTenant>), OptimizedAutoscale optimizedAutoscale = default(OptimizedAutoscale), bool?enableDiskEncryption = default(bool?), bool?enableStreamingIngest = default(bool?), VirtualNetworkConfiguration virtualNetworkConfiguration = default(VirtualNetworkConfiguration), KeyVaultProperties keyVaultProperties = default(KeyVaultProperties), bool?enablePurge = default(bool?), LanguageExtensionsList languageExtensions = default(LanguageExtensionsList)) : base(id, name, type) { Tags = tags; Location = location; Sku = sku; Identity = identity; State = state; ProvisioningState = provisioningState; Uri = uri; DataIngestionUri = dataIngestionUri; StateReason = stateReason; TrustedExternalTenants = trustedExternalTenants; OptimizedAutoscale = optimizedAutoscale; EnableDiskEncryption = enableDiskEncryption; EnableStreamingIngest = enableStreamingIngest; VirtualNetworkConfiguration = virtualNetworkConfiguration; KeyVaultProperties = keyVaultProperties; EnablePurge = enablePurge; LanguageExtensions = languageExtensions; CustomInit(); }
/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public virtual void Validate() { if (Sku != null) { Sku.Validate(); } if (Identity != null) { Identity.Validate(); } if (OptimizedAutoscale != null) { OptimizedAutoscale.Validate(); } if (VirtualNetworkConfiguration != null) { VirtualNetworkConfiguration.Validate(); } if (KeyVaultProperties != null) { KeyVaultProperties.Validate(); } }
/// <summary> /// Initializes a new instance of the Cluster class. /// </summary> /// <param name="location">The geo-location where the resource /// lives</param> /// <param name="sku">The SKU of the cluster.</param> /// <param name="id">Fully qualified resource ID for the resource. Ex - /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}</param> /// <param name="name">The name of the resource</param> /// <param name="type">The type of the resource. E.g. /// "Microsoft.Compute/virtualMachines" or /// "Microsoft.Storage/storageAccounts"</param> /// <param name="tags">Resource tags.</param> /// <param name="zones">The availability zones of the cluster.</param> /// <param name="identity">The identity of the cluster, if /// configured.</param> /// <param name="state">The state of the resource. Possible values /// include: 'Creating', 'Unavailable', 'Running', 'Deleting', /// 'Deleted', 'Stopping', 'Stopped', 'Starting', 'Updating'</param> /// <param name="provisioningState">The provisioned state of the /// resource. Possible values include: 'Running', 'Creating', /// 'Deleting', 'Succeeded', 'Failed', 'Moving'</param> /// <param name="uri">The cluster URI.</param> /// <param name="dataIngestionUri">The cluster data ingestion /// URI.</param> /// <param name="stateReason">The reason for the cluster's current /// state.</param> /// <param name="trustedExternalTenants">The cluster's external /// tenants.</param> /// <param name="optimizedAutoscale">Optimized auto scale /// definition.</param> /// <param name="enableDiskEncryption">A boolean value that indicates /// if the cluster's disks are encrypted.</param> /// <param name="enableStreamingIngest">A boolean value that indicates /// if the streaming ingest is enabled.</param> /// <param name="virtualNetworkConfiguration">Virtual network /// definition.</param> /// <param name="keyVaultProperties">KeyVault properties for the /// cluster encryption.</param> /// <param name="enablePurge">A boolean value that indicates if the /// purge operations are enabled.</param> /// <param name="languageExtensions">List of the cluster's language /// extensions.</param> /// <param name="enableDoubleEncryption">A boolean value that indicates /// if double encryption is enabled.</param> /// <param name="engineType">The engine type. Possible values include: /// 'V2', 'V3'</param> /// <param name="etag">A unique read-only string that changes whenever /// the resource is updated.</param> public Cluster(string location, AzureSku sku, string id, string name, string type, IDictionary <string, string> tags, IList <string> zones, Identity identity, string state, string provisioningState, string uri, string dataIngestionUri, string stateReason, IList <TrustedExternalTenant> trustedExternalTenants, OptimizedAutoscale optimizedAutoscale, bool?enableDiskEncryption, bool?enableStreamingIngest, VirtualNetworkConfiguration virtualNetworkConfiguration, KeyVaultProperties keyVaultProperties, bool?enablePurge, LanguageExtensionsList languageExtensions, bool?enableDoubleEncryption, string engineType, string etag) : base(location, id, name, type, tags) { Sku = sku; Zones = zones; Identity = identity; State = state; ProvisioningState = provisioningState; Uri = uri; DataIngestionUri = dataIngestionUri; StateReason = stateReason; TrustedExternalTenants = trustedExternalTenants; OptimizedAutoscale = optimizedAutoscale; EnableDiskEncryption = enableDiskEncryption; EnableStreamingIngest = enableStreamingIngest; VirtualNetworkConfiguration = virtualNetworkConfiguration; KeyVaultProperties = keyVaultProperties; EnablePurge = enablePurge; LanguageExtensions = languageExtensions; EnableDoubleEncryption = enableDoubleEncryption; EngineType = engineType; Etag = etag; CustomInit(); }