aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h
diff options
context:
space:
mode:
authorDevtools Arcadia <arcadia-devtools@yandex-team.ru>2022-02-07 18:08:42 +0300
committerDevtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net>2022-02-07 18:08:42 +0300
commit1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch)
treee26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h
downloadydb-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.h57
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;
+ };
+ }
+}