StaticSiteTemplateOptions

We found 10 examples in language CSharp for this search. You will see 32 fragments of code.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

// <auto-generated/>

#nullable disable

namespace Azure.ResourceManager.AppService.Models
{
    /// <summary> Template Options for the static site. </summary>
    public partial class StaticSiteTemplateOptions
    {
        /// <summary> Initializes a new instance of StaticSiteTemplateOptions. </summary>
        public StaticSiteTemplateOptions()
        {
        }

        /// <summary> Initializes a new instance of StaticSiteTemplateOptions. </summary>
        /// <param name="templateRepositoryUrl"> URL of the template repository. The newly generated repository will be based on this one. </param>
        /// <param name="owner"> Owner of the newly generated repository. </param>
        /// <param name="repositoryName"> Name of the newly generated repository. </param>
        /// <param name="description"> Description of the newly generated repository. </param>
        /// <param name="isPrivate"> Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public). </param>
        internal StaticSiteTemplateOptions(string templateRepositoryUrl, string owner, string repositoryName, string description, bool? isPrivate)
        {
            TemplateRepositoryUrl = templateRepositoryUrl;
            Owner = owner;
            RepositoryName = repositoryName;
            Description = description;
            IsPrivate = isPrivate;
        }

        /// <summary> URL of the template repository. The newly generated repository will be based on this one. </summary>
        public string TemplateRepositoryUrl { get; set; }
        /// <summary> Owner of the newly generated repository. </summary>
        public string Owner { get; set; }
        /// <summary> Name of the newly generated repository. </summary>
        public string RepositoryName { get; set; }
        /// <summary> Description of the newly generated repository. </summary>
        public string Description { get; set; }
        /// <summary> Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public). </summary>
        public bool? IsPrivate { get; set; }
    }
}


        /// <summary>
        /// <c>AfterDeserializeDictionary</c> will be called after the deserialization has finished, allowing customization of the
        /// object before it is returned. Implement this method in a partial class to enable this behavior
        /// </summary>
        /// <param name="content">The global::System.Collections.IDictionary content that should be used.</param>

        partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content);

        /// <summary>
        /// <c>AfterDeserializePSObject</c> will be called after the deserialization has finished, allowing customization of the object
        /// before it is returned. Implement this method in a partial class to enable this behavior
        /// </summary>
        /// <param name="content">The global::System.Management.Automation.PSObject content that should be used.</param>

        partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content);

        /// <summary>
        /// <c>BeforeDeserializeDictionary</c> will be called before the deserialization has commenced, allowing complete customization
        /// of the object before it is deserialized.
        /// If you wish to disable the default deserialization entirely, return <c>true</c> in the <see "returnNow" /> output parameter.
        /// Implement this method in a partial class to enable this behavior.
        /// </summary>
        /// <param name="content">The global::System.Collections.IDictionary content that should be used.</param>
        /// <param name="returnNow">Determines if the rest of the serialization should be processed, or if the method should return
        /// instantly.</param>

        partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow);

        /// <summary>
        /// <c>BeforeDeserializePSObject</c> will be called before the deserialization has commenced, allowing complete customization
        /// of the object before it is deserialized.
        /// If you wish to disable the default deserialization entirely, return <c>true</c> in the <see "returnNow" /> output parameter.
        /// Implement this method in a partial class to enable this behavior.
        /// </summary>
        /// <param name="content">The global::System.Management.Automation.PSObject content that should be used.</param>
        /// <param name="returnNow">Determines if the rest of the serialization should be processed, or if the method should return
        /// instantly.</param>

        partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow);

        /// <summary>
        /// Deserializes a <see cref="global::System.Collections.IDictionary" /> into an instance of <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.StaticSiteTemplateOptions"
        /// />.
        /// </summary>
        /// <param name="content">The global::System.Collections.IDictionary content that should be used.</param>
        /// <returns>
        /// an instance of <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions" />.
        /// </returns>
        public static Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions DeserializeFromDictionary(global::System.Collections.IDictionary content)
        {
            return new StaticSiteTemplateOptions(content);
        }

        /// <summary>
        /// Deserializes a <see cref="global::System.Management.Automation.PSObject" /> into an instance of <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.StaticSiteTemplateOptions"
        /// />.
        /// </summary>
        /// <param name="content">The global::System.Management.Automation.PSObject content that should be used.</param>
        /// <returns>
        /// an instance of <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions" />.
        /// </returns>
        public static Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions DeserializeFromPSObject(global::System.Management.Automation.PSObject content)
        {
            return new StaticSiteTemplateOptions(content);
        }

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

