diff options
author | Devtools Arcadia <arcadia-devtools@yandex-team.ru> | 2022-02-07 18:08:42 +0300 |
---|---|---|
committer | Devtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net> | 2022-02-07 18:08:42 +0300 |
commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h | |
download | ydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h')
-rw-r--r-- | contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h new file mode 100644 index 0000000000..4d6cb56867 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include <aws/s3/S3_EXPORTS.h> + +#include <aws/core/client/AWSError.h> +#include <aws/core/utils/ARN.h> +#include <aws/s3/S3Errors.h> + +namespace Aws +{ + namespace Utils + { + template<typename R, typename E> class Outcome; + } + + namespace S3 + { + namespace ARNResourceType + { + static const char ACCESSPOINT[] = "accesspoint"; + static const char OUTPOST[] = "outpost"; + } + + typedef Aws::Utils::Outcome<bool, Aws::Client::AWSError<S3Errors>> S3ARNOutcome; + + class AWS_S3_API S3ARN : public Aws::Utils::ARN + { + public: + S3ARN(const Aws::String& arn); + + const Aws::String& GetResourceType() const { return m_resourceType; } + const Aws::String& GetResourceId() const { return m_resourceId; } + const Aws::String& GetSubResourceType() const { return m_subResourceType; } + const Aws::String& GetSubResourceId() const { return m_subResourceId; } + const Aws::String& GetResourceQualifier() const { return m_resourceQualifier; } + + // Check if S3ARN is valid. + S3ARNOutcome Validate() const; + // Check if S3ARN is valid, and especially, ARN region should match the region specified. + S3ARNOutcome Validate(const char* region) const; + + private: + void ParseARNResource(); + + Aws::String m_resourceType; + Aws::String m_resourceId; + Aws::String m_subResourceType; + Aws::String m_subResourceId; + Aws::String m_resourceQualifier; + }; + } +} |