// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.

package operations

import (
	"github.com/airbytehq/terraform-provider-airbyte/internal/sdk/models/shared"
	"net/http"
)

type UpdatePermissionRequest struct {
	PermissionID            string                         `pathParam:"style=simple,explode=false,name=permissionId"`
	PermissionUpdateRequest shared.PermissionUpdateRequest `request:"mediaType=application/json"`
}

func (o *UpdatePermissionRequest) GetPermissionID() string {
	if o == nil {
		return ""
	}
	return o.PermissionID
}

func (o *UpdatePermissionRequest) GetPermissionUpdateRequest() shared.PermissionUpdateRequest {
	if o == nil {
		return shared.PermissionUpdateRequest{}
	}
	return o.PermissionUpdateRequest
}

type UpdatePermissionResponse struct {
	// HTTP response content type for this operation
	ContentType string
	// HTTP response status code for this operation
	StatusCode int
	// Raw HTTP response; suitable for custom response parsing
	RawResponse *http.Response
	// Successful updated
	PermissionResponse *shared.PermissionResponse
}

func (o *UpdatePermissionResponse) GetContentType() string {
	if o == nil {
		return ""
	}
	return o.ContentType
}

func (o *UpdatePermissionResponse) GetStatusCode() int {
	if o == nil {
		return 0
	}
	return o.StatusCode
}

func (o *UpdatePermissionResponse) GetRawResponse() *http.Response {
	if o == nil {
		return nil
	}
	return o.RawResponse
}

func (o *UpdatePermissionResponse) GetPermissionResponse() *shared.PermissionResponse {
	if o == nil {
		return nil
	}
	return o.PermissionResponse
}
