/// <summary>
 /// Initializes a new instance of the MachineExtensionPropertiesModel
 /// class.
 /// </summary>
 /// <param name="forceUpdateTag">How the extension handler should be
 /// forced to update even if the extension configuration has not
 /// changed.</param>
 /// <param name="publisher">The name of the extension handler
 /// publisher.</param>
 /// <param name="type">Specifies the type of the extension; an example
 /// is "CustomScriptExtension".</param>
 /// <param name="typeHandlerVersion">Specifies the version of the
 /// script handler.</param>
 /// <param name="autoUpgradeMinorVersion">Indicates whether the
 /// extension should use a newer minor version if one is available at
 /// deployment time. Once deployed, however, the extension will not
 /// upgrade minor versions unless redeployed, even with this property
 /// set to true.</param>
 /// <param name="settings">Json formatted public settings for the
 /// extension.</param>
 /// <param name="protectedSettings">The extension can contain either
 /// protectedSettings or protectedSettingsFromKeyVault or no protected
 /// settings at all.</param>
 /// <param name="provisioningState">The provisioning state, which only
 /// appears in the response.</param>
 /// <param name="instanceView">The machine extension instance
 /// view.</param>
 public MachineExtensionPropertiesModel(string forceUpdateTag = default(string), string publisher = default(string), string type = default(string), string typeHandlerVersion = default(string), bool?autoUpgradeMinorVersion = default(bool?), object settings = default(object), object protectedSettings = default(object), string provisioningState = default(string), MachineExtensionPropertiesInstanceView instanceView = default(MachineExtensionPropertiesInstanceView))
 {
     ForceUpdateTag          = forceUpdateTag;
     Publisher               = publisher;
     Type                    = type;
     TypeHandlerVersion      = typeHandlerVersion;
     AutoUpgradeMinorVersion = autoUpgradeMinorVersion;
     Settings                = settings;
     ProtectedSettings       = protectedSettings;
     ProvisioningState       = provisioningState;
     InstanceView            = instanceView;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the MachineExtension class.
 /// </summary>
 /// <param name="location">The geo-location where the resource
 /// lives</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="forceUpdateTag">How the extension handler should be
 /// forced to update even if the extension configuration has not
 /// changed.</param>
 /// <param name="publisher">The name of the extension handler
 /// publisher.</param>
 /// <param name="machineExtensionType">Specifies the type of the
 /// extension; an example is "CustomScriptExtension".</param>
 /// <param name="typeHandlerVersion">Specifies the version of the
 /// script handler.</param>
 /// <param name="autoUpgradeMinorVersion">Indicates whether the
 /// extension should use a newer minor version if one is available at
 /// deployment time. Once deployed, however, the extension will not
 /// upgrade minor versions unless redeployed, even with this property
 /// set to true.</param>
 /// <param name="settings">Json formatted public settings for the
 /// extension.</param>
 /// <param name="protectedSettings">The extension can contain either
 /// protectedSettings or protectedSettingsFromKeyVault or no protected
 /// settings at all.</param>
 /// <param name="provisioningState">The provisioning state, which only
 /// appears in the response.</param>
 /// <param name="instanceView">The machine extension instance
 /// view.</param>
 public MachineExtension(string location, string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), string forceUpdateTag = default(string), string publisher = default(string), string machineExtensionType = default(string), string typeHandlerVersion = default(string), bool?autoUpgradeMinorVersion = default(bool?), object settings = default(object), object protectedSettings = default(object), string provisioningState = default(string), MachineExtensionPropertiesInstanceView instanceView = default(MachineExtensionPropertiesInstanceView))
     : base(location, id, name, type, tags)
 {
     ForceUpdateTag          = forceUpdateTag;
     Publisher               = publisher;
     MachineExtensionType    = machineExtensionType;
     TypeHandlerVersion      = typeHandlerVersion;
     AutoUpgradeMinorVersion = autoUpgradeMinorVersion;
     Settings          = settings;
     ProtectedSettings = protectedSettings;
     ProvisioningState = provisioningState;
     InstanceView      = instanceView;
     CustomInit();
 }