Documentation ¶
Index ¶
- func AlreadyExistsError() events.APIGatewayProxyResponse
- func BadRequestError(message string) events.APIGatewayProxyResponse
- func BuildNextURL(r *http.Request, nextParams map[string]string, baseRequest url.URL) url.URL
- func ClientBadRequestError(message string) events.APIGatewayProxyResponse
- func ClientErrorWithResponse(message string) events.APIGatewayProxyResponse
- func ConflictError(message string) events.APIGatewayProxyResponse
- func CreateAPIGatewayErrorResponse(responseCode int, errResp ErrorResponse) events.APIGatewayProxyResponse
- func CreateAPIGatewayJSONResponse(status int, response interface{}) events.APIGatewayProxyResponse
- func CreateAPIGatewayResponse(status int, body string) events.APIGatewayProxyResponse
- func CreateMultiValueHeaderAPIErrorResponse(status int, errorCode string, message string) events.APIGatewayProxyResponse
- func CreateMultiValueHeaderAPIResponse(status int, body string) events.APIGatewayProxyResponse
- func CreateMultiValueHeaderJSONResponse(status int, response interface{}) events.APIGatewayProxyResponse
- func NotFoundError() events.APIGatewayProxyResponse
- func RequestValidationError(message string) events.APIGatewayProxyResponse
- func ServerError() events.APIGatewayProxyResponse
- func ServerErrorWithResponse(message string) events.APIGatewayProxyResponse
- func ServiceUnavailableError(message string) events.APIGatewayProxyResponse
- func UnauthorizedError() events.APIGatewayProxyResponse
- func UnsupportedMethodError(method string) events.APIGatewayProxyResponse
- func WriteAPIErrorResponse(w http.ResponseWriter, responseCode int, errCode string, errMessage string)
- func WriteAPIResponse(w http.ResponseWriter, status int, body string)
- func WriteAlreadyExistsError(w http.ResponseWriter)
- func WriteBadRequestError(w http.ResponseWriter, message string)
- func WriteConflictError(w http.ResponseWriter, message string)
- func WriteNotFoundError(w http.ResponseWriter)
- func WriteRequestValidationError(w http.ResponseWriter, message string)
- func WriteServerError(w http.ResponseWriter)
- func WriteServerErrorWithResponse(w http.ResponseWriter, message string)
- func WriteServiceUnavailableError(w http.ResponseWriter, message string)
- type AccountResponse
- type ErrorBase
- type ErrorResponse
- type LeaseAuthResponse
- type LeaseResponse
- type UsageResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AlreadyExistsError ¶
func AlreadyExistsError() events.APIGatewayProxyResponse
func BadRequestError ¶
func BadRequestError(message string) events.APIGatewayProxyResponse
func BuildNextURL ¶
BuildNextURL merges the next parameters of pagination into the request parameters and returns an API URL.
func ClientBadRequestError ¶
func ClientBadRequestError(message string) events.APIGatewayProxyResponse
func ClientErrorWithResponse ¶
func ClientErrorWithResponse(message string) events.APIGatewayProxyResponse
func ConflictError ¶
func ConflictError(message string) events.APIGatewayProxyResponse
func CreateAPIGatewayErrorResponse ¶
func CreateAPIGatewayErrorResponse(responseCode int, errResp ErrorResponse) events.APIGatewayProxyResponse
CreateAPIGatewayErrorResponse is a helper function to create and return a valid error response message for the API
func CreateAPIGatewayJSONResponse ¶
func CreateAPIGatewayJSONResponse(status int, response interface{}) events.APIGatewayProxyResponse
CreateAPIGatewayJSONResponse - Create a JSON response
func CreateAPIGatewayResponse ¶
func CreateAPIGatewayResponse(status int, body string) events.APIGatewayProxyResponse
CreateAPIGatewayResponse is a helper function to create and return a valid response for an API Gateway
func CreateMultiValueHeaderAPIErrorResponse ¶
func CreateMultiValueHeaderAPIErrorResponse(status int, errorCode string, message string) events.APIGatewayProxyResponse
CreateMultiValueHeaderAPIErrorResponse - Creates an error response with mulit-value headers
func CreateMultiValueHeaderAPIResponse ¶
func CreateMultiValueHeaderAPIResponse(status int, body string) events.APIGatewayProxyResponse
CreateMultiValueHeaderAPIResponse - creates a response with multi-value headers
func CreateMultiValueHeaderJSONResponse ¶
func CreateMultiValueHeaderJSONResponse(status int, response interface{}) events.APIGatewayProxyResponse
CreateMultiValueHeaderJSONResponse - Creates a response with JSON in it with multi-value headers
func NotFoundError ¶
func NotFoundError() events.APIGatewayProxyResponse
func RequestValidationError ¶
func RequestValidationError(message string) events.APIGatewayProxyResponse
func ServerError ¶
func ServerError() events.APIGatewayProxyResponse
func ServerErrorWithResponse ¶
func ServerErrorWithResponse(message string) events.APIGatewayProxyResponse
func ServiceUnavailableError ¶
func ServiceUnavailableError(message string) events.APIGatewayProxyResponse
func UnauthorizedError ¶
func UnauthorizedError() events.APIGatewayProxyResponse
func UnsupportedMethodError ¶
func UnsupportedMethodError(method string) events.APIGatewayProxyResponse
func WriteAPIErrorResponse ¶
func WriteAPIErrorResponse(w http.ResponseWriter, responseCode int, errCode string, errMessage string)
WriteAPIErrorResponse - Writes the error response out to the provided ResponseWriter
func WriteAPIResponse ¶
func WriteAPIResponse(w http.ResponseWriter, status int, body string)
WriteAPIResponse - Writes the response out to the provided ResponseWriter
func WriteAlreadyExistsError ¶
func WriteAlreadyExistsError(w http.ResponseWriter)
WriteAlreadyExistsError - Writes the already exists error.
func WriteBadRequestError ¶
func WriteBadRequestError(w http.ResponseWriter, message string)
WriteBadRequestError - Writes a request validate error with the given message.
func WriteConflictError ¶
func WriteConflictError(w http.ResponseWriter, message string)
WriteConflictError - Writes a request validate error with the given message.
func WriteNotFoundError ¶
func WriteNotFoundError(w http.ResponseWriter)
WriteNotFoundError - Writes a request validate error with the given message.
func WriteRequestValidationError ¶
func WriteRequestValidationError(w http.ResponseWriter, message string)
WriteRequestValidationError - Writes a request validate error with the given message.
func WriteServerError ¶
func WriteServerError(w http.ResponseWriter)
WriteServerError - Writes a server error with the specific message.
func WriteServerErrorWithResponse ¶
func WriteServerErrorWithResponse(w http.ResponseWriter, message string)
WriteServerErrorWithResponse - Writes a server error with the specific message.
func WriteServiceUnavailableError ¶
func WriteServiceUnavailableError(w http.ResponseWriter, message string)
WriteServiceUnavailableError - Writes a request validate error with the given message.
Types ¶
type AccountResponse ¶
type AccountResponse struct { ID string `json:"id"` AccountStatus db.AccountStatus `json:"accountStatus"` LastModifiedOn int64 `json:"lastModifiedOn"` CreatedOn int64 `json:"createdOn"` AdminRoleArn string `json:"adminRoleArn"` // Assumed by the master account, to manage this user account PrincipalRoleArn string `json:"principalRoleArn"` // Assumed by principal users PrincipalPolicyHash string `json:"principalPolicyHash"` // The policy used by the PrincipalRoleArn Metadata map[string]interface{} `json:"metadata"` }
AccountResponse is the serialized JSON Response for an account to be returned for APIs
{ "id": "123", "status": "Active", "lastModifiedOn": 56789, "createOn": 12345, "adminRoleArn": " arn:aws:iam::1234567890:role/adminRole }
Converting from a db.Account can be done via type casting:
dbAccount := db.Account{...} accountRes := response.AccountResponse(dbAccount)
type ErrorBase ¶
ErrorBase is the base structure for the ErrorResponse containing the Error Code and Message
{ "code": "ServerError", "message": "Error Calculating" }
type ErrorResponse ¶
type ErrorResponse struct {
Error ErrorBase `json:"error"`
}
ErrorResponse is the structured JSON Response for an Error to be returned for APIs
{ "error": { "code": "ServerError", "message": "Error Calculating" } }
func CreateErrorResponse ¶
func CreateErrorResponse(code string, message string) ErrorResponse
CreateErrorResponse creates and returns a formatted JSON string of the structured ErrorResponse
type LeaseAuthResponse ¶
type LeaseAuthResponse struct { AccessKeyID string `json:"accessKeyId"` SecretAccessKey string `json:"secretAccessKey"` SessionToken string `json:"sessionToken"` ConsoleURL string `json:"consoleUrl"` }
LeaseAuthResponse is the structured JSON Response for an Lease to be returned for APIs
{ "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "secretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "sessionKey": "AQoDYXdzEJr...", "consoleUrl": "https://aws.amazon.com/console/", }
type LeaseResponse ¶
type LeaseResponse struct { AccountID string `json:"accountId"` PrincipalID string `json:"principalId"` ID string `json:"id"` LeaseStatus db.LeaseStatus `json:"leaseStatus"` LeaseStatusReason db.LeaseStatusReason `json:"leaseStatusReason"` CreatedOn int64 `json:"createdOn"` LastModifiedOn int64 `json:"lastModifiedOn"` BudgetAmount float64 `json:"budgetAmount"` BudgetCurrency string `json:"budgetCurrency"` BudgetNotificationEmails []string `json:"budgetNotificationEmails"` LeaseStatusModifiedOn int64 `json:"leaseStatusModifiedOn"` ExpiresOn int64 `json:"expiresOn"` Metadata map[string]interface{} `json:"metadata"` }
LeaseResponse is the structured JSON Response for an Lease to be returned for APIs
{ "accountId": "123", "principalId": "user", "leaseStatus": "Active", "createdOn": 56789, "lastModifiedOn": 56789, "budgetAmount": 300, "BudgetCurrency": "USD", "BudgetNotificationEmails": ["usermsid@test.com", "managersmsid@test.com"] }
func CreateLeaseResponse ¶
func CreateLeaseResponse(lease *db.Lease) *LeaseResponse
CreateLeaseResponse creates an Lease Response based on the provided Lease
type UsageResponse ¶
type UsageResponse struct { PrincipalID string `json:"principalId"` // User Principal ID AccountID string `json:"accountId"` // AWS Account ID StartDate int64 `json:"startDate"` // Usage start date Epoch Timestamp EndDate int64 `json:"endDate"` // Usage ends date Epoch Timestamp CostAmount float64 `json:"costAmount"` // Cost Amount for given period CostCurrency string `json:"costCurrency"` // Cost currency TimeToLive int64 `json:"timeToLive"` // ttl attribute }
UsageResponse is the serialized JSON Response for an account usage to be returned by usage API