// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.

// Package route53recoveryreadinessiface provides an interface to enable mocking the AWS Route53 Recovery Readiness service client
// for testing your code.
//
// It is important to note that this interface will have breaking changes
// when the service model is updated and adds new API operations, paginators,
// and waiters.
package route53recoveryreadinessiface

import (
	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/request"
	"github.com/aws/aws-sdk-go/service/route53recoveryreadiness"
)

// Route53RecoveryReadinessAPI provides an interface to enable mocking the
// route53recoveryreadiness.Route53RecoveryReadiness service client's API operation,
// paginators, and waiters. This make unit testing your code that calls out
// to the SDK's service client's calls easier.
//
// The best way to use this interface is so the SDK's service client's calls
// can be stubbed out for unit testing your code with the SDK without needing
// to inject custom request handlers into the SDK's request pipeline.
//
//    // myFunc uses an SDK service client to make a request to
//    // AWS Route53 Recovery Readiness.
//    func myFunc(svc route53recoveryreadinessiface.Route53RecoveryReadinessAPI) bool {
//        // Make svc.CreateCell request
//    }
//
//    func main() {
//        sess := session.New()
//        svc := route53recoveryreadiness.New(sess)
//
//        myFunc(svc)
//    }
//
// In your _test.go file:
//
//    // Define a mock struct to be used in your unit tests of myFunc.
//    type mockRoute53RecoveryReadinessClient struct {
//        route53recoveryreadinessiface.Route53RecoveryReadinessAPI
//    }
//    func (m *mockRoute53RecoveryReadinessClient) CreateCell(input *route53recoveryreadiness.CreateCellInput) (*route53recoveryreadiness.CreateCellOutput, error) {
//        // mock response/functionality
//    }
//
//    func TestMyFunc(t *testing.T) {
//        // Setup Test
//        mockSvc := &mockRoute53RecoveryReadinessClient{}
//
//        myfunc(mockSvc)
//
//        // Verify myFunc's functionality
//    }
//
// It is important to note that this interface will have breaking changes
// when the service model is updated and adds new API operations, paginators,
// and waiters. Its suggested to use the pattern above for testing, or using
// tooling to generate mocks to satisfy the interfaces.
type Route53RecoveryReadinessAPI interface {
	CreateCell(*route53recoveryreadiness.CreateCellInput) (*route53recoveryreadiness.CreateCellOutput, error)
	CreateCellWithContext(aws.Context, *route53recoveryreadiness.CreateCellInput, ...request.Option) (*route53recoveryreadiness.CreateCellOutput, error)
	CreateCellRequest(*route53recoveryreadiness.CreateCellInput) (*request.Request, *route53recoveryreadiness.CreateCellOutput)

	CreateCrossAccountAuthorization(*route53recoveryreadiness.CreateCrossAccountAuthorizationInput) (*route53recoveryreadiness.CreateCrossAccountAuthorizationOutput, error)
	CreateCrossAccountAuthorizationWithContext(aws.Context, *route53recoveryreadiness.CreateCrossAccountAuthorizationInput, ...request.Option) (*route53recoveryreadiness.CreateCrossAccountAuthorizationOutput, error)
	CreateCrossAccountAuthorizationRequest(*route53recoveryreadiness.CreateCrossAccountAuthorizationInput) (*request.Request, *route53recoveryreadiness.CreateCrossAccountAuthorizationOutput)

	CreateReadinessCheck(*route53recoveryreadiness.CreateReadinessCheckInput) (*route53recoveryreadiness.CreateReadinessCheckOutput, error)
	CreateReadinessCheckWithContext(aws.Context, *route53recoveryreadiness.CreateReadinessCheckInput, ...request.Option) (*route53recoveryreadiness.CreateReadinessCheckOutput, error)
	CreateReadinessCheckRequest(*route53recoveryreadiness.CreateReadinessCheckInput) (*request.Request, *route53recoveryreadiness.CreateReadinessCheckOutput)

	CreateRecoveryGroup(*route53recoveryreadiness.CreateRecoveryGroupInput) (*route53recoveryreadiness.CreateRecoveryGroupOutput, error)
	CreateRecoveryGroupWithContext(aws.Context, *route53recoveryreadiness.CreateRecoveryGroupInput, ...request.Option) (*route53recoveryreadiness.CreateRecoveryGroupOutput, error)
	CreateRecoveryGroupRequest(*route53recoveryreadiness.CreateRecoveryGroupInput) (*request.Request, *route53recoveryreadiness.CreateRecoveryGroupOutput)

	CreateResourceSet(*route53recoveryreadiness.CreateResourceSetInput) (*route53recoveryreadiness.CreateResourceSetOutput, error)
	CreateResourceSetWithContext(aws.Context, *route53recoveryreadiness.CreateResourceSetInput, ...request.Option) (*route53recoveryreadiness.CreateResourceSetOutput, error)
	CreateResourceSetRequest(*route53recoveryreadiness.CreateResourceSetInput) (*request.Request, *route53recoveryreadiness.CreateResourceSetOutput)

	DeleteCell(*route53recoveryreadiness.DeleteCellInput) (*route53recoveryreadiness.DeleteCellOutput, error)
	DeleteCellWithContext(aws.Context, *route53recoveryreadiness.DeleteCellInput, ...request.Option) (*route53recoveryreadiness.DeleteCellOutput, error)
	DeleteCellRequest(*route53recoveryreadiness.DeleteCellInput) (*request.Request, *route53recoveryreadiness.DeleteCellOutput)

	DeleteCrossAccountAuthorization(*route53recoveryreadiness.DeleteCrossAccountAuthorizationInput) (*route53recoveryreadiness.DeleteCrossAccountAuthorizationOutput, error)
	DeleteCrossAccountAuthorizationWithContext(aws.Context, *route53recoveryreadiness.DeleteCrossAccountAuthorizationInput, ...request.Option) (*route53recoveryreadiness.DeleteCrossAccountAuthorizationOutput, error)
	DeleteCrossAccountAuthorizationRequest(*route53recoveryreadiness.DeleteCrossAccountAuthorizationInput) (*request.Request, *route53recoveryreadiness.DeleteCrossAccountAuthorizationOutput)

	DeleteReadinessCheck(*route53recoveryreadiness.DeleteReadinessCheckInput) (*route53recoveryreadiness.DeleteReadinessCheckOutput, error)
	DeleteReadinessCheckWithContext(aws.Context, *route53recoveryreadiness.DeleteReadinessCheckInput, ...request.Option) (*route53recoveryreadiness.DeleteReadinessCheckOutput, error)
	DeleteReadinessCheckRequest(*route53recoveryreadiness.DeleteReadinessCheckInput) (*request.Request, *route53recoveryreadiness.DeleteReadinessCheckOutput)

	DeleteRecoveryGroup(*route53recoveryreadiness.DeleteRecoveryGroupInput) (*route53recoveryreadiness.DeleteRecoveryGroupOutput, error)
	DeleteRecoveryGroupWithContext(aws.Context, *route53recoveryreadiness.DeleteRecoveryGroupInput, ...request.Option) (*route53recoveryreadiness.DeleteRecoveryGroupOutput, error)
	DeleteRecoveryGroupRequest(*route53recoveryreadiness.DeleteRecoveryGroupInput) (*request.Request, *route53recoveryreadiness.DeleteRecoveryGroupOutput)

	DeleteResourceSet(*route53recoveryreadiness.DeleteResourceSetInput) (*route53recoveryreadiness.DeleteResourceSetOutput, error)
	DeleteResourceSetWithContext(aws.Context, *route53recoveryreadiness.DeleteResourceSetInput, ...request.Option) (*route53recoveryreadiness.DeleteResourceSetOutput, error)
	DeleteResourceSetRequest(*route53recoveryreadiness.DeleteResourceSetInput) (*request.Request, *route53recoveryreadiness.DeleteResourceSetOutput)

	GetArchitectureRecommendations(*route53recoveryreadiness.GetArchitectureRecommendationsInput) (*route53recoveryreadiness.GetArchitectureRecommendationsOutput, error)
	GetArchitectureRecommendationsWithContext(aws.Context, *route53recoveryreadiness.GetArchitectureRecommendationsInput, ...request.Option) (*route53recoveryreadiness.GetArchitectureRecommendationsOutput, error)
	GetArchitectureRecommendationsRequest(*route53recoveryreadiness.GetArchitectureRecommendationsInput) (*request.Request, *route53recoveryreadiness.GetArchitectureRecommendationsOutput)

	GetCell(*route53recoveryreadiness.GetCellInput) (*route53recoveryreadiness.GetCellOutput, error)
	GetCellWithContext(aws.Context, *route53recoveryreadiness.GetCellInput, ...request.Option) (*route53recoveryreadiness.GetCellOutput, error)
	GetCellRequest(*route53recoveryreadiness.GetCellInput) (*request.Request, *route53recoveryreadiness.GetCellOutput)

	GetCellReadinessSummary(*route53recoveryreadiness.GetCellReadinessSummaryInput) (*route53recoveryreadiness.GetCellReadinessSummaryOutput, error)
	GetCellReadinessSummaryWithContext(aws.Context, *route53recoveryreadiness.GetCellReadinessSummaryInput, ...request.Option) (*route53recoveryreadiness.GetCellReadinessSummaryOutput, error)
	GetCellReadinessSummaryRequest(*route53recoveryreadiness.GetCellReadinessSummaryInput) (*request.Request, *route53recoveryreadiness.GetCellReadinessSummaryOutput)

	GetCellReadinessSummaryPages(*route53recoveryreadiness.GetCellReadinessSummaryInput, func(*route53recoveryreadiness.GetCellReadinessSummaryOutput, bool) bool) error
	GetCellReadinessSummaryPagesWithContext(aws.Context, *route53recoveryreadiness.GetCellReadinessSummaryInput, func(*route53recoveryreadiness.GetCellReadinessSummaryOutput, bool) bool, ...request.Option) error

	GetReadinessCheck(*route53recoveryreadiness.GetReadinessCheckInput) (*route53recoveryreadiness.GetReadinessCheckOutput, error)
	GetReadinessCheckWithContext(aws.Context, *route53recoveryreadiness.GetReadinessCheckInput, ...request.Option) (*route53recoveryreadiness.GetReadinessCheckOutput, error)
	GetReadinessCheckRequest(*route53recoveryreadiness.GetReadinessCheckInput) (*request.Request, *route53recoveryreadiness.GetReadinessCheckOutput)

	GetReadinessCheckResourceStatus(*route53recoveryreadiness.GetReadinessCheckResourceStatusInput) (*route53recoveryreadiness.GetReadinessCheckResourceStatusOutput, error)
	GetReadinessCheckResourceStatusWithContext(aws.Context, *route53recoveryreadiness.GetReadinessCheckResourceStatusInput, ...request.Option) (*route53recoveryreadiness.GetReadinessCheckResourceStatusOutput, error)
	GetReadinessCheckResourceStatusRequest(*route53recoveryreadiness.GetReadinessCheckResourceStatusInput) (*request.Request, *route53recoveryreadiness.GetReadinessCheckResourceStatusOutput)

	GetReadinessCheckResourceStatusPages(*route53recoveryreadiness.GetReadinessCheckResourceStatusInput, func(*route53recoveryreadiness.GetReadinessCheckResourceStatusOutput, bool) bool) error
	GetReadinessCheckResourceStatusPagesWithContext(aws.Context, *route53recoveryreadiness.GetReadinessCheckResourceStatusInput, func(*route53recoveryreadiness.GetReadinessCheckResourceStatusOutput, bool) bool, ...request.Option) error

	GetReadinessCheckStatus(*route53recoveryreadiness.GetReadinessCheckStatusInput) (*route53recoveryreadiness.GetReadinessCheckStatusOutput, error)
	GetReadinessCheckStatusWithContext(aws.Context, *route53recoveryreadiness.GetReadinessCheckStatusInput, ...request.Option) (*route53recoveryreadiness.GetReadinessCheckStatusOutput, error)
	GetReadinessCheckStatusRequest(*route53recoveryreadiness.GetReadinessCheckStatusInput) (*request.Request, *route53recoveryreadiness.GetReadinessCheckStatusOutput)

	GetReadinessCheckStatusPages(*route53recoveryreadiness.GetReadinessCheckStatusInput, func(*route53recoveryreadiness.GetReadinessCheckStatusOutput, bool) bool) error
	GetReadinessCheckStatusPagesWithContext(aws.Context, *route53recoveryreadiness.GetReadinessCheckStatusInput, func(*route53recoveryreadiness.GetReadinessCheckStatusOutput, bool) bool, ...request.Option) error

	GetRecoveryGroup(*route53recoveryreadiness.GetRecoveryGroupInput) (*route53recoveryreadiness.GetRecoveryGroupOutput, error)
	GetRecoveryGroupWithContext(aws.Context, *route53recoveryreadiness.GetRecoveryGroupInput, ...request.Option) (*route53recoveryreadiness.GetRecoveryGroupOutput, error)
	GetRecoveryGroupRequest(*route53recoveryreadiness.GetRecoveryGroupInput) (*request.Request, *route53recoveryreadiness.GetRecoveryGroupOutput)

	GetRecoveryGroupReadinessSummary(*route53recoveryreadiness.GetRecoveryGroupReadinessSummaryInput) (*route53recoveryreadiness.GetRecoveryGroupReadinessSummaryOutput, error)
	GetRecoveryGroupReadinessSummaryWithContext(aws.Context, *route53recoveryreadiness.GetRecoveryGroupReadinessSummaryInput, ...request.Option) (*route53recoveryreadiness.GetRecoveryGroupReadinessSummaryOutput, error)
	GetRecoveryGroupReadinessSummaryRequest(*route53recoveryreadiness.GetRecoveryGroupReadinessSummaryInput) (*request.Request, *route53recoveryreadiness.GetRecoveryGroupReadinessSummaryOutput)

	GetRecoveryGroupReadinessSummaryPages(*route53recoveryreadiness.GetRecoveryGroupReadinessSummaryInput, func(*route53recoveryreadiness.GetRecoveryGroupReadinessSummaryOutput, bool) bool) error
	GetRecoveryGroupReadinessSummaryPagesWithContext(aws.Context, *route53recoveryreadiness.GetRecoveryGroupReadinessSummaryInput, func(*route53recoveryreadiness.GetRecoveryGroupReadinessSummaryOutput, bool) bool, ...request.Option) error

	GetResourceSet(*route53recoveryreadiness.GetResourceSetInput) (*route53recoveryreadiness.GetResourceSetOutput, error)
	GetResourceSetWithContext(aws.Context, *route53recoveryreadiness.GetResourceSetInput, ...request.Option) (*route53recoveryreadiness.GetResourceSetOutput, error)
	GetResourceSetRequest(*route53recoveryreadiness.GetResourceSetInput) (*request.Request, *route53recoveryreadiness.GetResourceSetOutput)

	ListCells(*route53recoveryreadiness.ListCellsInput) (*route53recoveryreadiness.ListCellsOutput, error)
	ListCellsWithContext(aws.Context, *route53recoveryreadiness.ListCellsInput, ...request.Option) (*route53recoveryreadiness.ListCellsOutput, error)
	ListCellsRequest(*route53recoveryreadiness.ListCellsInput) (*request.Request, *route53recoveryreadiness.ListCellsOutput)

	ListCellsPages(*route53recoveryreadiness.ListCellsInput, func(*route53recoveryreadiness.ListCellsOutput, bool) bool) error
	ListCellsPagesWithContext(aws.Context, *route53recoveryreadiness.ListCellsInput, func(*route53recoveryreadiness.ListCellsOutput, bool) bool, ...request.Option) error

	ListCrossAccountAuthorizations(*route53recoveryreadiness.ListCrossAccountAuthorizationsInput) (*route53recoveryreadiness.ListCrossAccountAuthorizationsOutput, error)
	ListCrossAccountAuthorizationsWithContext(aws.Context, *route53recoveryreadiness.ListCrossAccountAuthorizationsInput, ...request.Option) (*route53recoveryreadiness.ListCrossAccountAuthorizationsOutput, error)
	ListCrossAccountAuthorizationsRequest(*route53recoveryreadiness.ListCrossAccountAuthorizationsInput) (*request.Request, *route53recoveryreadiness.ListCrossAccountAuthorizationsOutput)

	ListCrossAccountAuthorizationsPages(*route53recoveryreadiness.ListCrossAccountAuthorizationsInput, func(*route53recoveryreadiness.ListCrossAccountAuthorizationsOutput, bool) bool) error
	ListCrossAccountAuthorizationsPagesWithContext(aws.Context, *route53recoveryreadiness.ListCrossAccountAuthorizationsInput, func(*route53recoveryreadiness.ListCrossAccountAuthorizationsOutput, bool) bool, ...request.Option) error

	ListReadinessChecks(*route53recoveryreadiness.ListReadinessChecksInput) (*route53recoveryreadiness.ListReadinessChecksOutput, error)
	ListReadinessChecksWithContext(aws.Context, *route53recoveryreadiness.ListReadinessChecksInput, ...request.Option) (*route53recoveryreadiness.ListReadinessChecksOutput, error)
	ListReadinessChecksRequest(*route53recoveryreadiness.ListReadinessChecksInput) (*request.Request, *route53recoveryreadiness.ListReadinessChecksOutput)

	ListReadinessChecksPages(*route53recoveryreadiness.ListReadinessChecksInput, func(*route53recoveryreadiness.ListReadinessChecksOutput, bool) bool) error
	ListReadinessChecksPagesWithContext(aws.Context, *route53recoveryreadiness.ListReadinessChecksInput, func(*route53recoveryreadiness.ListReadinessChecksOutput, bool) bool, ...request.Option) error

	ListRecoveryGroups(*route53recoveryreadiness.ListRecoveryGroupsInput) (*route53recoveryreadiness.ListRecoveryGroupsOutput, error)
	ListRecoveryGroupsWithContext(aws.Context, *route53recoveryreadiness.ListRecoveryGroupsInput, ...request.Option) (*route53recoveryreadiness.ListRecoveryGroupsOutput, error)
	ListRecoveryGroupsRequest(*route53recoveryreadiness.ListRecoveryGroupsInput) (*request.Request, *route53recoveryreadiness.ListRecoveryGroupsOutput)

	ListRecoveryGroupsPages(*route53recoveryreadiness.ListRecoveryGroupsInput, func(*route53recoveryreadiness.ListRecoveryGroupsOutput, bool) bool) error
	ListRecoveryGroupsPagesWithContext(aws.Context, *route53recoveryreadiness.ListRecoveryGroupsInput, func(*route53recoveryreadiness.ListRecoveryGroupsOutput, bool) bool, ...request.Option) error

	ListResourceSets(*route53recoveryreadiness.ListResourceSetsInput) (*route53recoveryreadiness.ListResourceSetsOutput, error)
	ListResourceSetsWithContext(aws.Context, *route53recoveryreadiness.ListResourceSetsInput, ...request.Option) (*route53recoveryreadiness.ListResourceSetsOutput, error)
	ListResourceSetsRequest(*route53recoveryreadiness.ListResourceSetsInput) (*request.Request, *route53recoveryreadiness.ListResourceSetsOutput)

	ListResourceSetsPages(*route53recoveryreadiness.ListResourceSetsInput, func(*route53recoveryreadiness.ListResourceSetsOutput, bool) bool) error
	ListResourceSetsPagesWithContext(aws.Context, *route53recoveryreadiness.ListResourceSetsInput, func(*route53recoveryreadiness.ListResourceSetsOutput, bool) bool, ...request.Option) error

	ListRules(*route53recoveryreadiness.ListRulesInput) (*route53recoveryreadiness.ListRulesOutput, error)
	ListRulesWithContext(aws.Context, *route53recoveryreadiness.ListRulesInput, ...request.Option) (*route53recoveryreadiness.ListRulesOutput, error)
	ListRulesRequest(*route53recoveryreadiness.ListRulesInput) (*request.Request, *route53recoveryreadiness.ListRulesOutput)

	ListRulesPages(*route53recoveryreadiness.ListRulesInput, func(*route53recoveryreadiness.ListRulesOutput, bool) bool) error
	ListRulesPagesWithContext(aws.Context, *route53recoveryreadiness.ListRulesInput, func(*route53recoveryreadiness.ListRulesOutput, bool) bool, ...request.Option) error

	ListTagsForResources(*route53recoveryreadiness.ListTagsForResourcesInput) (*route53recoveryreadiness.ListTagsForResourcesOutput, error)
	ListTagsForResourcesWithContext(aws.Context, *route53recoveryreadiness.ListTagsForResourcesInput, ...request.Option) (*route53recoveryreadiness.ListTagsForResourcesOutput, error)
	ListTagsForResourcesRequest(*route53recoveryreadiness.ListTagsForResourcesInput) (*request.Request, *route53recoveryreadiness.ListTagsForResourcesOutput)

	TagResource(*route53recoveryreadiness.TagResourceInput) (*route53recoveryreadiness.TagResourceOutput, error)
	TagResourceWithContext(aws.Context, *route53recoveryreadiness.TagResourceInput, ...request.Option) (*route53recoveryreadiness.TagResourceOutput, error)
	TagResourceRequest(*route53recoveryreadiness.TagResourceInput) (*request.Request, *route53recoveryreadiness.TagResourceOutput)

	UntagResource(*route53recoveryreadiness.UntagResourceInput) (*route53recoveryreadiness.UntagResourceOutput, error)
	UntagResourceWithContext(aws.Context, *route53recoveryreadiness.UntagResourceInput, ...request.Option) (*route53recoveryreadiness.UntagResourceOutput, error)
	UntagResourceRequest(*route53recoveryreadiness.UntagResourceInput) (*request.Request, *route53recoveryreadiness.UntagResourceOutput)

	UpdateCell(*route53recoveryreadiness.UpdateCellInput) (*route53recoveryreadiness.UpdateCellOutput, error)
	UpdateCellWithContext(aws.Context, *route53recoveryreadiness.UpdateCellInput, ...request.Option) (*route53recoveryreadiness.UpdateCellOutput, error)
	UpdateCellRequest(*route53recoveryreadiness.UpdateCellInput) (*request.Request, *route53recoveryreadiness.UpdateCellOutput)

	UpdateReadinessCheck(*route53recoveryreadiness.UpdateReadinessCheckInput) (*route53recoveryreadiness.UpdateReadinessCheckOutput, error)
	UpdateReadinessCheckWithContext(aws.Context, *route53recoveryreadiness.UpdateReadinessCheckInput, ...request.Option) (*route53recoveryreadiness.UpdateReadinessCheckOutput, error)
	UpdateReadinessCheckRequest(*route53recoveryreadiness.UpdateReadinessCheckInput) (*request.Request, *route53recoveryreadiness.UpdateReadinessCheckOutput)

	UpdateRecoveryGroup(*route53recoveryreadiness.UpdateRecoveryGroupInput) (*route53recoveryreadiness.UpdateRecoveryGroupOutput, error)
	UpdateRecoveryGroupWithContext(aws.Context, *route53recoveryreadiness.UpdateRecoveryGroupInput, ...request.Option) (*route53recoveryreadiness.UpdateRecoveryGroupOutput, error)
	UpdateRecoveryGroupRequest(*route53recoveryreadiness.UpdateRecoveryGroupInput) (*request.Request, *route53recoveryreadiness.UpdateRecoveryGroupOutput)

	UpdateResourceSet(*route53recoveryreadiness.UpdateResourceSetInput) (*route53recoveryreadiness.UpdateResourceSetOutput, error)
	UpdateResourceSetWithContext(aws.Context, *route53recoveryreadiness.UpdateResourceSetInput, ...request.Option) (*route53recoveryreadiness.UpdateResourceSetOutput, error)
	UpdateResourceSetRequest(*route53recoveryreadiness.UpdateResourceSetInput) (*request.Request, *route53recoveryreadiness.UpdateResourceSetOutput)
}

var _ Route53RecoveryReadinessAPI = (*route53recoveryreadiness.Route53RecoveryReadiness)(nil)