/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ ///////////////////////////////////////////////////////// ///////////////////////////////////////////////////////// // THIS CODE IS AUTOGENERATED, DO NOT MODIFY ///////////////////////////////////////////////////////// ///////////////////////////////////////////////////////// #pragma once #include #include #include #include #include #include #include #include #include #include #include #if defined (PLATFORM_SUPPORTS_AWS_NATIVE_SDK) // The AWS Native SDK AWSAllocator triggers a warning due to accessing members of std::allocator directly. // AWSAllocator.h(70): warning C4996: 'std::allocator::pointer': warning STL4010: Various members of std::allocator are deprecated in C++17. // Use std::allocator_traits instead of accessing these members directly. // You can define _SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning. AZ_PUSH_DISABLE_WARNING(4251 4355 4996, "-Wunknown-warning-option") #include #include AZ_POP_DISABLE_WARNING #endif // (PLATFORM_SUPPORTS_AWS_NATIVE_SDK) #include #include "CloudGemDefectReporter_precompiled.h" namespace CloudGemDefectReporter { namespace ServiceAPI { extern const char* LmbrAWS_CodeGen_ResponseStatus_UUID; extern const char* LmbrAWS_CodeGen_EncryptedPresignedPostFields_UUID; extern const char* LmbrAWS_CodeGen_ProjectKeys_UUID; extern const char* LmbrAWS_CodeGen_ClientConfiguration_UUID; extern const char* LmbrAWS_CodeGen_UploadRequestResults_UUID; extern const char* LmbrAWS_CodeGen_Component_UUID; extern const char* LmbrAWS_CodeGen_IssueTypes_UUID; extern const char* LmbrAWS_CodeGen_SearchEntry_UUID; extern const char* LmbrAWS_CodeGen_ResponseHandler_UUID; extern const char* LmbrAWS_CodeGen_ReportHeader_UUID; extern const char* LmbrAWS_CodeGen_NotificationBus1_UUID; extern const char* LmbrAWS_CodeGen_RequestBus1_UUID; extern const char* LmbrAWS_CodeGen_Credentials_UUID; extern const char* LmbrAWS_CodeGen_UnencryptedPresignedPostFields_UUID; extern const char* LmbrAWS_CodeGen_ServiceStatus_UUID; extern const char* LmbrAWS_CodeGen_UploadRequest_UUID; extern const char* LmbrAWS_CodeGen_CustomField_UUID; extern const char* LmbrAWS_CodeGen_ReportComments_UUID; extern const char* LmbrAWS_CodeGen_JiraIntegrationSettings_UUID; extern const char* LmbrAWS_CodeGen_ObjectFieldProperty_UUID; // redefs bool WriteJson(CloudGemFramework::JsonWriter& writer, const int& item); bool WriteJson(CloudGemFramework::JsonWriter& writer, const AZStd::string& item); bool WriteJson(CloudGemFramework::JsonWriter& writer, const double& item); using StringList = AZStd::vector; bool WriteJson(CloudGemFramework::JsonWriter& writer, const StringList& list); struct ObjectFieldProperty { AZ_TYPE_INFO(ObjectFieldProperty, LmbrAWS_CodeGen_ObjectFieldProperty_UUID) AZ_CLASS_ALLOCATOR(ObjectFieldProperty, AZ::SystemAllocator, 0) AZStd::string title; int maxChars{0}; AZStd::string defaultValue; StringList predefines; bool multipleSelect{false}; AZStd::string type; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const ObjectFieldProperty& item); using CustomFieldPropertyProperties = AZStd::vector; bool WriteJson(CloudGemFramework::JsonWriter& writer, const CustomFieldPropertyProperties& list); struct CustomField { AZ_TYPE_INFO(CustomField, LmbrAWS_CodeGen_CustomField_UUID) AZ_CLASS_ALLOCATOR(CustomField, AZ::SystemAllocator, 0) AZStd::string title; int maxChars{0}; AZStd::string defaultValue; StringList predefines; bool multipleSelect{false}; AZStd::string type; CustomFieldPropertyProperties properties; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const CustomField& item); using ClientConfigurationPropertyClientConfiguration = AZStd::vector; bool WriteJson(CloudGemFramework::JsonWriter& writer, const ClientConfigurationPropertyClientConfiguration& list); struct ClientConfiguration { AZ_TYPE_INFO(ClientConfiguration, LmbrAWS_CodeGen_ClientConfiguration_UUID) AZ_CLASS_ALLOCATOR(ClientConfiguration, AZ::SystemAllocator, 0) ClientConfigurationPropertyClientConfiguration clientConfiguration; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const ClientConfiguration& item); struct ServiceStatus { AZ_TYPE_INFO(ServiceStatus, LmbrAWS_CodeGen_ServiceStatus_UUID) AZ_CLASS_ALLOCATOR(ServiceStatus, AZ::SystemAllocator, 0) AZStd::string status; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const ServiceStatus& item); struct IssueTypes { AZ_TYPE_INFO(IssueTypes, LmbrAWS_CodeGen_IssueTypes_UUID) AZ_CLASS_ALLOCATOR(IssueTypes, AZ::SystemAllocator, 0) StringList issueTypes; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const IssueTypes& item); struct JiraIntegrationSettings { AZ_TYPE_INFO(JiraIntegrationSettings, LmbrAWS_CodeGen_JiraIntegrationSettings_UUID) AZ_CLASS_ALLOCATOR(JiraIntegrationSettings, AZ::SystemAllocator, 0) AZStd::string project; AZStd::string issuetype; AZStd::string submitMode; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const JiraIntegrationSettings& item); struct ProjectKeys { AZ_TYPE_INFO(ProjectKeys, LmbrAWS_CodeGen_ProjectKeys_UUID) AZ_CLASS_ALLOCATOR(ProjectKeys, AZ::SystemAllocator, 0) StringList projectKeys; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const ProjectKeys& item); struct ReportComments { AZ_TYPE_INFO(ReportComments, LmbrAWS_CodeGen_ReportComments_UUID) AZ_CLASS_ALLOCATOR(ReportComments, AZ::SystemAllocator, 0) AZStd::string universal_unique_identifier; StringList comments; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const ReportComments& item); struct UploadRequest { AZ_TYPE_INFO(UploadRequest, LmbrAWS_CodeGen_UploadRequest_UUID) AZ_CLASS_ALLOCATOR(UploadRequest, AZ::SystemAllocator, 0) int NumberOfEncryptedPosts{0}; int NumberOfUnencryptedPosts{0}; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const UploadRequest& item); struct EncryptedPresignedPostFields { AZ_TYPE_INFO(EncryptedPresignedPostFields, LmbrAWS_CodeGen_EncryptedPresignedPostFields_UUID) AZ_CLASS_ALLOCATOR(EncryptedPresignedPostFields, AZ::SystemAllocator, 0) AZStd::string AmzSignature; AZStd::string AmzServerSideEncryption; AZStd::string AmzCredential; AZStd::string AmzDate; AZStd::string AmzSecurityToken; AZStd::string AmzAlgorithm; AZStd::string Key; AZStd::string Policy; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const EncryptedPresignedPostFields& item); using UploadRequestResultsPropertyEncryptedPresignedPostFieldsArray = AZStd::vector; bool WriteJson(CloudGemFramework::JsonWriter& writer, const UploadRequestResultsPropertyEncryptedPresignedPostFieldsArray& list); struct UnencryptedPresignedPostFields { AZ_TYPE_INFO(UnencryptedPresignedPostFields, LmbrAWS_CodeGen_UnencryptedPresignedPostFields_UUID) AZ_CLASS_ALLOCATOR(UnencryptedPresignedPostFields, AZ::SystemAllocator, 0) AZStd::string AmzSignature; AZStd::string AmzCredential; AZStd::string AmzDate; AZStd::string AmzSecurityToken; AZStd::string AmzAlgorithm; AZStd::string Key; AZStd::string Policy; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const UnencryptedPresignedPostFields& item); using UploadRequestResultsPropertyUnencryptedPresignedPostFieldsArray = AZStd::vector; bool WriteJson(CloudGemFramework::JsonWriter& writer, const UploadRequestResultsPropertyUnencryptedPresignedPostFieldsArray& list); struct UploadRequestResults { AZ_TYPE_INFO(UploadRequestResults, LmbrAWS_CodeGen_UploadRequestResults_UUID) AZ_CLASS_ALLOCATOR(UploadRequestResults, AZ::SystemAllocator, 0) AZStd::string Url; UploadRequestResultsPropertyEncryptedPresignedPostFieldsArray EncryptedPresignedPostFieldsArray; UploadRequestResultsPropertyUnencryptedPresignedPostFieldsArray UnencryptedPresignedPostFieldsArray; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const UploadRequestResults& item); struct Credentials { AZ_TYPE_INFO(Credentials, LmbrAWS_CodeGen_Credentials_UUID) AZ_CLASS_ALLOCATOR(Credentials, AZ::SystemAllocator, 0) AZStd::string userName; AZStd::string password; AZStd::string server; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const Credentials& item); struct ResponseStatus { AZ_TYPE_INFO(ResponseStatus, LmbrAWS_CodeGen_ResponseStatus_UUID) AZ_CLASS_ALLOCATOR(ResponseStatus, AZ::SystemAllocator, 0) AZStd::string status; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const ResponseStatus& item); struct SearchEntry { AZ_TYPE_INFO(SearchEntry, LmbrAWS_CodeGen_SearchEntry_UUID) AZ_CLASS_ALLOCATOR(SearchEntry, AZ::SystemAllocator, 0) AZStd::string query_params; AZStd::string sql_id; AZStd::string user_id; AZStd::string timestamp; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const SearchEntry& item); struct ReportHeader { AZ_TYPE_INFO(ReportHeader, LmbrAWS_CodeGen_ReportHeader_UUID) AZ_CLASS_ALLOCATOR(ReportHeader, AZ::SystemAllocator, 0) double bookmark{0.0}; AZStd::string read_status; AZStd::string universal_unique_identifier; bool OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader); static void Reflect(AZ::ReflectContext* reflection); }; bool WriteJson(CloudGemFramework::JsonWriter& writer, const ReportHeader& item); // Service RequestJobs CLOUD_GEM_SERVICE(CloudGemDefectReporter); class PutClientconfigurationRequest : public CloudGemFramework::ServiceRequest { public: SERVICE_REQUEST(CloudGemDefectReporter, HttpMethod::HTTP_PUT, "/clientconfiguration"); struct Parameters { ClientConfiguration client_configuration; bool BuildRequest(CloudGemFramework::RequestBuilder& request); bool WriteJson(CloudGemFramework::JsonWriter& writer) const; }; ServiceStatus result; Parameters parameters; }; using PutClientconfigurationRequestJob = CloudGemFramework::ServiceRequestJob; class GetClientconfigurationRequest : public CloudGemFramework::ServiceRequest { public: SERVICE_REQUEST(CloudGemDefectReporter, HttpMethod::HTTP_GET, "/clientconfiguration"); struct Parameters { bool BuildRequest(CloudGemFramework::RequestBuilder& request); bool WriteJson(CloudGemFramework::JsonWriter& writer) const; }; ClientConfiguration result; Parameters parameters; }; using GetClientconfigurationRequestJob = CloudGemFramework::ServiceRequestJob; class GetJiraintegrationIssuetypesRequest : public CloudGemFramework::ServiceRequest { public: SERVICE_REQUEST(CloudGemDefectReporter, HttpMethod::HTTP_GET, "/jiraintegration/issuetypes/{project_key}"); struct Parameters { AZStd::string project_key; bool BuildRequest(CloudGemFramework::RequestBuilder& request); bool WriteJson(CloudGemFramework::JsonWriter& writer) const; }; IssueTypes result; Parameters parameters; }; using GetJiraintegrationIssuetypesRequestJob = CloudGemFramework::ServiceRequestJob; class GetServiceStatusRequest : public CloudGemFramework::ServiceRequest { public: SERVICE_REQUEST(CloudGemDefectReporter, HttpMethod::HTTP_GET, "/service/status"); struct Parameters { bool BuildRequest(CloudGemFramework::RequestBuilder& request); bool WriteJson(CloudGemFramework::JsonWriter& writer) const; }; ServiceStatus result; Parameters parameters; }; using GetServiceStatusRequestJob = CloudGemFramework::ServiceRequestJob; class GetJiraintegrationSettingsRequest : public CloudGemFramework::ServiceRequest { public: SERVICE_REQUEST(CloudGemDefectReporter, HttpMethod::HTTP_GET, "/jiraintegration/settings"); struct Parameters { bool BuildRequest(CloudGemFramework::RequestBuilder& request); bool WriteJson(CloudGemFramework::JsonWriter& writer) const; }; JiraIntegrationSettings result; Parameters parameters; }; using GetJiraintegrationSettingsRequestJob = CloudGemFramework::ServiceRequestJob; class GetJiraintegrationProjectkeysRequest : public CloudGemFramework::ServiceRequest { public: SERVICE_REQUEST(CloudGemDefectReporter, HttpMethod::HTTP_GET, "/jiraintegration/projectkeys"); struct Parameters { bool BuildRequest(CloudGemFramework::RequestBuilder& request); bool WriteJson(CloudGemFramework::JsonWriter& writer) const; }; ProjectKeys result; Parameters parameters; }; using GetJiraintegrationProjectkeysRequestJob = CloudGemFramework::ServiceRequestJob; class GetCommentRequest : public CloudGemFramework::ServiceRequest { public: SERVICE_REQUEST(CloudGemDefectReporter, HttpMethod::HTTP_GET, "/comment/{universal_unique_identifier}"); struct Parameters { AZStd::string universal_unique_identifier; bool BuildRequest(CloudGemFramework::RequestBuilder& request); bool WriteJson(CloudGemFramework::JsonWriter& writer) const; }; ReportComments result; Parameters parameters; }; using GetCommentRequestJob = CloudGemFramework::ServiceRequestJob; class PostServiceUploadRequest : public CloudGemFramework::ServiceRequest { public: SERVICE_REQUEST(CloudGemDefectReporter, HttpMethod::HTTP_POST, "/service/upload"); struct Parameters { UploadRequest request_content; bool BuildRequest(CloudGemFramework::RequestBuilder& request); bool WriteJson(CloudGemFramework::JsonWriter& writer) const; }; UploadRequestResults result; Parameters parameters; }; using PostServiceUploadRequestJob = CloudGemFramework::ServiceRequestJob; class PutJiraintegrationCredentialsRequest : public CloudGemFramework::ServiceRequest { public: SERVICE_REQUEST(CloudGemDefectReporter, HttpMethod::HTTP_PUT, "/jiraintegration/credentials"); struct Parameters { Credentials credentials; bool BuildRequest(CloudGemFramework::RequestBuilder& request); bool WriteJson(CloudGemFramework::JsonWriter& writer) const; }; ResponseStatus result; Parameters parameters; }; using PutJiraintegrationCredentialsRequestJob = CloudGemFramework::ServiceRequestJob; class GetJiraintegrationCredentialsRequest : public CloudGemFramework::ServiceRequest { public: SERVICE_REQUEST(CloudGemDefectReporter, HttpMethod::HTTP_GET, "/jiraintegration/credentials"); struct Parameters { bool BuildRequest(CloudGemFramework::RequestBuilder& request); bool WriteJson(CloudGemFramework::JsonWriter& writer) const; }; Credentials result; Parameters parameters; }; using GetJiraintegrationCredentialsRequestJob = CloudGemFramework::ServiceRequestJob; class PutCommentRequest : public CloudGemFramework::ServiceRequest { public: SERVICE_REQUEST(CloudGemDefectReporter, HttpMethod::HTTP_PUT, "/comment"); struct Parameters { ReportComments report; bool BuildRequest(CloudGemFramework::RequestBuilder& request); bool WriteJson(CloudGemFramework::JsonWriter& writer) const; }; ServiceStatus result; Parameters parameters; }; using PutCommentRequestJob = CloudGemFramework::ServiceRequestJob; class PutRecentsearchRequest : public CloudGemFramework::ServiceRequest { public: SERVICE_REQUEST(CloudGemDefectReporter, HttpMethod::HTTP_PUT, "/recentsearch"); struct Parameters { SearchEntry search; bool BuildRequest(CloudGemFramework::RequestBuilder& request); bool WriteJson(CloudGemFramework::JsonWriter& writer) const; }; ServiceStatus result; Parameters parameters; }; using PutRecentsearchRequestJob = CloudGemFramework::ServiceRequestJob; class PutHeaderRequest : public CloudGemFramework::ServiceRequest { public: SERVICE_REQUEST(CloudGemDefectReporter, HttpMethod::HTTP_PUT, "/header"); struct Parameters { ReportHeader report; bool BuildRequest(CloudGemFramework::RequestBuilder& request); bool WriteJson(CloudGemFramework::JsonWriter& writer) const; }; ServiceStatus result; Parameters parameters; }; using PutHeaderRequestJob = CloudGemFramework::ServiceRequestJob; // Notification bus for this component class CloudGemDefectReporterNotifications : public AZ::ComponentBus { public: /** * Sent when the request is a success * * Params: * jsonOutput: The output receieved from the lambda call * request: The AWS Lambda request object */ virtual void OnPutClientconfigurationRequestSuccess(const ServiceStatus response); /** * Sent when the request fails * * Params: * error: The output receieved from the lambda call, * could be function error or an issue with the request * request: The AWS Lambda request object */ virtual void OnPutClientconfigurationRequestError(const CloudGemFramework::Error error); /** * Sent when the request is a success * * Params: * jsonOutput: The output receieved from the lambda call * request: The AWS Lambda request object */ virtual void OnGetClientconfigurationRequestSuccess(const ClientConfiguration response); /** * Sent when the request fails * * Params: * error: The output receieved from the lambda call, * could be function error or an issue with the request * request: The AWS Lambda request object */ virtual void OnGetClientconfigurationRequestError(const CloudGemFramework::Error error); /** * Sent when the request is a success * * Params: * jsonOutput: The output receieved from the lambda call * request: The AWS Lambda request object */ virtual void OnGetJiraintegrationIssuetypesRequestSuccess(const IssueTypes response); /** * Sent when the request fails * * Params: * error: The output receieved from the lambda call, * could be function error or an issue with the request * request: The AWS Lambda request object */ virtual void OnGetJiraintegrationIssuetypesRequestError(const CloudGemFramework::Error error); /** * Sent when the request is a success * * Params: * jsonOutput: The output receieved from the lambda call * request: The AWS Lambda request object */ virtual void OnGetServiceStatusRequestSuccess(const ServiceStatus response); /** * Sent when the request fails * * Params: * error: The output receieved from the lambda call, * could be function error or an issue with the request * request: The AWS Lambda request object */ virtual void OnGetServiceStatusRequestError(const CloudGemFramework::Error error); /** * Sent when the request is a success * * Params: * jsonOutput: The output receieved from the lambda call * request: The AWS Lambda request object */ virtual void OnGetJiraintegrationSettingsRequestSuccess(const JiraIntegrationSettings response); /** * Sent when the request fails * * Params: * error: The output receieved from the lambda call, * could be function error or an issue with the request * request: The AWS Lambda request object */ virtual void OnGetJiraintegrationSettingsRequestError(const CloudGemFramework::Error error); /** * Sent when the request is a success * * Params: * jsonOutput: The output receieved from the lambda call * request: The AWS Lambda request object */ virtual void OnGetJiraintegrationProjectkeysRequestSuccess(const ProjectKeys response); /** * Sent when the request fails * * Params: * error: The output receieved from the lambda call, * could be function error or an issue with the request * request: The AWS Lambda request object */ virtual void OnGetJiraintegrationProjectkeysRequestError(const CloudGemFramework::Error error); /** * Sent when the request is a success * * Params: * jsonOutput: The output receieved from the lambda call * request: The AWS Lambda request object */ virtual void OnGetCommentRequestSuccess(const ReportComments response); /** * Sent when the request fails * * Params: * error: The output receieved from the lambda call, * could be function error or an issue with the request * request: The AWS Lambda request object */ virtual void OnGetCommentRequestError(const CloudGemFramework::Error error); /** * Sent when the request is a success * * Params: * jsonOutput: The output receieved from the lambda call * request: The AWS Lambda request object */ virtual void OnPostServiceUploadRequestSuccess(const UploadRequestResults response); /** * Sent when the request fails * * Params: * error: The output receieved from the lambda call, * could be function error or an issue with the request * request: The AWS Lambda request object */ virtual void OnPostServiceUploadRequestError(const CloudGemFramework::Error error); /** * Sent when the request is a success * * Params: * jsonOutput: The output receieved from the lambda call * request: The AWS Lambda request object */ virtual void OnPutJiraintegrationCredentialsRequestSuccess(const ResponseStatus response); /** * Sent when the request fails * * Params: * error: The output receieved from the lambda call, * could be function error or an issue with the request * request: The AWS Lambda request object */ virtual void OnPutJiraintegrationCredentialsRequestError(const CloudGemFramework::Error error); /** * Sent when the request is a success * * Params: * jsonOutput: The output receieved from the lambda call * request: The AWS Lambda request object */ virtual void OnGetJiraintegrationCredentialsRequestSuccess(const Credentials response); /** * Sent when the request fails * * Params: * error: The output receieved from the lambda call, * could be function error or an issue with the request * request: The AWS Lambda request object */ virtual void OnGetJiraintegrationCredentialsRequestError(const CloudGemFramework::Error error); /** * Sent when the request is a success * * Params: * jsonOutput: The output receieved from the lambda call * request: The AWS Lambda request object */ virtual void OnPutCommentRequestSuccess(const ServiceStatus response); /** * Sent when the request fails * * Params: * error: The output receieved from the lambda call, * could be function error or an issue with the request * request: The AWS Lambda request object */ virtual void OnPutCommentRequestError(const CloudGemFramework::Error error); /** * Sent when the request is a success * * Params: * jsonOutput: The output receieved from the lambda call * request: The AWS Lambda request object */ virtual void OnPutRecentsearchRequestSuccess(const ServiceStatus response); /** * Sent when the request fails * * Params: * error: The output receieved from the lambda call, * could be function error or an issue with the request * request: The AWS Lambda request object */ virtual void OnPutRecentsearchRequestError(const CloudGemFramework::Error error); /** * Sent when the request is a success * * Params: * jsonOutput: The output receieved from the lambda call * request: The AWS Lambda request object */ virtual void OnPutHeaderRequestSuccess(const ServiceStatus response); /** * Sent when the request fails * * Params: * error: The output receieved from the lambda call, * could be function error or an issue with the request * request: The AWS Lambda request object */ virtual void OnPutHeaderRequestError(const CloudGemFramework::Error error); }; using CloudGemDefectReporterNotificationBus = AZ::EBus; class BehaviorCloudGemDefectReporterNotificationBusHandler : public CloudGemDefectReporterNotificationBus::Handler, public AZ::BehaviorEBusHandler { public: AZ_EBUS_BEHAVIOR_BINDER(BehaviorCloudGemDefectReporterNotificationBusHandler, LmbrAWS_CodeGen_NotificationBus1_UUID, AZ::SystemAllocator , OnPutClientconfigurationRequestSuccess , OnPutClientconfigurationRequestError , OnGetClientconfigurationRequestSuccess , OnGetClientconfigurationRequestError , OnGetJiraintegrationIssuetypesRequestSuccess , OnGetJiraintegrationIssuetypesRequestError , OnGetServiceStatusRequestSuccess , OnGetServiceStatusRequestError , OnGetJiraintegrationSettingsRequestSuccess , OnGetJiraintegrationSettingsRequestError , OnGetJiraintegrationProjectkeysRequestSuccess , OnGetJiraintegrationProjectkeysRequestError , OnGetCommentRequestSuccess , OnGetCommentRequestError , OnPostServiceUploadRequestSuccess , OnPostServiceUploadRequestError , OnPutJiraintegrationCredentialsRequestSuccess , OnPutJiraintegrationCredentialsRequestError , OnGetJiraintegrationCredentialsRequestSuccess , OnGetJiraintegrationCredentialsRequestError , OnPutCommentRequestSuccess , OnPutCommentRequestError , OnPutRecentsearchRequestSuccess , OnPutRecentsearchRequestError , OnPutHeaderRequestSuccess , OnPutHeaderRequestError ); void OnPutClientconfigurationRequestSuccess(const ServiceStatus response) override; void OnPutClientconfigurationRequestError(const CloudGemFramework::Error error) override; void OnGetClientconfigurationRequestSuccess(const ClientConfiguration response) override; void OnGetClientconfigurationRequestError(const CloudGemFramework::Error error) override; void OnGetJiraintegrationIssuetypesRequestSuccess(const IssueTypes response) override; void OnGetJiraintegrationIssuetypesRequestError(const CloudGemFramework::Error error) override; void OnGetServiceStatusRequestSuccess(const ServiceStatus response) override; void OnGetServiceStatusRequestError(const CloudGemFramework::Error error) override; void OnGetJiraintegrationSettingsRequestSuccess(const JiraIntegrationSettings response) override; void OnGetJiraintegrationSettingsRequestError(const CloudGemFramework::Error error) override; void OnGetJiraintegrationProjectkeysRequestSuccess(const ProjectKeys response) override; void OnGetJiraintegrationProjectkeysRequestError(const CloudGemFramework::Error error) override; void OnGetCommentRequestSuccess(const ReportComments response) override; void OnGetCommentRequestError(const CloudGemFramework::Error error) override; void OnPostServiceUploadRequestSuccess(const UploadRequestResults response) override; void OnPostServiceUploadRequestError(const CloudGemFramework::Error error) override; void OnPutJiraintegrationCredentialsRequestSuccess(const ResponseStatus response) override; void OnPutJiraintegrationCredentialsRequestError(const CloudGemFramework::Error error) override; void OnGetJiraintegrationCredentialsRequestSuccess(const Credentials response) override; void OnGetJiraintegrationCredentialsRequestError(const CloudGemFramework::Error error) override; void OnPutCommentRequestSuccess(const ServiceStatus response) override; void OnPutCommentRequestError(const CloudGemFramework::Error error) override; void OnPutRecentsearchRequestSuccess(const ServiceStatus response) override; void OnPutRecentsearchRequestError(const CloudGemFramework::Error error) override; void OnPutHeaderRequestSuccess(const ServiceStatus response) override; void OnPutHeaderRequestError(const CloudGemFramework::Error error) override; }; class CloudGemDefectReporterResponseHandler; // Request bus for this component class CloudGemDefectReporterRequests : public AZ::ComponentBus { public: virtual ~CloudGemDefectReporterRequests() {} virtual void PutClientconfiguration(const ClientConfiguration& client_configuration, CloudGemDefectReporterResponseHandler* responseHandler); virtual void GetClientconfiguration(CloudGemDefectReporterResponseHandler* responseHandler); virtual void GetJiraintegrationIssuetypes(const AZStd::string& project_key, CloudGemDefectReporterResponseHandler* responseHandler); virtual void GetServiceStatus(CloudGemDefectReporterResponseHandler* responseHandler); virtual void GetJiraintegrationSettings(CloudGemDefectReporterResponseHandler* responseHandler); virtual void GetJiraintegrationProjectkeys(CloudGemDefectReporterResponseHandler* responseHandler); virtual void GetComment(const AZStd::string& universal_unique_identifier, CloudGemDefectReporterResponseHandler* responseHandler); virtual void PostServiceUpload(const UploadRequest& request_content, CloudGemDefectReporterResponseHandler* responseHandler); virtual void PutJiraintegrationCredentials(const Credentials& credentials, CloudGemDefectReporterResponseHandler* responseHandler); virtual void GetJiraintegrationCredentials(CloudGemDefectReporterResponseHandler* responseHandler); virtual void PutComment(const ReportComments& report, CloudGemDefectReporterResponseHandler* responseHandler); virtual void PutRecentsearch(const SearchEntry& search, CloudGemDefectReporterResponseHandler* responseHandler); virtual void PutHeader(const ReportHeader& report, CloudGemDefectReporterResponseHandler* responseHandler); }; using CloudGemDefectReporterRequestBus = AZ::EBus; // This class is used as a parameter for all requests and throws the response on the CloudGemDefectReporterNotificationBus // Inherit from this to define custom behavior. class CloudGemDefectReporterResponseHandler { public: AZ_TYPE_INFO(CloudGemDefectReporterResponseHandler, LmbrAWS_CodeGen_ResponseHandler_UUID) AZ_CLASS_ALLOCATOR(CloudGemDefectReporterResponseHandler, AZ::SystemAllocator, 0) virtual ~CloudGemDefectReporterResponseHandler() {} virtual void HandlePutClientconfigurationSuccess(PutClientconfigurationRequestJob* job, AZ::EntityId entityId); virtual void HandlePutClientconfigurationError(PutClientconfigurationRequestJob* job, AZ::EntityId entityId); virtual void HandleGetClientconfigurationSuccess(GetClientconfigurationRequestJob* job, AZ::EntityId entityId); virtual void HandleGetClientconfigurationError(GetClientconfigurationRequestJob* job, AZ::EntityId entityId); virtual void HandleGetJiraintegrationIssuetypesSuccess(GetJiraintegrationIssuetypesRequestJob* job, AZ::EntityId entityId); virtual void HandleGetJiraintegrationIssuetypesError(GetJiraintegrationIssuetypesRequestJob* job, AZ::EntityId entityId); virtual void HandleGetServiceStatusSuccess(GetServiceStatusRequestJob* job, AZ::EntityId entityId); virtual void HandleGetServiceStatusError(GetServiceStatusRequestJob* job, AZ::EntityId entityId); virtual void HandleGetJiraintegrationSettingsSuccess(GetJiraintegrationSettingsRequestJob* job, AZ::EntityId entityId); virtual void HandleGetJiraintegrationSettingsError(GetJiraintegrationSettingsRequestJob* job, AZ::EntityId entityId); virtual void HandleGetJiraintegrationProjectkeysSuccess(GetJiraintegrationProjectkeysRequestJob* job, AZ::EntityId entityId); virtual void HandleGetJiraintegrationProjectkeysError(GetJiraintegrationProjectkeysRequestJob* job, AZ::EntityId entityId); virtual void HandleGetCommentSuccess(GetCommentRequestJob* job, AZ::EntityId entityId); virtual void HandleGetCommentError(GetCommentRequestJob* job, AZ::EntityId entityId); virtual void HandlePostServiceUploadSuccess(PostServiceUploadRequestJob* job, AZ::EntityId entityId); virtual void HandlePostServiceUploadError(PostServiceUploadRequestJob* job, AZ::EntityId entityId); virtual void HandlePutJiraintegrationCredentialsSuccess(PutJiraintegrationCredentialsRequestJob* job, AZ::EntityId entityId); virtual void HandlePutJiraintegrationCredentialsError(PutJiraintegrationCredentialsRequestJob* job, AZ::EntityId entityId); virtual void HandleGetJiraintegrationCredentialsSuccess(GetJiraintegrationCredentialsRequestJob* job, AZ::EntityId entityId); virtual void HandleGetJiraintegrationCredentialsError(GetJiraintegrationCredentialsRequestJob* job, AZ::EntityId entityId); virtual void HandlePutCommentSuccess(PutCommentRequestJob* job, AZ::EntityId entityId); virtual void HandlePutCommentError(PutCommentRequestJob* job, AZ::EntityId entityId); virtual void HandlePutRecentsearchSuccess(PutRecentsearchRequestJob* job, AZ::EntityId entityId); virtual void HandlePutRecentsearchError(PutRecentsearchRequestJob* job, AZ::EntityId entityId); virtual void HandlePutHeaderSuccess(PutHeaderRequestJob* job, AZ::EntityId entityId); virtual void HandlePutHeaderError(PutHeaderRequestJob* job, AZ::EntityId entityId); }; class CloudGemDefectReporterClientComponent : public AZ::Component , public CloudGemDefectReporterRequestBus::Handler { public: AZ_COMPONENT(CloudGemDefectReporterClientComponent, LmbrAWS_CodeGen_Component_UUID); virtual ~CloudGemDefectReporterClientComponent() = default; AZStd::shared_ptr m_defaultResponseHandler; void Init() override; void Activate() override; void Deactivate() override; static void Reflect(AZ::ReflectContext* reflection) { ObjectFieldProperty::Reflect(reflection); CustomField::Reflect(reflection); ClientConfiguration::Reflect(reflection); ServiceStatus::Reflect(reflection); IssueTypes::Reflect(reflection); JiraIntegrationSettings::Reflect(reflection); ProjectKeys::Reflect(reflection); ReportComments::Reflect(reflection); UploadRequest::Reflect(reflection); EncryptedPresignedPostFields::Reflect(reflection); UnencryptedPresignedPostFields::Reflect(reflection); UploadRequestResults::Reflect(reflection); Credentials::Reflect(reflection); ResponseStatus::Reflect(reflection); SearchEntry::Reflect(reflection); ReportHeader::Reflect(reflection); AZ::SerializeContext* serializeContext = azrtti_cast(reflection); if (serializeContext) { // we must include any fields we want to expose to the editor or lua in the serialize context serializeContext->Class() ->Version(1); AZ::EditContext* editContext = serializeContext->GetEditContext(); if (editContext) { editContext->Class("CloudGemDefectReporterClientComponent", "CloudGemDefectReporter Component") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->Attribute(AZ::Edit::Attributes::Category, "Cloud Canvas Gems") ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game")); } } AZ::BehaviorContext* behaviorContext = azrtti_cast(reflection); if (behaviorContext) { behaviorContext->EBus("CloudGemDefectReporterRequestBus") // one of these for each function ->Event("PutClientconfiguration", &CloudGemDefectReporterRequestBus::Events::PutClientconfiguration) ->Event("GetClientconfiguration", &CloudGemDefectReporterRequestBus::Events::GetClientconfiguration) ->Event("GetJiraintegrationIssuetypes", &CloudGemDefectReporterRequestBus::Events::GetJiraintegrationIssuetypes) ->Event("GetServiceStatus", &CloudGemDefectReporterRequestBus::Events::GetServiceStatus) ->Event("GetJiraintegrationSettings", &CloudGemDefectReporterRequestBus::Events::GetJiraintegrationSettings) ->Event("GetJiraintegrationProjectkeys", &CloudGemDefectReporterRequestBus::Events::GetJiraintegrationProjectkeys) ->Event("GetComment", &CloudGemDefectReporterRequestBus::Events::GetComment) ->Event("PostServiceUpload", &CloudGemDefectReporterRequestBus::Events::PostServiceUpload) ->Event("PutJiraintegrationCredentials", &CloudGemDefectReporterRequestBus::Events::PutJiraintegrationCredentials) ->Event("GetJiraintegrationCredentials", &CloudGemDefectReporterRequestBus::Events::GetJiraintegrationCredentials) ->Event("PutComment", &CloudGemDefectReporterRequestBus::Events::PutComment) ->Event("PutRecentsearch", &CloudGemDefectReporterRequestBus::Events::PutRecentsearch) ->Event("PutHeader", &CloudGemDefectReporterRequestBus::Events::PutHeader) ; behaviorContext->EBus("CloudGemDefectReporterNotificationBus") ->Handler() ; } } // Functions from the swagger definitions void PutClientconfiguration(const ClientConfiguration& client_configuration, CloudGemDefectReporterResponseHandler* responseHandler) override; void GetClientconfiguration(CloudGemDefectReporterResponseHandler* responseHandler) override; void GetJiraintegrationIssuetypes(const AZStd::string& project_key, CloudGemDefectReporterResponseHandler* responseHandler) override; void GetServiceStatus(CloudGemDefectReporterResponseHandler* responseHandler) override; void GetJiraintegrationSettings(CloudGemDefectReporterResponseHandler* responseHandler) override; void GetJiraintegrationProjectkeys(CloudGemDefectReporterResponseHandler* responseHandler) override; void GetComment(const AZStd::string& universal_unique_identifier, CloudGemDefectReporterResponseHandler* responseHandler) override; void PostServiceUpload(const UploadRequest& request_content, CloudGemDefectReporterResponseHandler* responseHandler) override; void PutJiraintegrationCredentials(const Credentials& credentials, CloudGemDefectReporterResponseHandler* responseHandler) override; void GetJiraintegrationCredentials(CloudGemDefectReporterResponseHandler* responseHandler) override; void PutComment(const ReportComments& report, CloudGemDefectReporterResponseHandler* responseHandler) override; void PutRecentsearch(const SearchEntry& search, CloudGemDefectReporterResponseHandler* responseHandler) override; void PutHeader(const ReportHeader& report, CloudGemDefectReporterResponseHandler* responseHandler) override; }; } // ServiceAPI } // CloudGemDefectReporter