// <auto-generated/>

#nullable disable

namespace Azure.ResourceManager.AppService.Models
{
    /// <summary> Template Options for the static site. </summary>
    public partial class StaticSiteTemplateOptions
    {
        /// <summary> Initializes a new instance of StaticSiteTemplateOptions. </summary>
        public StaticSiteTemplateOptions()
        {
        }

        /// <summary> Initializes a new instance of StaticSiteTemplateOptions. </summary>
        /// <param name="templateRepositoryUrl"> URL of the template repository. The newly generated repository will be based on this one. </param>
        /// <param name="owner"> Owner of the newly generated repository. </param>
        /// <param name="repositoryName"> Name of the newly generated repository. </param>
        /// <param name="description"> Description of the newly generated repository. </param>
        /// <param name="isPrivate"> Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public). </param>
        internal StaticSiteTemplateOptions(string templateRepositoryUrl, string owner, string repositoryName, string description, bool? isPrivate)
        {
            TemplateRepositoryUrl = templateRepositoryUrl;
            Owner = owner;
            RepositoryName = repositoryName;
            Description = description;
            IsPrivate = isPrivate;
        }

        /// <summary> URL of the template repository. The newly generated repository will be based on this one. </summary>
        public string TemplateRepositoryUrl { get; set; }
        /// <summary> Owner of the newly generated repository. </summary>
        public string Owner { get; set; }
        /// <summary> Name of the newly generated repository. </summary>
        public string RepositoryName { get; set; }
        /// <summary> Description of the newly generated repository. </summary>
        public string Description { get; set; }
        /// <summary> Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public). </summary>
        public bool? IsPrivate { get; set; }
    }
}


        /// <summary>
        /// <c>AfterFromJson</c> will be called after the json deserialization has finished, allowing customization of the object
        /// before it is returned. Implement this method in a partial class to enable this behavior
        /// </summary>
        /// <param name="json">The JsonNode that should be deserialized into this object.</param>

        partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject json);

        /// <summary>
        /// <c>AfterToJson</c> will be called after the json erialization has finished, allowing customization of the <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject"
        /// /> before it is returned. Implement this method in a partial class to enable this behavior
        /// </summary>
        /// <param name="container">The JSON container that the serialization result will be placed in.</param>

        partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject container);

        /// <summary>
        /// <c>BeforeFromJson</c> will be called before the json deserialization has commenced, allowing complete customization of
        /// the object before it is deserialized.
        /// If you wish to disable the default deserialization entirely, return <c>true</c> in the <see "returnNow" /> output parameter.
        /// Implement this method in a partial class to enable this behavior.
        /// </summary>
        /// <param name="json">The JsonNode that should be deserialized into this object.</param>
        /// <param name="returnNow">Determines if the rest of the deserialization should be processed, or if the method should return
        /// instantly.</param>

        partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject json, ref bool returnNow);

        /// <summary>
        /// <c>BeforeToJson</c> will be called before the json serialization has commenced, allowing complete customization of the
        /// object before it is serialized.
        /// If you wish to disable the default serialization entirely, return <c>true</c> in the <see "returnNow" /> output parameter.
        /// Implement this method in a partial class to enable this behavior.
        /// </summary>
        /// <param name="container">The JSON container that the serialization result will be placed in.</param>
        /// <param name="returnNow">Determines if the rest of the serialization should be processed, or if the method should return
        /// instantly.</param>

        partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject container, ref bool returnNow);

        /// <summary>
        /// Deserializes a <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode"/> into an instance of Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions.
        /// </summary>
        /// <param name="node">a <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode" /> to deserialize from.</param>
        /// <returns>
        /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions.
        /// </returns>
        public static Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions FromJson(Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode node)
        {
            return node is Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject json ? new StaticSiteTemplateOptions(json) : null;
        }

        /// <summary>
        /// Serializes this instance of <see cref="StaticSiteTemplateOptions" /> into a <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode" />.
        /// </summary>
        /// <param name="container">The <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject"/> container to serialize this object into. If the caller
        /// passes in <c>null</c>, a new instance will be created and returned to the caller.</param>
        /// <param name="serializationMode">Allows the caller to choose the depth of the serialization. See <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.SerializationMode"/>.</param>
        /// <returns>
        /// a serialized instance of <see cref="StaticSiteTemplateOptions" /> as a <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode" />.
        /// </returns>
        public Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.SerializationMode serializationMode)
        {
            container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject();

            bool returnNow = false;
            BeforeToJson(ref container, ref returnNow);
            if (returnNow)
            {
                return container;
            }
            AddIf( null != (((object)this._templateRepositoryUrl)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonString(this._templateRepositoryUrl.ToString()) : null, "templateRepositoryUrl" ,container.Add );
            AddIf( null != (((object)this._owner)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonString(this._owner.ToString()) : null, "owner" ,container.Add );
            AddIf( null != (((object)this._repositoryName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonString(this._repositoryName.ToString()) : null, "repositoryName" ,container.Add );
            AddIf( null != (((object)this._description)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonString(this._description.ToString()) : null, "description" ,container.Add );
            AddIf( null != this._isPrivate ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonBoolean((bool)this._isPrivate) : null, "isPrivate" ,container.Add );
            AfterToJson(ref container);
            return container;
        }


        /// <summary>
        /// <c>AfterFromJson</c> will be called after the json deserialization has finished, allowing customization of the object
        /// before it is returned. Implement this method in a partial class to enable this behavior
        /// </summary>
        /// <param name="json">The JsonNode that should be deserialized into this object.</param>

        partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject json);

        /// <summary>
        /// <c>AfterToJson</c> will be called after the json erialization has finished, allowing customization of the <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject"
        /// /> before it is returned. Implement this method in a partial class to enable this behavior
        /// </summary>
        /// <param name="container">The JSON container that the serialization result will be placed in.</param>

        partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject container);

        /// <summary>
        /// <c>BeforeFromJson</c> will be called before the json deserialization has commenced, allowing complete customization of
        /// the object before it is deserialized.
        /// If you wish to disable the default deserialization entirely, return <c>true</c> in the <see "returnNow" /> output parameter.
        /// Implement this method in a partial class to enable this behavior.
        /// </summary>
        /// <param name="json">The JsonNode that should be deserialized into this object.</param>
        /// <param name="returnNow">Determines if the rest of the deserialization should be processed, or if the method should return
        /// instantly.</param>

        partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject json, ref bool returnNow);

        /// <summary>
        /// <c>BeforeToJson</c> will be called before the json serialization has commenced, allowing complete customization of the
        /// object before it is serialized.
        /// If you wish to disable the default serialization entirely, return <c>true</c> in the <see "returnNow" /> output parameter.
        /// Implement this method in a partial class to enable this behavior.
        /// </summary>
        /// <param name="container">The JSON container that the serialization result will be placed in.</param>
        /// <param name="returnNow">Determines if the rest of the serialization should be processed, or if the method should return
        /// instantly.</param>

        partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject container, ref bool returnNow);

        /// <summary>
        /// Deserializes a <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode"/> into an instance of Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions.
        /// </summary>
        /// <param name="node">a <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode" /> to deserialize from.</param>
        /// <returns>
        /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions.
        /// </returns>
        public static Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions FromJson(Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode node)
        {
            return node is Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject json ? new StaticSiteTemplateOptions(json) : null;
        }

        /// <summary>
        /// Serializes this instance of <see cref="StaticSiteTemplateOptions" /> into a <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode" />.
        /// </summary>
        /// <param name="container">The <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject"/> container to serialize this object into. If the caller
        /// passes in <c>null</c>, a new instance will be created and returned to the caller.</param>
        /// <param name="serializationMode">Allows the caller to choose the depth of the serialization. See <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.SerializationMode"/>.</param>
        /// <returns>
        /// a serialized instance of <see cref="StaticSiteTemplateOptions" /> as a <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode" />.
        /// </returns>
        public Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.SerializationMode serializationMode)
        {
            container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject();

            bool returnNow = false;
            BeforeToJson(ref container, ref returnNow);
            if (returnNow)
            {
                return container;
            }
            AddIf( null != (((object)this._templateRepositoryUrl)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonString(this._templateRepositoryUrl.ToString()) : null, "templateRepositoryUrl" ,container.Add );
            AddIf( null != (((object)this._owner)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonString(this._owner.ToString()) : null, "owner" ,container.Add );
            AddIf( null != (((object)this._repositoryName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonString(this._repositoryName.ToString()) : null, "repositoryName" ,container.Add );
            AddIf( null != (((object)this._description)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonString(this._description.ToString()) : null, "description" ,container.Add );
            AddIf( null != this._isPrivate ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonBoolean((bool)this._isPrivate) : null, "isPrivate" ,container.Add );
            AfterToJson(ref container);
            return container;
        }

        void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
        {
            writer.WriteStartObject();
            if (Optional.IsDefined(TemplateRepositoryUrl))
            {
                writer.WritePropertyName("templateRepositoryUrl");
                writer.WriteStringValue(TemplateRepositoryUrl);
            }
            if (Optional.IsDefined(Owner))
            {
                writer.WritePropertyName("owner");
                writer.WriteStringValue(Owner);
            }
            if (Optional.IsDefined(RepositoryName))
            {
                writer.WritePropertyName("repositoryName");
                writer.WriteStringValue(RepositoryName);
            }
            if (Optional.IsDefined(Description))
            {
                writer.WritePropertyName("description");
                writer.WriteStringValue(Description);
            }
            if (Optional.IsDefined(IsPrivate))
            {
                writer.WritePropertyName("isPrivate");
                writer.WriteBooleanValue(IsPrivate.Value);
            }
            writer.WriteEndObject();
        }

        internal static StaticSiteTemplateOptions DeserializeStaticSiteTemplateOptions(JsonElement element)
        {
            Optional<string> templateRepositoryUrl = default;
            Optional<string> owner = default;
            Optional<string> repositoryName = default;
            Optional<string> description = default;
            Optional<bool> isPrivate = default;
            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("templateRepositoryUrl"))
                {
                    templateRepositoryUrl = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("owner"))
                {
                    owner = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("repositoryName"))
                {
                    repositoryName = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("description"))
                {
                    description = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("isPrivate"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    isPrivate = property.Value.GetBoolean();
                    continue;
                }
            }
            return new StaticSiteTemplateOptions(templateRepositoryUrl.Value, owner.Value, repositoryName.Value, description.Value, Optional.ToNullable(isPrivate));
        }


        /// <summary>
        /// <c>AfterFromJson</c> will be called after the json deserialization has finished, allowing customization of the object
        /// before it is returned. Implement this method in a partial class to enable this behavior
        /// </summary>
        /// <param name="json">The JsonNode that should be deserialized into this object.</param>

        partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject json);

        /// <summary>
        /// <c>AfterToJson</c> will be called after the json erialization has finished, allowing customization of the <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject"
        /// /> before it is returned. Implement this method in a partial class to enable this behavior
        /// </summary>
        /// <param name="container">The JSON container that the serialization result will be placed in.</param>

        partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject container);

        /// <summary>
        /// <c>BeforeFromJson</c> will be called before the json deserialization has commenced, allowing complete customization of
        /// the object before it is deserialized.
        /// If you wish to disable the default deserialization entirely, return <c>true</c> in the <see "returnNow" /> output parameter.
        /// Implement this method in a partial class to enable this behavior.
        /// </summary>
        /// <param name="json">The JsonNode that should be deserialized into this object.</param>
        /// <param name="returnNow">Determines if the rest of the deserialization should be processed, or if the method should return
        /// instantly.</param>

        partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject json, ref bool returnNow);

        /// <summary>
        /// <c>BeforeToJson</c> will be called before the json serialization has commenced, allowing complete customization of the
        /// object before it is serialized.
        /// If you wish to disable the default serialization entirely, return <c>true</c> in the <see "returnNow" /> output parameter.
        /// Implement this method in a partial class to enable this behavior.
        /// </summary>
        /// <param name="container">The JSON container that the serialization result will be placed in.</param>
        /// <param name="returnNow">Determines if the rest of the serialization should be processed, or if the method should return
        /// instantly.</param>

        partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject container, ref bool returnNow);

        /// <summary>
        /// Deserializes a <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode"/> into an instance of Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions.
        /// </summary>
        /// <param name="node">a <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode" /> to deserialize from.</param>
        /// <returns>
        /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions.
        /// </returns>
        public static Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions FromJson(Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode node)
        {
            return node is Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject json ? new StaticSiteTemplateOptions(json) : null;
        }

        /// <summary>
        /// Serializes this instance of <see cref="StaticSiteTemplateOptions" /> into a <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode" />.
        /// </summary>
        /// <param name="container">The <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject"/> container to serialize this object into. If the caller
        /// passes in <c>null</c>, a new instance will be created and returned to the caller.</param>
        /// <param name="serializationMode">Allows the caller to choose the depth of the serialization. See <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.SerializationMode"/>.</param>
        /// <returns>
        /// a serialized instance of <see cref="StaticSiteTemplateOptions" /> as a <see cref="Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode" />.
        /// </returns>
        public Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.SerializationMode serializationMode)
        {
            container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonObject();

            bool returnNow = false;
            BeforeToJson(ref container, ref returnNow);
            if (returnNow)
            {
                return container;
            }
            AddIf( null != (((object)this._templateRepositoryUrl)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonString(this._templateRepositoryUrl.ToString()) : null, "templateRepositoryUrl" ,container.Add );
            AddIf( null != (((object)this._owner)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonString(this._owner.ToString()) : null, "owner" ,container.Add );
            AddIf( null != (((object)this._repositoryName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonString(this._repositoryName.ToString()) : null, "repositoryName" ,container.Add );
            AddIf( null != (((object)this._description)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonString(this._description.ToString()) : null, "description" ,container.Add );
            AddIf( null != this._isPrivate ? (Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Json.JsonBoolean((bool)this._isPrivate) : null, "isPrivate" ,container.Add );
            AfterToJson(ref container);
            return container;
        }

        void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
        {
            writer.WriteStartObject();
            if (Optional.IsDefined(TemplateRepositoryUrl))
            {
                writer.WritePropertyName("templateRepositoryUrl");
                writer.WriteStringValue(TemplateRepositoryUrl);
            }
            if (Optional.IsDefined(Owner))
            {
                writer.WritePropertyName("owner");
                writer.WriteStringValue(Owner);
            }
            if (Optional.IsDefined(RepositoryName))
            {
                writer.WritePropertyName("repositoryName");
                writer.WriteStringValue(RepositoryName);
            }
            if (Optional.IsDefined(Description))
            {
                writer.WritePropertyName("description");
                writer.WriteStringValue(Description);
            }
            if (Optional.IsDefined(IsPrivate))
            {
                writer.WritePropertyName("isPrivate");
                writer.WriteBooleanValue(IsPrivate.Value);
            }
            writer.WriteEndObject();
        }

        internal static StaticSiteTemplateOptions DeserializeStaticSiteTemplateOptions(JsonElement element)
        {
            Optional<string> templateRepositoryUrl = default;
            Optional<string> owner = default;
            Optional<string> repositoryName = default;
            Optional<string> description = default;
            Optional<bool> isPrivate = default;
            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("templateRepositoryUrl"))
                {
                    templateRepositoryUrl = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("owner"))
                {
                    owner = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("repositoryName"))
                {
                    repositoryName = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("description"))
                {
                    description = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("isPrivate"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    isPrivate = property.Value.GetBoolean();
                    continue;
                }
            }
            return new StaticSiteTemplateOptions(templateRepositoryUrl.Value, owner.Value, repositoryName.Value, description.Value, Optional.ToNullable(isPrivate));
        }

namespace Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201
{
    using static Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Extensions;

    /// <summary>Template Options for the static site.</summary>
    public partial class StaticSiteTemplateOptions :
        Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions,
        Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptionsInternal
    {

        /// <summary>Backing field for <see cref="Description" /> property.</summary>
        private string _description;

        /// <summary>Description of the newly generated repository.</summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Origin(Microsoft.Azure.PowerShell.Cmdlets.Websites.PropertyOrigin.Owned)]
        public string Description { get => this._description; set => this._description = value; }

        /// <summary>Backing field for <see cref="IsPrivate" /> property.</summary>
        private bool? _isPrivate;

        /// <summary>
        /// Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public).
        /// </summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Origin(Microsoft.Azure.PowerShell.Cmdlets.Websites.PropertyOrigin.Owned)]
        public bool? IsPrivate { get => this._isPrivate; set => this._isPrivate = value; }

        /// <summary>Backing field for <see cref="Owner" /> property.</summary>
        private string _owner;

        /// <summary>Owner of the newly generated repository.</summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Origin(Microsoft.Azure.PowerShell.Cmdlets.Websites.PropertyOrigin.Owned)]
        public string Owner { get => this._owner; set => this._owner = value; }

        /// <summary>Backing field for <see cref="RepositoryName" /> property.</summary>
        private string _repositoryName;

        /// <summary>Name of the newly generated repository.</summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Origin(Microsoft.Azure.PowerShell.Cmdlets.Websites.PropertyOrigin.Owned)]
        public string RepositoryName { get => this._repositoryName; set => this._repositoryName = value; }

        /// <summary>Backing field for <see cref="TemplateRepositoryUrl" /> property.</summary>
        private string _templateRepositoryUrl;

        /// <summary>
        /// URL of the template repository. The newly generated repository will be based on this one.
        /// </summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Origin(Microsoft.Azure.PowerShell.Cmdlets.Websites.PropertyOrigin.Owned)]
        public string TemplateRepositoryUrl { get => this._templateRepositoryUrl; set => this._templateRepositoryUrl = value; }

        /// <summary>Creates an new <see cref="StaticSiteTemplateOptions" /> instance.</summary>
        public StaticSiteTemplateOptions()
        {

        }
    }
    /// Template Options for the static site.
    public partial interface IStaticSiteTemplateOptions :
        Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.IJsonSerializable
    {
        /// <summary>Description of the newly generated repository.</summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Description of the newly generated repository.",
        SerializedName = @"description",
        PossibleTypes = new [] { typeof(string) })]
        string Description { get; set; }
        /// <summary>
        /// Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public).
        /// </summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public).",
        SerializedName = @"isPrivate",
        PossibleTypes = new [] { typeof(bool) })]
        bool? IsPrivate { get; set; }
        /// <summary>Owner of the newly generated repository.</summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Owner of the newly generated repository.",
        SerializedName = @"owner",
        PossibleTypes = new [] { typeof(string) })]
        string Owner { get; set; }
        /// <summary>Name of the newly generated repository.</summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Name of the newly generated repository.",
        SerializedName = @"repositoryName",
        PossibleTypes = new [] { typeof(string) })]
        string RepositoryName { get; set; }
        /// <summary>
        /// URL of the template repository. The newly generated repository will be based on this one.
        /// </summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"URL of the template repository. The newly generated repository will be based on this one.",
        SerializedName = @"templateRepositoryUrl",
        PossibleTypes = new [] { typeof(string) })]
        string TemplateRepositoryUrl { get; set; }

    }
    /// Template Options for the static site.
    internal partial interface IStaticSiteTemplateOptionsInternal

    {
        /// <summary>Description of the newly generated repository.</summary>
        string Description { get; set; }
        /// <summary>
        /// Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public).
        /// </summary>
        bool? IsPrivate { get; set; }
        /// <summary>Owner of the newly generated repository.</summary>
        string Owner { get; set; }
        /// <summary>Name of the newly generated repository.</summary>
        string RepositoryName { get; set; }
        /// <summary>
        /// URL of the template repository. The newly generated repository will be based on this one.
        /// </summary>
        string TemplateRepositoryUrl { get; set; }

    }
}

