forked from cloudtools/troposphere
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathefs.py
More file actions
129 lines (99 loc) · 3.62 KB
/
efs.py
File metadata and controls
129 lines (99 loc) · 3.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# Copyright (c) 2012-2022, Mark Peek <[email protected]>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean
from .validators.efs import Bursting # noqa: F401
from .validators.efs import Provisioned # noqa: F401
from .validators.efs import (
provisioned_throughput_validator,
throughput_mode_validator,
validate_backup_policy,
)
class PosixUser(AWSProperty):
"""
`PosixUser <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-posixuser.html>`__
"""
props: PropsDictType = {
"Gid": (str, True),
"SecondaryGids": ([str], False),
"Uid": (str, True),
}
class CreationInfo(AWSProperty):
"""
`CreationInfo <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html>`__
"""
props: PropsDictType = {
"OwnerGid": (str, True),
"OwnerUid": (str, True),
"Permissions": (str, True),
}
class RootDirectory(AWSProperty):
"""
`RootDirectory <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-rootdirectory.html>`__
"""
props: PropsDictType = {
"CreationInfo": (CreationInfo, False),
"Path": (str, False),
}
class AccessPoint(AWSObject):
"""
`AccessPoint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html>`__
"""
resource_type = "AWS::EFS::AccessPoint"
props: PropsDictType = {
"AccessPointTags": (Tags, False),
"ClientToken": (str, False),
"FileSystemId": (str, True),
"PosixUser": (PosixUser, False),
"RootDirectory": (RootDirectory, False),
}
class BackupPolicy(AWSProperty):
"""
`BackupPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-backuppolicy.html>`__
"""
props: PropsDictType = {
"Status": (str, True),
}
def validate(self):
validate_backup_policy(self)
class LifecyclePolicy(AWSProperty):
"""
`LifecyclePolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-lifecyclepolicy.html>`__
"""
props: PropsDictType = {
"TransitionToIA": (str, False),
"TransitionToPrimaryStorageClass": (str, False),
}
class FileSystem(AWSObject):
"""
`FileSystem <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html>`__
"""
resource_type = "AWS::EFS::FileSystem"
props: PropsDictType = {
"AvailabilityZoneName": (str, False),
"BackupPolicy": (BackupPolicy, False),
"BypassPolicyLockoutSafetyCheck": (boolean, False),
"Encrypted": (boolean, False),
"FileSystemPolicy": (dict, False),
"FileSystemTags": (Tags, False),
"KmsKeyId": (str, False),
"LifecyclePolicies": ([LifecyclePolicy], False),
"PerformanceMode": (str, False),
"ProvisionedThroughputInMibps": (provisioned_throughput_validator, False),
"ThroughputMode": (throughput_mode_validator, False),
}
class MountTarget(AWSObject):
"""
`MountTarget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html>`__
"""
resource_type = "AWS::EFS::MountTarget"
props: PropsDictType = {
"FileSystemId": (str, True),
"IpAddress": (str, False),
"SecurityGroups": ([str], True),
"SubnetId": (str, True),
}