// *** WARNING: this file was generated by test. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.Example.Inputs
{

    public sealed class PetArgs : global::Pulumi.ResourceArgs
    {
        [Input("age")]
        public Input<int>? Age { get; set; }

        [Input("name")]
        public Input<Pulumi.Random.RandomPet>? Name { get; set; }

        [Input("nameArray")]
        private InputList<Pulumi.Random.RandomPet>? _nameArray;
        public InputList<Pulumi.Random.RandomPet> NameArray
        {
            get => _nameArray ?? (_nameArray = new InputList<Pulumi.Random.RandomPet>());
            set => _nameArray = value;
        }

        [Input("nameMap")]
        private InputMap<Pulumi.Random.RandomPet>? _nameMap;
        public InputMap<Pulumi.Random.RandomPet> NameMap
        {
            get => _nameMap ?? (_nameMap = new InputMap<Pulumi.Random.RandomPet>());
            set => _nameMap = value;
        }

        [Input("requiredName", required: true)]
        public Input<Pulumi.Random.RandomPet> RequiredName { get; set; } = null!;

        [Input("requiredNameArray", required: true)]
        private InputList<Pulumi.Random.RandomPet>? _requiredNameArray;
        public InputList<Pulumi.Random.RandomPet> RequiredNameArray
        {
            get => _requiredNameArray ?? (_requiredNameArray = new InputList<Pulumi.Random.RandomPet>());
            set => _requiredNameArray = value;
        }

        [Input("requiredNameMap", required: true)]
        private InputMap<Pulumi.Random.RandomPet>? _requiredNameMap;
        public InputMap<Pulumi.Random.RandomPet> RequiredNameMap
        {
            get => _requiredNameMap ?? (_requiredNameMap = new InputMap<Pulumi.Random.RandomPet>());
            set => _requiredNameMap = value;
        }

        public PetArgs()
        {
        }
        public static new PetArgs Empty => new PetArgs();
    }
}