-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcloudsoft-terraform-infrastructure.json
108 lines (108 loc) · 3.21 KB
/
cloudsoft-terraform-infrastructure.json
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
{
"typeName": "Cloudsoft::Terraform::Infrastructure",
"description": "The Cloudsoft::Terraform::Infrastructure resource creates and manages a terraform template, through an existing terraform server",
"sourceUrl": "https://github.com/cloudsoft/aws-cfn-connector-for-terraform",
"definitions": {
"ConfigurationContent": {
"description": "Inlined Terraform Configuration, passed to the Terraform server",
"type": "string"
},
"ConfigurationUrl": {
"description": "Public HTTP URL of a Terraform Configuration, to be downloaded by the connector and passed to the Terraform server",
"type": "string"
},
"ConfigurationS3Path": {
"description": "S3 path object representing a Terraform Configuration, to be downloaded by the connector and passed to the Terraform server (the current account must have access to this resource)",
"type": "string"
},
"Variables": {
"description": "Variables to set as part of the Terraform Configuration",
"type": "object"
}
},
"properties": {
"Identifier": {
"description": "Identifier for this deployment",
"type": "string"
},
"Outputs": {
"description": "Outputs produced by the Terraform configuration, as a map",
"type": "object"
},
"OutputsStringified": {
"description": "Outputs produced by the Terraform configuration, as a JSON-stringified representation of the Outputs map",
"type": "string"
},
"LogBucketName": {
"description": "Optional name of S3 bucket where logs will be transferred; if the bucket exists, it must be writeable by this resource provider's execution role; if it does not exist, it will be created (and never deleted) by this resource provider",
"type": "string"
},
"LogBucketUrl": {
"description": "URL to access the bucket where logs are written, if configured",
"type": "string"
},
"ConfigurationContent": {
"$ref": "#/definitions/ConfigurationContent"
},
"ConfigurationUrl": {
"$ref": "#/definitions/ConfigurationUrl"
},
"ConfigurationS3Path": {
"$ref": "#/definitions/ConfigurationS3Path"
},
"Variables": {
"$ref": "#/definitions/Variables"
}
},
"additionalProperties": false,
"primaryIdentifier": [
"/properties/Identifier"
],
"additionalIdentifiers": [
[ "/properties/LogBucketUrl" ]
],
"readOnlyProperties": [
"/properties/Identifier",
"/properties/Outputs",
"/properties/OutputsStringified",
"/properties/LogBucketUrl"
],
"handlers": {
"create": {
"permissions": [
"s3:GetObject",
"s3:GetObjectVersion",
"s3:PutObject",
"s3:CreateBucket",
"ssm:GetParameter"
]
},
"read": {
"permissions": [
"ssm:GetParameter"
]
},
"update": {
"permissions": [
"s3:GetObject",
"s3:GetObjectVersion",
"s3:PutObject",
"ssm:GetParameter"
]
},
"delete": {
"permissions": [
"s3:GetObject",
"s3:GetObjectVersion",
"s3:PutObject",
"s3:DeleteBucket",
"ssm:GetParameter"
]
},
"list": {
"permissions": [
"ssm:GetParameter"
]
}
}
}