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