diff --git a/cmd/api-errors.go b/cmd/api-errors.go index 48336e89d..638cac996 100644 --- a/cmd/api-errors.go +++ b/cmd/api-errors.go @@ -280,6 +280,7 @@ const ( ErrSiteReplicationBucketConfigError ErrSiteReplicationBucketMetaError ErrSiteReplicationIAMError + ErrSiteReplicationConfigMissing // Bucket Quota error codes ErrAdminBucketQuotaExceeded @@ -1340,7 +1341,11 @@ var errorCodes = errorCodeMap{ Description: "Error while replicating an IAM item", HTTPStatusCode: http.StatusServiceUnavailable, }, - + ErrSiteReplicationConfigMissing: { + Code: "XMinioSiteReplicationConfigMissingError", + Description: "Site not found in site replication configuration", + HTTPStatusCode: http.StatusBadRequest, + }, ErrMaximumExpires: { Code: "AuthorizationQueryParametersError", Description: "X-Amz-Expires must be less than a week (in seconds); that is, the given X-Amz-Expires must be less than 604800 seconds", diff --git a/cmd/apierrorcode_string.go b/cmd/apierrorcode_string.go index d772faf4b..47b1c4189 100644 --- a/cmd/apierrorcode_string.go +++ b/cmd/apierrorcode_string.go @@ -194,113 +194,114 @@ func _() { _ = x[ErrSiteReplicationBucketConfigError-183] _ = x[ErrSiteReplicationBucketMetaError-184] _ = x[ErrSiteReplicationIAMError-185] - _ = x[ErrAdminBucketQuotaExceeded-186] - _ = x[ErrAdminNoSuchQuotaConfiguration-187] - _ = x[ErrHealNotImplemented-188] - _ = x[ErrHealNoSuchProcess-189] - _ = x[ErrHealInvalidClientToken-190] - _ = x[ErrHealMissingBucket-191] - _ = x[ErrHealAlreadyRunning-192] - _ = x[ErrHealOverlappingPaths-193] - _ = x[ErrIncorrectContinuationToken-194] - _ = x[ErrEmptyRequestBody-195] - _ = x[ErrUnsupportedFunction-196] - _ = x[ErrInvalidExpressionType-197] - _ = x[ErrBusy-198] - _ = x[ErrUnauthorizedAccess-199] - _ = x[ErrExpressionTooLong-200] - _ = x[ErrIllegalSQLFunctionArgument-201] - _ = x[ErrInvalidKeyPath-202] - _ = x[ErrInvalidCompressionFormat-203] - _ = x[ErrInvalidFileHeaderInfo-204] - _ = x[ErrInvalidJSONType-205] - _ = x[ErrInvalidQuoteFields-206] - _ = x[ErrInvalidRequestParameter-207] - _ = x[ErrInvalidDataType-208] - _ = x[ErrInvalidTextEncoding-209] - _ = x[ErrInvalidDataSource-210] - _ = x[ErrInvalidTableAlias-211] - _ = x[ErrMissingRequiredParameter-212] - _ = x[ErrObjectSerializationConflict-213] - _ = x[ErrUnsupportedSQLOperation-214] - _ = x[ErrUnsupportedSQLStructure-215] - _ = x[ErrUnsupportedSyntax-216] - _ = x[ErrUnsupportedRangeHeader-217] - _ = x[ErrLexerInvalidChar-218] - _ = x[ErrLexerInvalidOperator-219] - _ = x[ErrLexerInvalidLiteral-220] - _ = x[ErrLexerInvalidIONLiteral-221] - _ = x[ErrParseExpectedDatePart-222] - _ = x[ErrParseExpectedKeyword-223] - _ = x[ErrParseExpectedTokenType-224] - _ = x[ErrParseExpected2TokenTypes-225] - _ = x[ErrParseExpectedNumber-226] - _ = x[ErrParseExpectedRightParenBuiltinFunctionCall-227] - _ = x[ErrParseExpectedTypeName-228] - _ = x[ErrParseExpectedWhenClause-229] - _ = x[ErrParseUnsupportedToken-230] - _ = x[ErrParseUnsupportedLiteralsGroupBy-231] - _ = x[ErrParseExpectedMember-232] - _ = x[ErrParseUnsupportedSelect-233] - _ = x[ErrParseUnsupportedCase-234] - _ = x[ErrParseUnsupportedCaseClause-235] - _ = x[ErrParseUnsupportedAlias-236] - _ = x[ErrParseUnsupportedSyntax-237] - _ = x[ErrParseUnknownOperator-238] - _ = x[ErrParseMissingIdentAfterAt-239] - _ = x[ErrParseUnexpectedOperator-240] - _ = x[ErrParseUnexpectedTerm-241] - _ = x[ErrParseUnexpectedToken-242] - _ = x[ErrParseUnexpectedKeyword-243] - _ = x[ErrParseExpectedExpression-244] - _ = x[ErrParseExpectedLeftParenAfterCast-245] - _ = x[ErrParseExpectedLeftParenValueConstructor-246] - _ = x[ErrParseExpectedLeftParenBuiltinFunctionCall-247] - _ = x[ErrParseExpectedArgumentDelimiter-248] - _ = x[ErrParseCastArity-249] - _ = x[ErrParseInvalidTypeParam-250] - _ = x[ErrParseEmptySelect-251] - _ = x[ErrParseSelectMissingFrom-252] - _ = x[ErrParseExpectedIdentForGroupName-253] - _ = x[ErrParseExpectedIdentForAlias-254] - _ = x[ErrParseUnsupportedCallWithStar-255] - _ = x[ErrParseNonUnaryAgregateFunctionCall-256] - _ = x[ErrParseMalformedJoin-257] - _ = x[ErrParseExpectedIdentForAt-258] - _ = x[ErrParseAsteriskIsNotAloneInSelectList-259] - _ = x[ErrParseCannotMixSqbAndWildcardInSelectList-260] - _ = x[ErrParseInvalidContextForWildcardInSelectList-261] - _ = x[ErrIncorrectSQLFunctionArgumentType-262] - _ = x[ErrValueParseFailure-263] - _ = x[ErrEvaluatorInvalidArguments-264] - _ = x[ErrIntegerOverflow-265] - _ = x[ErrLikeInvalidInputs-266] - _ = x[ErrCastFailed-267] - _ = x[ErrInvalidCast-268] - _ = x[ErrEvaluatorInvalidTimestampFormatPattern-269] - _ = x[ErrEvaluatorInvalidTimestampFormatPatternSymbolForParsing-270] - _ = x[ErrEvaluatorTimestampFormatPatternDuplicateFields-271] - _ = x[ErrEvaluatorTimestampFormatPatternHourClockAmPmMismatch-272] - _ = x[ErrEvaluatorUnterminatedTimestampFormatPatternToken-273] - _ = x[ErrEvaluatorInvalidTimestampFormatPatternToken-274] - _ = x[ErrEvaluatorInvalidTimestampFormatPatternSymbol-275] - _ = x[ErrEvaluatorBindingDoesNotExist-276] - _ = x[ErrMissingHeaders-277] - _ = x[ErrInvalidColumnIndex-278] - _ = x[ErrAdminConfigNotificationTargetsFailed-279] - _ = x[ErrAdminProfilerNotEnabled-280] - _ = x[ErrInvalidDecompressedSize-281] - _ = x[ErrAddUserInvalidArgument-282] - _ = x[ErrAdminResourceInvalidArgument-283] - _ = x[ErrAdminAccountNotEligible-284] - _ = x[ErrAccountNotEligible-285] - _ = x[ErrAdminServiceAccountNotFound-286] - _ = x[ErrPostPolicyConditionInvalidFormat-287] + _ = x[ErrSiteReplicationConfigMissing-186] + _ = x[ErrAdminBucketQuotaExceeded-187] + _ = x[ErrAdminNoSuchQuotaConfiguration-188] + _ = x[ErrHealNotImplemented-189] + _ = x[ErrHealNoSuchProcess-190] + _ = x[ErrHealInvalidClientToken-191] + _ = x[ErrHealMissingBucket-192] + _ = x[ErrHealAlreadyRunning-193] + _ = x[ErrHealOverlappingPaths-194] + _ = x[ErrIncorrectContinuationToken-195] + _ = x[ErrEmptyRequestBody-196] + _ = x[ErrUnsupportedFunction-197] + _ = x[ErrInvalidExpressionType-198] + _ = x[ErrBusy-199] + _ = x[ErrUnauthorizedAccess-200] + _ = x[ErrExpressionTooLong-201] + _ = x[ErrIllegalSQLFunctionArgument-202] + _ = x[ErrInvalidKeyPath-203] + _ = x[ErrInvalidCompressionFormat-204] + _ = x[ErrInvalidFileHeaderInfo-205] + _ = x[ErrInvalidJSONType-206] + _ = x[ErrInvalidQuoteFields-207] + _ = x[ErrInvalidRequestParameter-208] + _ = x[ErrInvalidDataType-209] + _ = x[ErrInvalidTextEncoding-210] + _ = x[ErrInvalidDataSource-211] + _ = x[ErrInvalidTableAlias-212] + _ = x[ErrMissingRequiredParameter-213] + _ = x[ErrObjectSerializationConflict-214] + _ = x[ErrUnsupportedSQLOperation-215] + _ = x[ErrUnsupportedSQLStructure-216] + _ = x[ErrUnsupportedSyntax-217] + _ = x[ErrUnsupportedRangeHeader-218] + _ = x[ErrLexerInvalidChar-219] + _ = x[ErrLexerInvalidOperator-220] + _ = x[ErrLexerInvalidLiteral-221] + _ = x[ErrLexerInvalidIONLiteral-222] + _ = x[ErrParseExpectedDatePart-223] + _ = x[ErrParseExpectedKeyword-224] + _ = x[ErrParseExpectedTokenType-225] + _ = x[ErrParseExpected2TokenTypes-226] + _ = x[ErrParseExpectedNumber-227] + _ = x[ErrParseExpectedRightParenBuiltinFunctionCall-228] + _ = x[ErrParseExpectedTypeName-229] + _ = x[ErrParseExpectedWhenClause-230] + _ = x[ErrParseUnsupportedToken-231] + _ = x[ErrParseUnsupportedLiteralsGroupBy-232] + _ = x[ErrParseExpectedMember-233] + _ = x[ErrParseUnsupportedSelect-234] + _ = x[ErrParseUnsupportedCase-235] + _ = x[ErrParseUnsupportedCaseClause-236] + _ = x[ErrParseUnsupportedAlias-237] + _ = x[ErrParseUnsupportedSyntax-238] + _ = x[ErrParseUnknownOperator-239] + _ = x[ErrParseMissingIdentAfterAt-240] + _ = x[ErrParseUnexpectedOperator-241] + _ = x[ErrParseUnexpectedTerm-242] + _ = x[ErrParseUnexpectedToken-243] + _ = x[ErrParseUnexpectedKeyword-244] + _ = x[ErrParseExpectedExpression-245] + _ = x[ErrParseExpectedLeftParenAfterCast-246] + _ = x[ErrParseExpectedLeftParenValueConstructor-247] + _ = x[ErrParseExpectedLeftParenBuiltinFunctionCall-248] + _ = x[ErrParseExpectedArgumentDelimiter-249] + _ = x[ErrParseCastArity-250] + _ = x[ErrParseInvalidTypeParam-251] + _ = x[ErrParseEmptySelect-252] + _ = x[ErrParseSelectMissingFrom-253] + _ = x[ErrParseExpectedIdentForGroupName-254] + _ = x[ErrParseExpectedIdentForAlias-255] + _ = x[ErrParseUnsupportedCallWithStar-256] + _ = x[ErrParseNonUnaryAgregateFunctionCall-257] + _ = x[ErrParseMalformedJoin-258] + _ = x[ErrParseExpectedIdentForAt-259] + _ = x[ErrParseAsteriskIsNotAloneInSelectList-260] + _ = x[ErrParseCannotMixSqbAndWildcardInSelectList-261] + _ = x[ErrParseInvalidContextForWildcardInSelectList-262] + _ = x[ErrIncorrectSQLFunctionArgumentType-263] + _ = x[ErrValueParseFailure-264] + _ = x[ErrEvaluatorInvalidArguments-265] + _ = x[ErrIntegerOverflow-266] + _ = x[ErrLikeInvalidInputs-267] + _ = x[ErrCastFailed-268] + _ = x[ErrInvalidCast-269] + _ = x[ErrEvaluatorInvalidTimestampFormatPattern-270] + _ = x[ErrEvaluatorInvalidTimestampFormatPatternSymbolForParsing-271] + _ = x[ErrEvaluatorTimestampFormatPatternDuplicateFields-272] + _ = x[ErrEvaluatorTimestampFormatPatternHourClockAmPmMismatch-273] + _ = x[ErrEvaluatorUnterminatedTimestampFormatPatternToken-274] + _ = x[ErrEvaluatorInvalidTimestampFormatPatternToken-275] + _ = x[ErrEvaluatorInvalidTimestampFormatPatternSymbol-276] + _ = x[ErrEvaluatorBindingDoesNotExist-277] + _ = x[ErrMissingHeaders-278] + _ = x[ErrInvalidColumnIndex-279] + _ = x[ErrAdminConfigNotificationTargetsFailed-280] + _ = x[ErrAdminProfilerNotEnabled-281] + _ = x[ErrInvalidDecompressedSize-282] + _ = x[ErrAddUserInvalidArgument-283] + _ = x[ErrAdminResourceInvalidArgument-284] + _ = x[ErrAdminAccountNotEligible-285] + _ = x[ErrAccountNotEligible-286] + _ = x[ErrAdminServiceAccountNotFound-287] + _ = x[ErrPostPolicyConditionInvalidFormat-288] } -const _APIErrorCode_name = "NoneAccessDeniedBadDigestEntityTooSmallEntityTooLargePolicyTooLargeIncompleteBodyInternalErrorInvalidAccessKeyIDAccessKeyDisabledInvalidBucketNameInvalidDigestInvalidRangeInvalidRangePartNumberInvalidCopyPartRangeInvalidCopyPartRangeSourceInvalidMaxKeysInvalidEncodingMethodInvalidMaxUploadsInvalidMaxPartsInvalidPartNumberMarkerInvalidPartNumberInvalidRequestBodyInvalidCopySourceInvalidMetadataDirectiveInvalidCopyDestInvalidPolicyDocumentInvalidObjectStateMalformedXMLMissingContentLengthMissingContentMD5MissingRequestBodyErrorMissingSecurityHeaderNoSuchBucketNoSuchBucketPolicyNoSuchBucketLifecycleNoSuchLifecycleConfigurationInvalidLifecycleWithObjectLockNoSuchBucketSSEConfigNoSuchCORSConfigurationNoSuchWebsiteConfigurationReplicationConfigurationNotFoundErrorRemoteDestinationNotFoundErrorReplicationDestinationMissingLockRemoteTargetNotFoundErrorReplicationRemoteConnectionErrorReplicationBandwidthLimitErrorBucketRemoteIdenticalToSourceBucketRemoteAlreadyExistsBucketRemoteLabelInUseBucketRemoteArnTypeInvalidBucketRemoteArnInvalidBucketRemoteRemoveDisallowedRemoteTargetNotVersionedErrorReplicationSourceNotVersionedErrorReplicationNeedsVersioningErrorReplicationBucketNeedsVersioningErrorReplicationDenyEditErrorReplicationNoMatchingRuleErrorObjectRestoreAlreadyInProgressNoSuchKeyNoSuchUploadInvalidVersionIDNoSuchVersionNotImplementedPreconditionFailedRequestTimeTooSkewedSignatureDoesNotMatchMethodNotAllowedInvalidPartInvalidPartOrderAuthorizationHeaderMalformedMalformedPOSTRequestPOSTFileRequiredSignatureVersionNotSupportedBucketNotEmptyAllAccessDisabledMalformedPolicyMissingFieldsMissingCredTagCredMalformedInvalidRegionInvalidServiceS3InvalidServiceSTSInvalidRequestVersionMissingSignTagMissingSignHeadersTagMalformedDateMalformedPresignedDateMalformedCredentialDateMalformedCredentialRegionMalformedExpiresNegativeExpiresAuthHeaderEmptyExpiredPresignRequestRequestNotReadyYetUnsignedHeadersMissingDateHeaderInvalidQuerySignatureAlgoInvalidQueryParamsBucketAlreadyOwnedByYouInvalidDurationBucketAlreadyExistsMetadataTooLargeUnsupportedMetadataMaximumExpiresSlowDownInvalidPrefixMarkerBadRequestKeyTooLongErrorInvalidBucketObjectLockConfigurationObjectLockConfigurationNotFoundObjectLockConfigurationNotAllowedNoSuchObjectLockConfigurationObjectLockedInvalidRetentionDatePastObjectLockRetainDateUnknownWORMModeDirectiveBucketTaggingNotFoundObjectLockInvalidHeadersInvalidTagDirectiveInvalidEncryptionMethodInsecureSSECustomerRequestSSEMultipartEncryptedSSEEncryptedObjectInvalidEncryptionParametersInvalidSSECustomerAlgorithmInvalidSSECustomerKeyMissingSSECustomerKeyMissingSSECustomerKeyMD5SSECustomerKeyMD5MismatchInvalidSSECustomerParametersIncompatibleEncryptionMethodKMSNotConfiguredKMSKeyNotFoundExceptionNoAccessKeyInvalidTokenEventNotificationARNNotificationRegionNotificationOverlappingFilterNotificationFilterNameInvalidFilterNamePrefixFilterNameSuffixFilterValueInvalidOverlappingConfigsUnsupportedNotificationContentSHA256MismatchReadQuorumWriteQuorumStorageFullRequestBodyParseObjectExistsAsDirectoryInvalidObjectNameInvalidObjectNamePrefixSlashInvalidResourceNameServerNotInitializedOperationTimedOutClientDisconnectedOperationMaxedOutInvalidRequestTransitionStorageClassNotFoundErrorInvalidStorageClassBackendDownMalformedJSONAdminNoSuchUserAdminNoSuchGroupAdminGroupNotEmptyAdminNoSuchPolicyAdminInvalidArgumentAdminInvalidAccessKeyAdminInvalidSecretKeyAdminConfigNoQuorumAdminConfigTooLargeAdminConfigBadJSONAdminConfigDuplicateKeysAdminCredentialsMismatchInsecureClientRequestObjectTamperedSiteReplicationInvalidRequestSiteReplicationPeerRespSiteReplicationBackendIssueSiteReplicationServiceAccountErrorSiteReplicationBucketConfigErrorSiteReplicationBucketMetaErrorSiteReplicationIAMErrorAdminBucketQuotaExceededAdminNoSuchQuotaConfigurationHealNotImplementedHealNoSuchProcessHealInvalidClientTokenHealMissingBucketHealAlreadyRunningHealOverlappingPathsIncorrectContinuationTokenEmptyRequestBodyUnsupportedFunctionInvalidExpressionTypeBusyUnauthorizedAccessExpressionTooLongIllegalSQLFunctionArgumentInvalidKeyPathInvalidCompressionFormatInvalidFileHeaderInfoInvalidJSONTypeInvalidQuoteFieldsInvalidRequestParameterInvalidDataTypeInvalidTextEncodingInvalidDataSourceInvalidTableAliasMissingRequiredParameterObjectSerializationConflictUnsupportedSQLOperationUnsupportedSQLStructureUnsupportedSyntaxUnsupportedRangeHeaderLexerInvalidCharLexerInvalidOperatorLexerInvalidLiteralLexerInvalidIONLiteralParseExpectedDatePartParseExpectedKeywordParseExpectedTokenTypeParseExpected2TokenTypesParseExpectedNumberParseExpectedRightParenBuiltinFunctionCallParseExpectedTypeNameParseExpectedWhenClauseParseUnsupportedTokenParseUnsupportedLiteralsGroupByParseExpectedMemberParseUnsupportedSelectParseUnsupportedCaseParseUnsupportedCaseClauseParseUnsupportedAliasParseUnsupportedSyntaxParseUnknownOperatorParseMissingIdentAfterAtParseUnexpectedOperatorParseUnexpectedTermParseUnexpectedTokenParseUnexpectedKeywordParseExpectedExpressionParseExpectedLeftParenAfterCastParseExpectedLeftParenValueConstructorParseExpectedLeftParenBuiltinFunctionCallParseExpectedArgumentDelimiterParseCastArityParseInvalidTypeParamParseEmptySelectParseSelectMissingFromParseExpectedIdentForGroupNameParseExpectedIdentForAliasParseUnsupportedCallWithStarParseNonUnaryAgregateFunctionCallParseMalformedJoinParseExpectedIdentForAtParseAsteriskIsNotAloneInSelectListParseCannotMixSqbAndWildcardInSelectListParseInvalidContextForWildcardInSelectListIncorrectSQLFunctionArgumentTypeValueParseFailureEvaluatorInvalidArgumentsIntegerOverflowLikeInvalidInputsCastFailedInvalidCastEvaluatorInvalidTimestampFormatPatternEvaluatorInvalidTimestampFormatPatternSymbolForParsingEvaluatorTimestampFormatPatternDuplicateFieldsEvaluatorTimestampFormatPatternHourClockAmPmMismatchEvaluatorUnterminatedTimestampFormatPatternTokenEvaluatorInvalidTimestampFormatPatternTokenEvaluatorInvalidTimestampFormatPatternSymbolEvaluatorBindingDoesNotExistMissingHeadersInvalidColumnIndexAdminConfigNotificationTargetsFailedAdminProfilerNotEnabledInvalidDecompressedSizeAddUserInvalidArgumentAdminResourceInvalidArgumentAdminAccountNotEligibleAccountNotEligibleAdminServiceAccountNotFoundPostPolicyConditionInvalidFormat" +const _APIErrorCode_name = "NoneAccessDeniedBadDigestEntityTooSmallEntityTooLargePolicyTooLargeIncompleteBodyInternalErrorInvalidAccessKeyIDAccessKeyDisabledInvalidBucketNameInvalidDigestInvalidRangeInvalidRangePartNumberInvalidCopyPartRangeInvalidCopyPartRangeSourceInvalidMaxKeysInvalidEncodingMethodInvalidMaxUploadsInvalidMaxPartsInvalidPartNumberMarkerInvalidPartNumberInvalidRequestBodyInvalidCopySourceInvalidMetadataDirectiveInvalidCopyDestInvalidPolicyDocumentInvalidObjectStateMalformedXMLMissingContentLengthMissingContentMD5MissingRequestBodyErrorMissingSecurityHeaderNoSuchBucketNoSuchBucketPolicyNoSuchBucketLifecycleNoSuchLifecycleConfigurationInvalidLifecycleWithObjectLockNoSuchBucketSSEConfigNoSuchCORSConfigurationNoSuchWebsiteConfigurationReplicationConfigurationNotFoundErrorRemoteDestinationNotFoundErrorReplicationDestinationMissingLockRemoteTargetNotFoundErrorReplicationRemoteConnectionErrorReplicationBandwidthLimitErrorBucketRemoteIdenticalToSourceBucketRemoteAlreadyExistsBucketRemoteLabelInUseBucketRemoteArnTypeInvalidBucketRemoteArnInvalidBucketRemoteRemoveDisallowedRemoteTargetNotVersionedErrorReplicationSourceNotVersionedErrorReplicationNeedsVersioningErrorReplicationBucketNeedsVersioningErrorReplicationDenyEditErrorReplicationNoMatchingRuleErrorObjectRestoreAlreadyInProgressNoSuchKeyNoSuchUploadInvalidVersionIDNoSuchVersionNotImplementedPreconditionFailedRequestTimeTooSkewedSignatureDoesNotMatchMethodNotAllowedInvalidPartInvalidPartOrderAuthorizationHeaderMalformedMalformedPOSTRequestPOSTFileRequiredSignatureVersionNotSupportedBucketNotEmptyAllAccessDisabledMalformedPolicyMissingFieldsMissingCredTagCredMalformedInvalidRegionInvalidServiceS3InvalidServiceSTSInvalidRequestVersionMissingSignTagMissingSignHeadersTagMalformedDateMalformedPresignedDateMalformedCredentialDateMalformedCredentialRegionMalformedExpiresNegativeExpiresAuthHeaderEmptyExpiredPresignRequestRequestNotReadyYetUnsignedHeadersMissingDateHeaderInvalidQuerySignatureAlgoInvalidQueryParamsBucketAlreadyOwnedByYouInvalidDurationBucketAlreadyExistsMetadataTooLargeUnsupportedMetadataMaximumExpiresSlowDownInvalidPrefixMarkerBadRequestKeyTooLongErrorInvalidBucketObjectLockConfigurationObjectLockConfigurationNotFoundObjectLockConfigurationNotAllowedNoSuchObjectLockConfigurationObjectLockedInvalidRetentionDatePastObjectLockRetainDateUnknownWORMModeDirectiveBucketTaggingNotFoundObjectLockInvalidHeadersInvalidTagDirectiveInvalidEncryptionMethodInsecureSSECustomerRequestSSEMultipartEncryptedSSEEncryptedObjectInvalidEncryptionParametersInvalidSSECustomerAlgorithmInvalidSSECustomerKeyMissingSSECustomerKeyMissingSSECustomerKeyMD5SSECustomerKeyMD5MismatchInvalidSSECustomerParametersIncompatibleEncryptionMethodKMSNotConfiguredKMSKeyNotFoundExceptionNoAccessKeyInvalidTokenEventNotificationARNNotificationRegionNotificationOverlappingFilterNotificationFilterNameInvalidFilterNamePrefixFilterNameSuffixFilterValueInvalidOverlappingConfigsUnsupportedNotificationContentSHA256MismatchReadQuorumWriteQuorumStorageFullRequestBodyParseObjectExistsAsDirectoryInvalidObjectNameInvalidObjectNamePrefixSlashInvalidResourceNameServerNotInitializedOperationTimedOutClientDisconnectedOperationMaxedOutInvalidRequestTransitionStorageClassNotFoundErrorInvalidStorageClassBackendDownMalformedJSONAdminNoSuchUserAdminNoSuchGroupAdminGroupNotEmptyAdminNoSuchPolicyAdminInvalidArgumentAdminInvalidAccessKeyAdminInvalidSecretKeyAdminConfigNoQuorumAdminConfigTooLargeAdminConfigBadJSONAdminConfigDuplicateKeysAdminCredentialsMismatchInsecureClientRequestObjectTamperedSiteReplicationInvalidRequestSiteReplicationPeerRespSiteReplicationBackendIssueSiteReplicationServiceAccountErrorSiteReplicationBucketConfigErrorSiteReplicationBucketMetaErrorSiteReplicationIAMErrorSiteReplicationConfigMissingAdminBucketQuotaExceededAdminNoSuchQuotaConfigurationHealNotImplementedHealNoSuchProcessHealInvalidClientTokenHealMissingBucketHealAlreadyRunningHealOverlappingPathsIncorrectContinuationTokenEmptyRequestBodyUnsupportedFunctionInvalidExpressionTypeBusyUnauthorizedAccessExpressionTooLongIllegalSQLFunctionArgumentInvalidKeyPathInvalidCompressionFormatInvalidFileHeaderInfoInvalidJSONTypeInvalidQuoteFieldsInvalidRequestParameterInvalidDataTypeInvalidTextEncodingInvalidDataSourceInvalidTableAliasMissingRequiredParameterObjectSerializationConflictUnsupportedSQLOperationUnsupportedSQLStructureUnsupportedSyntaxUnsupportedRangeHeaderLexerInvalidCharLexerInvalidOperatorLexerInvalidLiteralLexerInvalidIONLiteralParseExpectedDatePartParseExpectedKeywordParseExpectedTokenTypeParseExpected2TokenTypesParseExpectedNumberParseExpectedRightParenBuiltinFunctionCallParseExpectedTypeNameParseExpectedWhenClauseParseUnsupportedTokenParseUnsupportedLiteralsGroupByParseExpectedMemberParseUnsupportedSelectParseUnsupportedCaseParseUnsupportedCaseClauseParseUnsupportedAliasParseUnsupportedSyntaxParseUnknownOperatorParseMissingIdentAfterAtParseUnexpectedOperatorParseUnexpectedTermParseUnexpectedTokenParseUnexpectedKeywordParseExpectedExpressionParseExpectedLeftParenAfterCastParseExpectedLeftParenValueConstructorParseExpectedLeftParenBuiltinFunctionCallParseExpectedArgumentDelimiterParseCastArityParseInvalidTypeParamParseEmptySelectParseSelectMissingFromParseExpectedIdentForGroupNameParseExpectedIdentForAliasParseUnsupportedCallWithStarParseNonUnaryAgregateFunctionCallParseMalformedJoinParseExpectedIdentForAtParseAsteriskIsNotAloneInSelectListParseCannotMixSqbAndWildcardInSelectListParseInvalidContextForWildcardInSelectListIncorrectSQLFunctionArgumentTypeValueParseFailureEvaluatorInvalidArgumentsIntegerOverflowLikeInvalidInputsCastFailedInvalidCastEvaluatorInvalidTimestampFormatPatternEvaluatorInvalidTimestampFormatPatternSymbolForParsingEvaluatorTimestampFormatPatternDuplicateFieldsEvaluatorTimestampFormatPatternHourClockAmPmMismatchEvaluatorUnterminatedTimestampFormatPatternTokenEvaluatorInvalidTimestampFormatPatternTokenEvaluatorInvalidTimestampFormatPatternSymbolEvaluatorBindingDoesNotExistMissingHeadersInvalidColumnIndexAdminConfigNotificationTargetsFailedAdminProfilerNotEnabledInvalidDecompressedSizeAddUserInvalidArgumentAdminResourceInvalidArgumentAdminAccountNotEligibleAccountNotEligibleAdminServiceAccountNotFoundPostPolicyConditionInvalidFormat" -var _APIErrorCode_index = [...]uint16{0, 4, 16, 25, 39, 53, 67, 81, 94, 112, 129, 146, 159, 171, 193, 213, 239, 253, 274, 291, 306, 329, 346, 364, 381, 405, 420, 441, 459, 471, 491, 508, 531, 552, 564, 582, 603, 631, 661, 682, 705, 731, 768, 798, 831, 856, 888, 918, 947, 972, 994, 1020, 1042, 1070, 1099, 1133, 1164, 1201, 1225, 1255, 1285, 1294, 1306, 1322, 1335, 1349, 1367, 1387, 1408, 1424, 1435, 1451, 1479, 1499, 1515, 1543, 1557, 1574, 1589, 1602, 1616, 1629, 1642, 1658, 1675, 1696, 1710, 1731, 1744, 1766, 1789, 1814, 1830, 1845, 1860, 1881, 1899, 1914, 1931, 1956, 1974, 1997, 2012, 2031, 2047, 2066, 2080, 2088, 2107, 2117, 2132, 2168, 2199, 2232, 2261, 2273, 2293, 2317, 2341, 2362, 2386, 2405, 2428, 2454, 2475, 2493, 2520, 2547, 2568, 2589, 2613, 2638, 2666, 2694, 2710, 2733, 2744, 2756, 2773, 2788, 2806, 2835, 2852, 2868, 2884, 2902, 2920, 2943, 2964, 2974, 2985, 2996, 3012, 3035, 3052, 3080, 3099, 3119, 3136, 3154, 3171, 3185, 3220, 3239, 3250, 3263, 3278, 3294, 3312, 3329, 3349, 3370, 3391, 3410, 3429, 3447, 3471, 3495, 3516, 3530, 3559, 3582, 3609, 3643, 3675, 3705, 3728, 3752, 3781, 3799, 3816, 3838, 3855, 3873, 3893, 3919, 3935, 3954, 3975, 3979, 3997, 4014, 4040, 4054, 4078, 4099, 4114, 4132, 4155, 4170, 4189, 4206, 4223, 4247, 4274, 4297, 4320, 4337, 4359, 4375, 4395, 4414, 4436, 4457, 4477, 4499, 4523, 4542, 4584, 4605, 4628, 4649, 4680, 4699, 4721, 4741, 4767, 4788, 4810, 4830, 4854, 4877, 4896, 4916, 4938, 4961, 4992, 5030, 5071, 5101, 5115, 5136, 5152, 5174, 5204, 5230, 5258, 5291, 5309, 5332, 5367, 5407, 5449, 5481, 5498, 5523, 5538, 5555, 5565, 5576, 5614, 5668, 5714, 5766, 5814, 5857, 5901, 5929, 5943, 5961, 5997, 6020, 6043, 6065, 6093, 6116, 6134, 6161, 6193} +var _APIErrorCode_index = [...]uint16{0, 4, 16, 25, 39, 53, 67, 81, 94, 112, 129, 146, 159, 171, 193, 213, 239, 253, 274, 291, 306, 329, 346, 364, 381, 405, 420, 441, 459, 471, 491, 508, 531, 552, 564, 582, 603, 631, 661, 682, 705, 731, 768, 798, 831, 856, 888, 918, 947, 972, 994, 1020, 1042, 1070, 1099, 1133, 1164, 1201, 1225, 1255, 1285, 1294, 1306, 1322, 1335, 1349, 1367, 1387, 1408, 1424, 1435, 1451, 1479, 1499, 1515, 1543, 1557, 1574, 1589, 1602, 1616, 1629, 1642, 1658, 1675, 1696, 1710, 1731, 1744, 1766, 1789, 1814, 1830, 1845, 1860, 1881, 1899, 1914, 1931, 1956, 1974, 1997, 2012, 2031, 2047, 2066, 2080, 2088, 2107, 2117, 2132, 2168, 2199, 2232, 2261, 2273, 2293, 2317, 2341, 2362, 2386, 2405, 2428, 2454, 2475, 2493, 2520, 2547, 2568, 2589, 2613, 2638, 2666, 2694, 2710, 2733, 2744, 2756, 2773, 2788, 2806, 2835, 2852, 2868, 2884, 2902, 2920, 2943, 2964, 2974, 2985, 2996, 3012, 3035, 3052, 3080, 3099, 3119, 3136, 3154, 3171, 3185, 3220, 3239, 3250, 3263, 3278, 3294, 3312, 3329, 3349, 3370, 3391, 3410, 3429, 3447, 3471, 3495, 3516, 3530, 3559, 3582, 3609, 3643, 3675, 3705, 3728, 3756, 3780, 3809, 3827, 3844, 3866, 3883, 3901, 3921, 3947, 3963, 3982, 4003, 4007, 4025, 4042, 4068, 4082, 4106, 4127, 4142, 4160, 4183, 4198, 4217, 4234, 4251, 4275, 4302, 4325, 4348, 4365, 4387, 4403, 4423, 4442, 4464, 4485, 4505, 4527, 4551, 4570, 4612, 4633, 4656, 4677, 4708, 4727, 4749, 4769, 4795, 4816, 4838, 4858, 4882, 4905, 4924, 4944, 4966, 4989, 5020, 5058, 5099, 5129, 5143, 5164, 5180, 5202, 5232, 5258, 5286, 5319, 5337, 5360, 5395, 5435, 5477, 5509, 5526, 5551, 5566, 5583, 5593, 5604, 5642, 5696, 5742, 5794, 5842, 5885, 5929, 5957, 5971, 5989, 6025, 6048, 6071, 6093, 6121, 6144, 6162, 6189, 6221} func (i APIErrorCode) String() string { if i < 0 || i >= APIErrorCode(len(_APIErrorCode_index)-1) { diff --git a/cmd/site-replication.go b/cmd/site-replication.go index 99ce4fac9..eedd3752d 100644 --- a/cmd/site-replication.go +++ b/cmd/site-replication.go @@ -126,6 +126,13 @@ func errSRIAMError(err error) SRError { } } +func errSRConfigMissingError(err error) SRError { + return SRError{ + Cause: err, + Code: ErrSiteReplicationConfigMissing, + } +} + var errSRObjectLayerNotReady = SRError{ Cause: fmt.Errorf("object layer not ready"), Code: ErrServerNotInitialized, @@ -1848,6 +1855,8 @@ func (c *SiteReplicationSys) isEnabled() bool { return c.enabled } +var errMissingSRConfig = fmt.Errorf("Site not found in site replication configuration") + // RemovePeerCluster - removes one or more clusters from site replication configuration. func (c *SiteReplicationSys) RemovePeerCluster(ctx context.Context, objectAPI ObjectLayer, rreq madmin.SRRemoveReq) (st madmin.ReplicateRemoveStatus, err error) { if !c.isEnabled() { @@ -1872,7 +1881,7 @@ func (c *SiteReplicationSys) RemovePeerCluster(ctx context.Context, objectAPI Ob for _, s := range siteNames { info, ok := peerMap[s] if !ok { - return st, errSRInvalidRequest(fmt.Errorf("Site %s not found in site replication configuration", s)) + return st, errSRConfigMissingError(errMissingSRConfig) } rmvEndpoints = append(rmvEndpoints, info.Endpoint) delete(updatedPeers, info.DeploymentID) @@ -1898,6 +1907,9 @@ func (c *SiteReplicationSys) RemovePeerCluster(ctx context.Context, objectAPI Ob return } if _, err = admClient.SRPeerRemove(ctx, rreq); err != nil { + if errors.As(err, &errMissingSRConfig) { + return + } errs[pi.DeploymentID] = errSRPeerResp(fmt.Errorf("unable to update peer %s: %w", pi.Name, err)) return } @@ -1937,6 +1949,10 @@ func (c *SiteReplicationSys) RemovePeerCluster(ctx context.Context, objectAPI Ob // InternalRemoveReq - sends an unlink request to peer cluster to remove one or more sites // from the site replication configuration. func (c *SiteReplicationSys) InternalRemoveReq(ctx context.Context, objectAPI ObjectLayer, rreq madmin.SRRemoveReq) error { + if !c.isEnabled() { + return errSRNotEnabled + } + ourName := "" peerMap := make(map[string]madmin.PeerInfo) updatedPeers := make(map[string]madmin.PeerInfo) @@ -1958,7 +1974,7 @@ func (c *SiteReplicationSys) InternalRemoveReq(ctx context.Context, objectAPI Ob for _, s := range siteNames { info, ok := peerMap[s] if !ok { - return fmt.Errorf("Site %s not found in site replication configuration", s) + return errMissingSRConfig } if info.DeploymentID == globalDeploymentID { unlinkSelf = true