Пример #1
0
        public ValidationResult(bool isValid, string violationSlot, string message, LexResponse.LexResponseCard responseCard)
        {
            this.IsValid       = isValid;
            this.ViolationSlot = violationSlot;

            if (!string.IsNullOrEmpty(message))
            {
                this.Message = new LexResponse.LexMessage
                {
                    ContentType = Constants.MESSAGE_CONTENT_TYPE,
                    Content     = message
                };
                this.ResponseCard = responseCard;
            }
        }
 protected LexResponse Close(IDictionary <string, string> sessionAttributes,
                             string fulfillmentState,
                             LexResponse.LexMessage message,
                             LexResponse.LexResponseCard responseCard = null)
 {
     return(new LexResponse
     {
         SessionAttributes = sessionAttributes,
         DialogAction = new LexResponse.LexDialogAction
         {
             Type = "Close",
             FulfillmentState = fulfillmentState,
             Message = message,
             ResponseCard = responseCard
         }
     });
 }
 protected LexResponse ConfirmIntent(IDictionary <string, string> sessionAttributes, string intentName,
                                     IDictionary <string, string> slots, LexResponse.LexMessage message,
                                     LexResponse.LexResponseCard responseCard = null)
 {
     return(new LexResponse
     {
         SessionAttributes = sessionAttributes,
         DialogAction = new LexResponse.LexDialogAction
         {
             Type = "ConfirmIntent",
             IntentName = intentName,
             Slots = slots,
             Message = message,
             ResponseCard = responseCard
         }
     });
 }
