generated/api/Models/GoogleCloudVMInfo.cs

// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.9.4, generator: @autorest/powershell@3.0.415)
// 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>VM restore information for the Google Cloud VM</summary>
    public partial class GoogleCloudVMInfo :
        Commvault.Powershell.Models.IGoogleCloudVMInfo,
        Commvault.Powershell.Models.IGoogleCloudVMInfoInternal
    {

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

        /// <summary>Flag to create external IP after restore. Defaults to false.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? CreatePublicIP { get => this._createPublicIP; set => this._createPublicIP = value; }

        /// <summary>Backing field for <see cref="CustomMetadata" /> property.</summary>
        private Commvault.Powershell.Models.INameValue[] _customMetadata;

        /// <summary>GCP custom metadata key-value pairs</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.INameValue[] CustomMetadata { get => this._customMetadata; set => this._customMetadata = value; }

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

        /// <summary>
        /// Instance ID of the google cloud virtual machine to be restored. Ex: 123456789123456789.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string InstanceId { get => this._instanceId; set => this._instanceId = value; }

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

        /// <summary>
        /// GCP Machine Family. Ex: c2d-highmem-8. Defaults to --Auto Select--. For Reference: cloud.google.com/compute/docs/machine-resource
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string MachineType { get => this._machineType; set => this._machineType = value; }

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

        /// <summary>
        /// The new name of the instance after restore. Defaults to source name after restore.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Name { get => this._name; set => this._name = value; }

        /// <summary>Backing field for <see cref="NetworkInterfaces" /> property.</summary>
        private Commvault.Powershell.Models.IGoogleCloudNetworkInterfaceInfo[] _networkInterfaces;

        /// <summary>Google Cloud VM network interfaces list</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IGoogleCloudNetworkInterfaceInfo[] NetworkInterfaces { get => this._networkInterfaces; set => this._networkInterfaces = value; }

        /// <summary>Backing field for <see cref="NodeAffinities" /> property.</summary>
        private Commvault.Powershell.Models.INameValue[] _nodeAffinities;

        /// <summary>
        /// Node affinity for the virtual machine to provision virtual machine as sole tenanat VM. Defaults to no node affinity. Format:
        /// '[{name: compute.googleapis.com/node-group-name, value: {Node Group Name} }, {name: compute.googleapis.com/node-name,
        /// value: {Node Name} }]'
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.INameValue[] NodeAffinities { get => this._nodeAffinities; set => this._nodeAffinities = value; }

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

        /// <summary>GCP Project ID</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string ProjectId { get => this._projectId; set => this._projectId = value; }

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

        /// <summary>
        /// GCP Region. Ex: asia-east1. Defaults to source instance region after restore. For reference: cloud.google.com/compute/docs/regions-zones#available
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Region { get => this._region; set => this._region = value; }

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

        /// <summary>
        /// GCP zones. Ex: asia-east1-a. Defaults to source instance zone after restore. For reference: cloud.google.com/compute/docs/regions-zones#available
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Zone { get => this._zone; set => this._zone = value; }

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

        }
    }
    /// VM restore information for the Google Cloud VM
    public partial interface IGoogleCloudVMInfo :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Flag to create external IP after restore. Defaults to false.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Flag to create external IP after restore. Defaults to false.",
        SerializedName = @"createPublicIP",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CreatePublicIP { get; set; }
        /// <summary>GCP custom metadata key-value pairs</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"GCP custom metadata key-value pairs",
        SerializedName = @"customMetadata",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.INameValue) })]
        Commvault.Powershell.Models.INameValue[] CustomMetadata { get; set; }
        /// <summary>
        /// Instance ID of the google cloud virtual machine to be restored. Ex: 123456789123456789.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Instance ID of the google cloud virtual machine to be restored. Ex: 123456789123456789.",
        SerializedName = @"instanceId",
        PossibleTypes = new [] { typeof(string) })]
        string InstanceId { get; set; }
        /// <summary>
        /// GCP Machine Family. Ex: c2d-highmem-8. Defaults to --Auto Select--. For Reference: cloud.google.com/compute/docs/machine-resource
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"GCP Machine Family. Ex: c2d-highmem-8. Defaults to --Auto Select--. For Reference: cloud.google.com/compute/docs/machine-resource",
        SerializedName = @"machineType",
        PossibleTypes = new [] { typeof(string) })]
        string MachineType { get; set; }
        /// <summary>
        /// The new name of the instance after restore. Defaults to source name after restore.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The new name of the instance after restore. Defaults to source name after restore.",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string Name { get; set; }
        /// <summary>Google Cloud VM network interfaces list</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Google Cloud VM network interfaces list",
        SerializedName = @"networkInterfaces",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IGoogleCloudNetworkInterfaceInfo) })]
        Commvault.Powershell.Models.IGoogleCloudNetworkInterfaceInfo[] NetworkInterfaces { get; set; }
        /// <summary>
        /// Node affinity for the virtual machine to provision virtual machine as sole tenanat VM. Defaults to no node affinity. Format:
        /// '[{name: compute.googleapis.com/node-group-name, value: {Node Group Name} }, {name: compute.googleapis.com/node-name,
        /// value: {Node Name} }]'
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Node affinity for the virtual machine to provision virtual machine as sole tenanat VM. Defaults to no node affinity. Format: '[{name: compute.googleapis.com/node-group-name, value: {Node Group Name} }, {name: compute.googleapis.com/node-name, value: {Node Name} }]'",
        SerializedName = @"nodeAffinities",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.INameValue) })]
        Commvault.Powershell.Models.INameValue[] NodeAffinities { get; set; }
        /// <summary>GCP Project ID</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"GCP Project ID",
        SerializedName = @"projectId",
        PossibleTypes = new [] { typeof(string) })]
        string ProjectId { get; set; }
        /// <summary>
        /// GCP Region. Ex: asia-east1. Defaults to source instance region after restore. For reference: cloud.google.com/compute/docs/regions-zones#available
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"GCP Region. Ex: asia-east1. Defaults to source instance region after restore. For reference: cloud.google.com/compute/docs/regions-zones#available",
        SerializedName = @"region",
        PossibleTypes = new [] { typeof(string) })]
        string Region { get; set; }
        /// <summary>
        /// GCP zones. Ex: asia-east1-a. Defaults to source instance zone after restore. For reference: cloud.google.com/compute/docs/regions-zones#available
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"GCP zones. Ex: asia-east1-a. Defaults to source instance zone after restore. For reference: cloud.google.com/compute/docs/regions-zones#available",
        SerializedName = @"zone",
        PossibleTypes = new [] { typeof(string) })]
        string Zone { get; set; }

    }
    /// VM restore information for the Google Cloud VM
    internal partial interface IGoogleCloudVMInfoInternal

    {
        /// <summary>Flag to create external IP after restore. Defaults to false.</summary>
        bool? CreatePublicIP { get; set; }
        /// <summary>GCP custom metadata key-value pairs</summary>
        Commvault.Powershell.Models.INameValue[] CustomMetadata { get; set; }
        /// <summary>
        /// Instance ID of the google cloud virtual machine to be restored. Ex: 123456789123456789.
        /// </summary>
        string InstanceId { get; set; }
        /// <summary>
        /// GCP Machine Family. Ex: c2d-highmem-8. Defaults to --Auto Select--. For Reference: cloud.google.com/compute/docs/machine-resource
        /// </summary>
        string MachineType { get; set; }
        /// <summary>
        /// The new name of the instance after restore. Defaults to source name after restore.
        /// </summary>
        string Name { get; set; }
        /// <summary>Google Cloud VM network interfaces list</summary>
        Commvault.Powershell.Models.IGoogleCloudNetworkInterfaceInfo[] NetworkInterfaces { get; set; }
        /// <summary>
        /// Node affinity for the virtual machine to provision virtual machine as sole tenanat VM. Defaults to no node affinity. Format:
        /// '[{name: compute.googleapis.com/node-group-name, value: {Node Group Name} }, {name: compute.googleapis.com/node-name,
        /// value: {Node Name} }]'
        /// </summary>
        Commvault.Powershell.Models.INameValue[] NodeAffinities { get; set; }
        /// <summary>GCP Project ID</summary>
        string ProjectId { get; set; }
        /// <summary>
        /// GCP Region. Ex: asia-east1. Defaults to source instance region after restore. For reference: cloud.google.com/compute/docs/regions-zones#available
        /// </summary>
        string Region { get; set; }
        /// <summary>
        /// GCP zones. Ex: asia-east1-a. Defaults to source instance zone after restore. For reference: cloud.google.com/compute/docs/regions-zones#available
        /// </summary>
        string Zone { get; set; }

    }
}