mmv1/products/dialogflowcx/Page.yaml [496:674]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        properties:
                          - name: 'messages'
                            type: Array
                            description: |
                              The list of rich message responses to present to the user.
                            item_type:
                              type: NestedObject
                              properties:
                                - name: 'channel'
                                  type: String
                                  description: |
                                    The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
                                - name: 'text'
                                  type: NestedObject
                                  description: |
                                    The text response message.
                                  properties:
                                    - name: 'text'
                                      type: Array
                                      description: |
                                        A collection of text responses.
                                      item_type:
                                        type: String
                                    - name: 'allowPlaybackInterruption'
                                      type: Boolean
                                      description: |
                                        Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
                                      output: true
                                # This can be an arbitrary json blob, so we use a string instead of a NestedObject.
                                - name: 'payload'
                                  type: String
                                  description: |
                                    A custom, platform-specific payload.
                                  state_func: 'func(v interface{}) string { s, _ := structure.NormalizeJsonString(v); return s }'
                                  custom_flatten: 'templates/terraform/custom_flatten/json_schema.tmpl'
                                  custom_expand: 'templates/terraform/custom_expand/json_schema.tmpl'
                                  validation:
                                    function: 'validation.StringIsJSON'
                                - name: 'conversationSuccess'
                                  type: NestedObject
                                  description: |
                                    Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
                                    Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
                                    You may set this, for example:
                                    * In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
                                    * In a webhook response when you determine that you handled the customer issue.
                                  properties:
                                    # This can be an arbitrary json blob, so we use a string instead of a NestedObject.
                                    - name: 'metadata'
                                      type: String
                                      description: |
                                        Custom metadata. Dialogflow doesn't impose any structure on this.
                                      state_func: 'func(v interface{}) string { s, _ := structure.NormalizeJsonString(v); return s }'
                                      custom_flatten: 'templates/terraform/custom_flatten/json_schema.tmpl'
                                      custom_expand: 'templates/terraform/custom_expand/json_schema.tmpl'
                                      validation:
                                        function: 'validation.StringIsJSON'
                                - name: 'outputAudioText'
                                  type: NestedObject
                                  description: |
                                    A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message.
                                  properties:
                                    - name: 'allowPlaybackInterruption'
                                      type: Boolean
                                      description: |
                                        Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
                                      output: true
                                    - name: 'text'
                                      type: String
                                      description: |
                                        The raw text to be synthesized.
                                    - name: 'ssml'
                                      type: String
                                      description: |
                                        The SSML text to be synthesized. For more information, see SSML.
                                - name: 'liveAgentHandoff'
                                  type: NestedObject
                                  description: |
                                    Indicates that the conversation should be handed off to a live agent.
                                    Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
                                    You may set this, for example:
                                    * In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
                                    * In a webhook response when you determine that the customer issue can only be handled by a human.
                                  properties:
                                    # This can be an arbitrary json blob, so we use a string instead of a NestedObject.
                                    - name: 'metadata'
                                      type: String
                                      description: |
                                        Custom metadata. Dialogflow doesn't impose any structure on this.
                                      state_func: 'func(v interface{}) string { s, _ := structure.NormalizeJsonString(v); return s }'
                                      custom_flatten: 'templates/terraform/custom_flatten/json_schema.tmpl'
                                      custom_expand: 'templates/terraform/custom_expand/json_schema.tmpl'
                                      validation:
                                        function: 'validation.StringIsJSON'
                                - name: 'playAudio'
                                  type: NestedObject
                                  description: |
                                    Specifies an audio clip to be played by the client as part of the response.
                                  properties:
                                    - name: 'audioUri'
                                      type: String
                                      description: |
                                        URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
                                      required: true
                                    - name: 'allowPlaybackInterruption'
                                      type: Boolean
                                      description: |
                                        Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
                                      output: true
                                - name: 'telephonyTransferCall'
                                  type: NestedObject
                                  description: |
                                    Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint.
                                  properties:
                                    - name: 'phoneNumber'
                                      type: String
                                      description: |
                                        Transfer the call to a phone number in E.164 format.
                                      required: true
                          - name: 'webhook'
                            type: String
                            description: |
                              The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>.
                          - name: 'returnPartialResponses'
                            type: Boolean
                            description: |
                              Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.
                          - name: 'tag'
                            type: String
                            description: |
                              The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
                          - name: 'setParameterActions'
                            type: Array
                            description: |
                              Set parameter values before executing the webhook.
                            item_type:
                              type: NestedObject
                              properties:
                                - name: 'parameter'
                                  type: String
                                  description: |
                                    Display name of the parameter.
                                - name: 'value'
                                  type: String
                                  description: |
                                    The new JSON-encoded value of the parameter. A null value clears the parameter.
                                  state_func: 'func(v interface{}) string { s, _ := structure.NormalizeJsonString(v); return s }'
                                  custom_flatten: 'templates/terraform/custom_flatten/json_schema.tmpl'
                                  custom_expand: 'templates/terraform/custom_expand/json_value.tmpl'
                                  validation:
                                    function: 'validation.StringIsJSON'
                          - name: 'conditionalCases'
                            type: Array
                            description: |
                              Conditional cases for this fulfillment.
                            item_type:
                              type: NestedObject
                              properties:
                                # This object has a recursive schema so we use a string instead of a NestedObject
                                - name: 'cases'
                                  type: String
                                  description: |
                                    A JSON encoded list of cascading if-else conditions. Cases are mutually exclusive. The first one with a matching condition is selected, all the rest ignored.
                                    See [Case](https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/Fulfillment#case) for the schema.
                                  state_func: 'func(v interface{}) string { s, _ := structure.NormalizeJsonString(v); return s }'
                                  custom_flatten: 'templates/terraform/custom_flatten/json_schema.tmpl'
                                  custom_expand: 'templates/terraform/custom_expand/json_value.tmpl'
                                  validation:
                                    function: 'validation.StringIsJSON'
                      - name: 'targetPage'
                        type: String
                        description: |
                          The target page to transition to.
                          Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>.
                      - name: 'targetFlow'
                        type: String
                        description: |
                          The target flow to transition to.
                          Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



mmv1/products/dialogflowcx/Page.yaml [759:937]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          properties:
            - name: 'messages'
              type: Array
              description: |
                The list of rich message responses to present to the user.
              item_type:
                type: NestedObject
                properties:
                  - name: 'channel'
                    type: String
                    description: |
                      The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
                  - name: 'text'
                    type: NestedObject
                    description: |
                      The text response message.
                    properties:
                      - name: 'text'
                        type: Array
                        description: |
                          A collection of text responses.
                        item_type:
                          type: String
                      - name: 'allowPlaybackInterruption'
                        type: Boolean
                        description: |
                          Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
                        output: true
                  # This can be an arbitrary json blob, so we use a string instead of a NestedObject.
                  - name: 'payload'
                    type: String
                    description: |
                      A custom, platform-specific payload.
                    state_func: 'func(v interface{}) string { s, _ := structure.NormalizeJsonString(v); return s }'
                    custom_flatten: 'templates/terraform/custom_flatten/json_schema.tmpl'
                    custom_expand: 'templates/terraform/custom_expand/json_schema.tmpl'
                    validation:
                      function: 'validation.StringIsJSON'
                  - name: 'conversationSuccess'
                    type: NestedObject
                    description: |
                      Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
                      Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
                      You may set this, for example:
                      * In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
                      * In a webhook response when you determine that you handled the customer issue.
                    properties:
                      # This can be an arbitrary json blob, so we use a string instead of a NestedObject.
                      - name: 'metadata'
                        type: String
                        description: |
                          Custom metadata. Dialogflow doesn't impose any structure on this.
                        state_func: 'func(v interface{}) string { s, _ := structure.NormalizeJsonString(v); return s }'
                        custom_flatten: 'templates/terraform/custom_flatten/json_schema.tmpl'
                        custom_expand: 'templates/terraform/custom_expand/json_schema.tmpl'
                        validation:
                          function: 'validation.StringIsJSON'
                  - name: 'outputAudioText'
                    type: NestedObject
                    description: |
                      A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message.
                    properties:
                      - name: 'allowPlaybackInterruption'
                        type: Boolean
                        description: |
                          Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
                        output: true
                      - name: 'text'
                        type: String
                        description: |
                          The raw text to be synthesized.
                      - name: 'ssml'
                        type: String
                        description: |
                          The SSML text to be synthesized. For more information, see SSML.
                  - name: 'liveAgentHandoff'
                    type: NestedObject
                    description: |
                      Indicates that the conversation should be handed off to a live agent.
                      Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
                      You may set this, for example:
                      * In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
                      * In a webhook response when you determine that the customer issue can only be handled by a human.
                    properties:
                      # This can be an arbitrary json blob, so we use a string instead of a NestedObject.
                      - name: 'metadata'
                        type: String
                        description: |
                          Custom metadata. Dialogflow doesn't impose any structure on this.
                        state_func: 'func(v interface{}) string { s, _ := structure.NormalizeJsonString(v); return s }'
                        custom_flatten: 'templates/terraform/custom_flatten/json_schema.tmpl'
                        custom_expand: 'templates/terraform/custom_expand/json_schema.tmpl'
                        validation:
                          function: 'validation.StringIsJSON'
                  - name: 'playAudio'
                    type: NestedObject
                    description: |
                      Specifies an audio clip to be played by the client as part of the response.
                    properties:
                      - name: 'audioUri'
                        type: String
                        description: |
                          URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
                        required: true
                      - name: 'allowPlaybackInterruption'
                        type: Boolean
                        description: |
                          Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
                        output: true
                  - name: 'telephonyTransferCall'
                    type: NestedObject
                    description: |
                      Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint.
                    properties:
                      - name: 'phoneNumber'
                        type: String
                        description: |
                          Transfer the call to a phone number in E.164 format.
                        required: true
            - name: 'webhook'
              type: String
              description: |
                The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>.
            - name: 'returnPartialResponses'
              type: Boolean
              description: |
                Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.
            - name: 'tag'
              type: String
              description: |
                The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
            - name: 'setParameterActions'
              type: Array
              description: |
                Set parameter values before executing the webhook.
              item_type:
                type: NestedObject
                properties:
                  - name: 'parameter'
                    type: String
                    description: |
                      Display name of the parameter.
                  - name: 'value'
                    type: String
                    description: |
                      The new JSON-encoded value of the parameter. A null value clears the parameter.
                    state_func: 'func(v interface{}) string { s, _ := structure.NormalizeJsonString(v); return s }'
                    custom_flatten: 'templates/terraform/custom_flatten/json_schema.tmpl'
                    custom_expand: 'templates/terraform/custom_expand/json_value.tmpl'
                    validation:
                      function: 'validation.StringIsJSON'
            - name: 'conditionalCases'
              type: Array
              description: |
                Conditional cases for this fulfillment.
              item_type:
                type: NestedObject
                properties:
                  # This object has a recursive schema so we use a string instead of a NestedObject
                  - name: 'cases'
                    type: String
                    description: |
                      A JSON encoded list of cascading if-else conditions. Cases are mutually exclusive. The first one with a matching condition is selected, all the rest ignored.
                      See [Case](https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/Fulfillment#case) for the schema.
                    state_func: 'func(v interface{}) string { s, _ := structure.NormalizeJsonString(v); return s }'
                    custom_flatten: 'templates/terraform/custom_flatten/json_schema.tmpl'
                    custom_expand: 'templates/terraform/custom_expand/json_value.tmpl'
                    validation:
                      function: 'validation.StringIsJSON'
        - name: 'targetPage'
          type: String
          description: |
            The target page to transition to.
            Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>.
        - name: 'targetFlow'
          type: String
          description: |
            The target flow to transition to.
            Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