Пример #4
0
        private LexResponse.LexResponseCard createResponseCard()
        {
            LexResponse.LexResponseCard  card        = new LexResponse.LexResponseCard();
            List <LexResponse.LexButton> cardButtons = new List <LexResponse.LexButton>();

            LexResponse.LexGenericAttachments cardGenericAttachments = new LexResponse.LexGenericAttachments();

            card.Version                    = 1;
            card.ContentType                = "application/vnd.amazonaws.card.generic";
            cardGenericAttachments.Title    = "WolfBot";
            cardGenericAttachments.SubTitle = "Your friendly AWS Infrastructure helper";
            cardGenericAttachments.ImageUrl = "https://upload.wikimedia.org/wikipedia/commons/5/5c/AWS_Simple_Icons_AWS_Cloud.svg";
            card.GenericAttachments         = new List <LexResponse.LexGenericAttachments>()
            {
                cardGenericAttachments
            };
            return(card);
        }
 protected LexResponse ElicitSlot(
     IDictionary <string, string> sessionAttributes,
     string intentName,
     IDictionary <string, string> slots,
     string slotToElicit,
     LexResponse.LexMessage message,
     LexResponse.LexResponseCard responseCard
     )
 {
     return(new LexResponse
     {
         SessionAttributes = sessionAttributes,
         DialogAction = new LexResponse.LexDialogAction
         {
             Type = "ElicitSlot",
             IntentName = intentName,
             Slots = slots,
             SlotToElicit = slotToElicit,
             Message = message,
             ResponseCard = responseCard
         }
     });
 }
        protected LexResponse.LexResponseCard createResponseCard(string SlotType)
        {
            LexResponse.LexResponseCard  card        = new LexResponse.LexResponseCard();
            List <LexResponse.LexButton> cardButtons = new List <LexResponse.LexButton>();

            LexResponse.LexGenericAttachments cardGenericAttachments = new LexResponse.LexGenericAttachments();

            switch (SlotType)
            {
            case Constants.NUMBER_TYPE_SLOT:
                card.Version                    = 1;
                card.ContentType                = "application/vnd.amazonaws.card.generic";
                cardGenericAttachments.Title    = "Instance count";
                cardGenericAttachments.SubTitle = "Select the number of instances to launch";
                cardButtons = new List <LexResponse.LexButton>()
                {
                    new LexResponse.LexButton()
                    {
                        Text = "1", Value = "1"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "2", Value = "2"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "3", Value = "3"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "4", Value = "4"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "5", Value = "5"
                    },
                };
                cardGenericAttachments.Buttons = cardButtons;
                card.GenericAttachments        = new List <LexResponse.LexGenericAttachments>()
                {
                    cardGenericAttachments
                };
                return(card);

            case Constants.INSTANCE_TYPE_SLOT:
                card.Version                    = 1;
                card.ContentType                = "application/vnd.amazonaws.card.generic";
                cardGenericAttachments.Title    = "Instance Types";
                cardGenericAttachments.SubTitle = "Choose an instance type";
                cardGenericAttachments.ImageUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b9/AWS_Simple_Icons_Compute_Amazon_EC2_Instances.svg/200px-AWS_Simple_Icons_Compute_Amazon_EC2_Instances.svg.png";
                cardButtons = new List <LexResponse.LexButton>()
                {
                    new LexResponse.LexButton()
                    {
                        Text = "t2micro", Value = "t2micro"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "t2small", Value = "t2small"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "t2medium", Value = "t2medium"
                    }
                };
                cardGenericAttachments.Buttons = cardButtons;
                card.GenericAttachments        = new List <LexResponse.LexGenericAttachments>()
                {
                    cardGenericAttachments
                };
                return(card);

            case Constants.AMI_SLOT:
                card.Version                    = 1;
                card.ContentType                = "application/vnd.amazonaws.card.generic";
                cardGenericAttachments.Title    = "AMI";
                cardGenericAttachments.SubTitle = "Please choose an AMI out of the following : ";
                cardGenericAttachments.ImageUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/AWS_Simple_Icons_Compute_Amazon_EC2_AMI.svg/2000px-AWS_Simple_Icons_Compute_Amazon_EC2_AMI.svg.png";
                cardButtons = new List <LexResponse.LexButton>()
                {
                    new LexResponse.LexButton()
                    {
                        Text = "Ubuntu", Value = "Ubuntu"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "Red Hat", Value = "Red Hat"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "Windows", Value = "Windows"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "Amazon Linux", Value = "Amazon Linux"
                    },
                };
                cardGenericAttachments.Buttons = cardButtons;
                card.GenericAttachments        = new List <LexResponse.LexGenericAttachments>()
                {
                    cardGenericAttachments
                };
                return(card);

            case Constants.AZ_SLOT:
                card.Version                    = 1;
                card.ContentType                = "application/vnd.amazonaws.card.generic";
                cardGenericAttachments.Title    = "Availability Zone";
                cardGenericAttachments.SubTitle = "Please choose an AZ out of the following : ";
                cardButtons = new List <LexResponse.LexButton>()
                {
                    new LexResponse.LexButton()
                    {
                        Text = "us-east-1a", Value = "us-east-1a"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "us-east-1b", Value = "us-east-1b"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "us-east-1c", Value = "us-east-1c"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "us-east-1e", Value = "us-east-1e"
                    },
                };
                cardGenericAttachments.Buttons = cardButtons;
                card.GenericAttachments        = new List <LexResponse.LexGenericAttachments>()
                {
                    cardGenericAttachments
                };
                return(card);

            case Constants.STORAGE_TYPE_SLOT:
                card.Version                    = 1;
                card.ContentType                = "application/vnd.amazonaws.card.generic";
                cardGenericAttachments.Title    = "Storage Type";
                cardGenericAttachments.SubTitle = "Please choose a storage type out of the following : ";
                cardButtons = new List <LexResponse.LexButton>()
                {
                    new LexResponse.LexButton()
                    {
                        Text = "Magnetic", Value = "Magnetic"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "Provisioned", Value = "Provisioned"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "General purpose", Value = "General purpose"
                    }
                };
                cardGenericAttachments.Buttons = cardButtons;
                card.GenericAttachments        = new List <LexResponse.LexGenericAttachments>()
                {
                    cardGenericAttachments
                };
                return(card);

            case Constants.CONFIRMATION:
                card.Version                    = 1;
                card.ContentType                = "application/vnd.amazonaws.card.generic";
                cardGenericAttachments.Title    = "Confirm";
                cardGenericAttachments.SubTitle = "Please confirm Yes/No : ";
                cardButtons = new List <LexResponse.LexButton>()
                {
                    new LexResponse.LexButton()
                    {
                        Text = "Yes", Value = "Yes"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "No", Value = "No"
                    }
                };
                cardGenericAttachments.Buttons = cardButtons;
                card.GenericAttachments        = new List <LexResponse.LexGenericAttachments>()
                {
                    cardGenericAttachments
                };
                return(card);

            case Constants.ACTION_SLOT:
                card.Version                    = 1;
                card.ContentType                = "application/vnd.amazonaws.card.generic";
                cardGenericAttachments.Title    = "Instance action";
                cardGenericAttachments.SubTitle = "Please select an action to perform on the instance : ";
                cardButtons = new List <LexResponse.LexButton>()
                {
                    new LexResponse.LexButton()
                    {
                        Text = "Start", Value = "Start"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "Stop", Value = "Stop"
                    },
                    new LexResponse.LexButton()
                    {
                        Text = "Terminate", Value = "Terminate"
                    },
                };
                cardGenericAttachments.Buttons = cardButtons;
                card.GenericAttachments        = new List <LexResponse.LexGenericAttachments>()
                {
                    cardGenericAttachments
                };
                return(card);
            }
            return(null);
        }