1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #ifndef CEPH_RGW_POLICY_S3V2_KEYWORDS_H
5 #define CEPH_RGW_POLICY_S3V2_KEYWORDS_H
10 enum class TokenKind {
11 pseudo, top, statement, cond_op, cond_key, version_key, effect_key,
20 Version, Id, Statement,
22 /// Statement level tokens
23 Sid, Effect, Principal, NotPrincipal, Action, NotAction,
24 Resource, NotResource, Condition,
26 /// Condition Operators!
27 /// Any of these, except Null, can have an IfExists variant.
30 StringEquals, StringNotEquals, StringEqualsIgnoreCase,
31 StringNotEqualsIgnoreCase, StringLike, StringNotLike,
34 NumericEquals, NumericNotEquals, NumericLessThan, NumericLessThanEquals,
35 NumericGreaterThan, NumericGreaterThanEquals,
38 DateEquals, DateNotEquals, DateLessThan, DateLessThanEquals,
39 DateGreaterThan, DateGreaterThanEquals,
48 IpAddress, NotIpAddress,
50 // Amazon Resource Names! (Does S3 need this?)
51 ArnEquals, ArnNotEquals, ArnLike, ArnNotLike,
56 #if 0 // Keys are done at runtime now
62 awsMultiFactorAuthPresent,
63 awsMultiFactorAuthAge,
75 s3x_amz_grant_permission,
77 s3x_amz_server_side_encryption,
78 s3x_amz_server_side_encryption_aws_kms_key_id,
79 s3x_amz_metadata_directive,
80 s3x_amz_storage_class,
89 s3x_amz_content_sha256,
139 #endif // CEPH_RGW_POLICY_S3V2_KEYWORDS_H