github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/kubernetes-operator-pp/dotnet/kubernetes-operator.cs (about) 1 using System.Collections.Generic; 2 using Pulumi; 3 using Kubernetes = Pulumi.Kubernetes; 4 5 return await Deployment.RunAsync(() => 6 { 7 var pulumi_kubernetes_operatorDeployment = new Kubernetes.Apps.V1.Deployment("pulumi_kubernetes_operatorDeployment", new() 8 { 9 ApiVersion = "apps/v1", 10 Kind = "Deployment", 11 Metadata = new Kubernetes.Types.Inputs.Meta.V1.ObjectMetaArgs 12 { 13 Name = "pulumi-kubernetes-operator", 14 }, 15 Spec = new Kubernetes.Types.Inputs.Apps.V1.DeploymentSpecArgs 16 { 17 Replicas = 1, 18 Selector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs 19 { 20 MatchLabels = 21 { 22 { "name", "pulumi-kubernetes-operator" }, 23 }, 24 }, 25 Template = new Kubernetes.Types.Inputs.Core.V1.PodTemplateSpecArgs 26 { 27 Metadata = new Kubernetes.Types.Inputs.Meta.V1.ObjectMetaArgs 28 { 29 Labels = 30 { 31 { "name", "pulumi-kubernetes-operator" }, 32 }, 33 }, 34 Spec = new Kubernetes.Types.Inputs.Core.V1.PodSpecArgs 35 { 36 ServiceAccountName = "pulumi-kubernetes-operator", 37 ImagePullSecrets = new[] 38 { 39 new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs 40 { 41 Name = "pulumi-kubernetes-operator", 42 }, 43 }, 44 Containers = new[] 45 { 46 new Kubernetes.Types.Inputs.Core.V1.ContainerArgs 47 { 48 Name = "pulumi-kubernetes-operator", 49 Image = "pulumi/pulumi-kubernetes-operator:v0.0.2", 50 Command = new[] 51 { 52 "pulumi-kubernetes-operator", 53 }, 54 Args = new[] 55 { 56 "--zap-level=debug", 57 }, 58 ImagePullPolicy = "Always", 59 Env = new[] 60 { 61 new Kubernetes.Types.Inputs.Core.V1.EnvVarArgs 62 { 63 Name = "WATCH_NAMESPACE", 64 ValueFrom = new Kubernetes.Types.Inputs.Core.V1.EnvVarSourceArgs 65 { 66 FieldRef = new Kubernetes.Types.Inputs.Core.V1.ObjectFieldSelectorArgs 67 { 68 FieldPath = "metadata.namespace", 69 }, 70 }, 71 }, 72 new Kubernetes.Types.Inputs.Core.V1.EnvVarArgs 73 { 74 Name = "POD_NAME", 75 ValueFrom = new Kubernetes.Types.Inputs.Core.V1.EnvVarSourceArgs 76 { 77 FieldRef = new Kubernetes.Types.Inputs.Core.V1.ObjectFieldSelectorArgs 78 { 79 FieldPath = "metadata.name", 80 }, 81 }, 82 }, 83 new Kubernetes.Types.Inputs.Core.V1.EnvVarArgs 84 { 85 Name = "OPERATOR_NAME", 86 Value = "pulumi-kubernetes-operator", 87 }, 88 }, 89 }, 90 }, 91 }, 92 }, 93 }, 94 }); 95 96 var pulumi_kubernetes_operatorRole = new Kubernetes.Rbac.V1.Role("pulumi_kubernetes_operatorRole", new() 97 { 98 ApiVersion = "rbac.authorization.k8s.io/v1", 99 Kind = "Role", 100 Metadata = new Kubernetes.Types.Inputs.Meta.V1.ObjectMetaArgs 101 { 102 CreationTimestamp = null, 103 Name = "pulumi-kubernetes-operator", 104 }, 105 Rules = new[] 106 { 107 new Kubernetes.Types.Inputs.Rbac.V1.PolicyRuleArgs 108 { 109 ApiGroups = new[] 110 { 111 "", 112 }, 113 Resources = new[] 114 { 115 "pods", 116 "services", 117 "services/finalizers", 118 "endpoints", 119 "persistentvolumeclaims", 120 "events", 121 "configmaps", 122 "secrets", 123 }, 124 Verbs = new[] 125 { 126 "create", 127 "delete", 128 "get", 129 "list", 130 "patch", 131 "update", 132 "watch", 133 }, 134 }, 135 new Kubernetes.Types.Inputs.Rbac.V1.PolicyRuleArgs 136 { 137 ApiGroups = new[] 138 { 139 "apps", 140 }, 141 Resources = new[] 142 { 143 "deployments", 144 "daemonsets", 145 "replicasets", 146 "statefulsets", 147 }, 148 Verbs = new[] 149 { 150 "create", 151 "delete", 152 "get", 153 "list", 154 "patch", 155 "update", 156 "watch", 157 }, 158 }, 159 new Kubernetes.Types.Inputs.Rbac.V1.PolicyRuleArgs 160 { 161 ApiGroups = new[] 162 { 163 "monitoring.coreos.com", 164 }, 165 Resources = new[] 166 { 167 "servicemonitors", 168 }, 169 Verbs = new[] 170 { 171 "get", 172 "create", 173 }, 174 }, 175 new Kubernetes.Types.Inputs.Rbac.V1.PolicyRuleArgs 176 { 177 ApiGroups = new[] 178 { 179 "apps", 180 }, 181 ResourceNames = new[] 182 { 183 "pulumi-kubernetes-operator", 184 }, 185 Resources = new[] 186 { 187 "deployments/finalizers", 188 }, 189 Verbs = new[] 190 { 191 "update", 192 }, 193 }, 194 new Kubernetes.Types.Inputs.Rbac.V1.PolicyRuleArgs 195 { 196 ApiGroups = new[] 197 { 198 "", 199 }, 200 Resources = new[] 201 { 202 "pods", 203 }, 204 Verbs = new[] 205 { 206 "get", 207 }, 208 }, 209 new Kubernetes.Types.Inputs.Rbac.V1.PolicyRuleArgs 210 { 211 ApiGroups = new[] 212 { 213 "apps", 214 }, 215 Resources = new[] 216 { 217 "replicasets", 218 "deployments", 219 }, 220 Verbs = new[] 221 { 222 "get", 223 }, 224 }, 225 new Kubernetes.Types.Inputs.Rbac.V1.PolicyRuleArgs 226 { 227 ApiGroups = new[] 228 { 229 "pulumi.com", 230 }, 231 Resources = new[] 232 { 233 "*", 234 }, 235 Verbs = new[] 236 { 237 "create", 238 "delete", 239 "get", 240 "list", 241 "patch", 242 "update", 243 "watch", 244 }, 245 }, 246 }, 247 }); 248 249 var pulumi_kubernetes_operatorRoleBinding = new Kubernetes.Rbac.V1.RoleBinding("pulumi_kubernetes_operatorRoleBinding", new() 250 { 251 Kind = "RoleBinding", 252 ApiVersion = "rbac.authorization.k8s.io/v1", 253 Metadata = new Kubernetes.Types.Inputs.Meta.V1.ObjectMetaArgs 254 { 255 Name = "pulumi-kubernetes-operator", 256 }, 257 Subjects = new[] 258 { 259 new Kubernetes.Types.Inputs.Rbac.V1.SubjectArgs 260 { 261 Kind = "ServiceAccount", 262 Name = "pulumi-kubernetes-operator", 263 }, 264 }, 265 RoleRef = new Kubernetes.Types.Inputs.Rbac.V1.RoleRefArgs 266 { 267 Kind = "Role", 268 Name = "pulumi-kubernetes-operator", 269 ApiGroup = "rbac.authorization.k8s.io", 270 }, 271 }); 272 273 var pulumi_kubernetes_operatorServiceAccount = new Kubernetes.Core.V1.ServiceAccount("pulumi_kubernetes_operatorServiceAccount", new() 274 { 275 ApiVersion = "v1", 276 Kind = "ServiceAccount", 277 Metadata = new Kubernetes.Types.Inputs.Meta.V1.ObjectMetaArgs 278 { 279 Name = "pulumi-kubernetes-operator", 280 }, 281 }); 282 283 }); 284