generated/api/Models/AmazonCrossAccount.cs

// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.10.2, generator: @autorest/powershell@4.0.708)
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

namespace Commvault.Powershell.Models
{
    using static Commvault.Powershell.Runtime.Extensions;

    /// <summary>AmazonCrossAccount</summary>
    public partial class AmazonCrossAccount :
        Commvault.Powershell.Models.IAmazonCrossAccount,
        Commvault.Powershell.Models.IAmazonCrossAccountInternal
    {

        /// <summary>Internal Acessors for DestinationAccount</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IAmazonCrossAccountInternal.DestinationAccount { get => (this._destinationAccount = this._destinationAccount ?? new Commvault.Powershell.Models.IdName()); set { {_destinationAccount = value;} } }

        /// <summary>Backing field for <see cref="DestinationAccount" /> property.</summary>
        private Commvault.Powershell.Models.IIdName _destinationAccount;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IIdName DestinationAccount { get => (this._destinationAccount = this._destinationAccount ?? new Commvault.Powershell.Models.IdName()); set => this._destinationAccount = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? DestinationAccountId { get => ((Commvault.Powershell.Models.IIdNameInternal)DestinationAccount).Id; set => ((Commvault.Powershell.Models.IIdNameInternal)DestinationAccount).Id = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string DestinationAccountName { get => ((Commvault.Powershell.Models.IIdNameInternal)DestinationAccount).Name; set => ((Commvault.Powershell.Models.IIdNameInternal)DestinationAccount).Name = value ?? null; }

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

        /// <summary>True if full copy of amazon snapshot to different amazon account is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? FullCopy { get => this._fullCopy; set => this._fullCopy = value; }

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

        /// <summary>
        /// True if replicate and copy or sharing of amazon snapshot to different amazon account in same or different geographic location
        /// is enabled
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? ShareOnly { get => this._shareOnly; set => this._shareOnly = value; }

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

        }
    }
    /// AmazonCrossAccount
    public partial interface IAmazonCrossAccount :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? DestinationAccountId { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string DestinationAccountName { get; set; }
        /// <summary>True if full copy of amazon snapshot to different amazon account is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"True if full copy of amazon snapshot to different amazon account is enabled",
        SerializedName = @"fullCopy",
        PossibleTypes = new [] { typeof(bool) })]
        bool? FullCopy { get; set; }
        /// <summary>
        /// True if replicate and copy or sharing of amazon snapshot to different amazon account in same or different geographic location
        /// is enabled
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"True if replicate and copy or sharing of amazon snapshot to different amazon account in same or different geographic location is enabled",
        SerializedName = @"shareOnly",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ShareOnly { get; set; }

    }
    /// AmazonCrossAccount
    internal partial interface IAmazonCrossAccountInternal

    {
        Commvault.Powershell.Models.IIdName DestinationAccount { get; set; }

        long? DestinationAccountId { get; set; }

        string DestinationAccountName { get; set; }
        /// <summary>True if full copy of amazon snapshot to different amazon account is enabled</summary>
        bool? FullCopy { get; set; }
        /// <summary>
        /// True if replicate and copy or sharing of amazon snapshot to different amazon account in same or different geographic location
        /// is enabled
        /// </summary>
        bool? ShareOnly { get; set; }

    }
}