namespace Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201
{
    using static Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Extensions;

    /// <summary>Template Options for the static site.</summary>
    public partial class StaticSiteTemplateOptions :
        Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptions,
        Microsoft.Azure.PowerShell.Cmdlets.Websites.Models.Api20201201.IStaticSiteTemplateOptionsInternal
    {

        /// <summary>Backing field for <see cref="Description" /> property.</summary>
        private string _description;

        /// <summary>Description of the newly generated repository.</summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Origin(Microsoft.Azure.PowerShell.Cmdlets.Websites.PropertyOrigin.Owned)]
        public string Description { get => this._description; set => this._description = value; }

        /// <summary>Backing field for <see cref="IsPrivate" /> property.</summary>
        private bool? _isPrivate;

        /// <summary>
        /// Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public).
        /// </summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Origin(Microsoft.Azure.PowerShell.Cmdlets.Websites.PropertyOrigin.Owned)]
        public bool? IsPrivate { get => this._isPrivate; set => this._isPrivate = value; }

        /// <summary>Backing field for <see cref="Owner" /> property.</summary>
        private string _owner;

        /// <summary>Owner of the newly generated repository.</summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Origin(Microsoft.Azure.PowerShell.Cmdlets.Websites.PropertyOrigin.Owned)]
        public string Owner { get => this._owner; set => this._owner = value; }

        /// <summary>Backing field for <see cref="RepositoryName" /> property.</summary>
        private string _repositoryName;

        /// <summary>Name of the newly generated repository.</summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Origin(Microsoft.Azure.PowerShell.Cmdlets.Websites.PropertyOrigin.Owned)]
        public string RepositoryName { get => this._repositoryName; set => this._repositoryName = value; }

        /// <summary>Backing field for <see cref="TemplateRepositoryUrl" /> property.</summary>
        private string _templateRepositoryUrl;

        /// <summary>
        /// URL of the template repository. The newly generated repository will be based on this one.
        /// </summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Origin(Microsoft.Azure.PowerShell.Cmdlets.Websites.PropertyOrigin.Owned)]
        public string TemplateRepositoryUrl { get => this._templateRepositoryUrl; set => this._templateRepositoryUrl = value; }

        /// <summary>Creates an new <see cref="StaticSiteTemplateOptions" /> instance.</summary>
        public StaticSiteTemplateOptions()
        {

        }
    }
    /// Template Options for the static site.
    public partial interface IStaticSiteTemplateOptions :
        Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.IJsonSerializable
    {
        /// <summary>Description of the newly generated repository.</summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Description of the newly generated repository.",
        SerializedName = @"description",
        PossibleTypes = new [] { typeof(string) })]
        string Description { get; set; }
        /// <summary>
        /// Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public).
        /// </summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public).",
        SerializedName = @"isPrivate",
        PossibleTypes = new [] { typeof(bool) })]
        bool? IsPrivate { get; set; }
        /// <summary>Owner of the newly generated repository.</summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Owner of the newly generated repository.",
        SerializedName = @"owner",
        PossibleTypes = new [] { typeof(string) })]
        string Owner { get; set; }
        /// <summary>Name of the newly generated repository.</summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Name of the newly generated repository.",
        SerializedName = @"repositoryName",
        PossibleTypes = new [] { typeof(string) })]
        string RepositoryName { get; set; }
        /// <summary>
        /// URL of the template repository. The newly generated repository will be based on this one.
        /// </summary>
        [Microsoft.Azure.PowerShell.Cmdlets.Websites.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"URL of the template repository. The newly generated repository will be based on this one.",
        SerializedName = @"templateRepositoryUrl",
        PossibleTypes = new [] { typeof(string) })]
        string TemplateRepositoryUrl { get; set; }

    }
    /// Template Options for the static site.
    internal partial interface IStaticSiteTemplateOptionsInternal

    {
        /// <summary>Description of the newly generated repository.</summary>
        string Description { get; set; }
        /// <summary>
        /// Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public).
        /// </summary>
        bool? IsPrivate { get; set; }
        /// <summary>Owner of the newly generated repository.</summary>
        string Owner { get; set; }
        /// <summary>Name of the newly generated repository.</summary>
        string RepositoryName { get; set; }
        /// <summary>
        /// URL of the template repository. The newly generated repository will be based on this one.
        /// </summary>
        string TemplateRepositoryUrl { get; set; }

    }
}

Microsoft.Azure.Management.WebSites.Models.StaticSiteTemplateOptions : Object

Constructors :

public StaticSiteTemplateOptions()
public StaticSiteTemplateOptions(String templateRepositoryUrl = null, String owner = null, String repositoryName = null, String description = null, Nullable<Boolean> isPrivate = null)

Methods :

public String get_TemplateRepositoryUrl()
public Void set_TemplateRepositoryUrl(String value = )
public String get_Owner()
public Void set_Owner(String value = )
public String get_RepositoryName()
public Void set_RepositoryName(String value = )
public String get_Description()
public Void set_Description(String value = )
public Nullable<Boolean> get_IsPrivate()
public Void set_IsPrivate(Nullable<Boolean> value = )
public Type GetType()
public String ToString()
public Boolean Equals(Object obj = )
public Int32 GetHashCode()