Skip to content
v2.277.0

CfnOutputProps Struct ​

Example ​

ts
declare const cluster: eks.Cluster;
// add service account
const serviceAccount = cluster.addServiceAccount('MyServiceAccount');

const bucket = new s3.Bucket(this, 'Bucket');
bucket.grantReadWrite(serviceAccount);

const mypod = cluster.addManifest('mypod', {
  apiVersion: 'v1',
  kind: 'Pod',
  metadata: { name: 'mypod' },
  spec: {
    serviceAccountName: serviceAccount.serviceAccountName,
    containers: [
      {
        name: 'hello',
        image: 'paulbouwer/hello-kubernetes:1.5',
        ports: [ { containerPort: 8080 } ],
      },
    ],
  },
});

// create the resource after the service account.
mypod.node.addDependency(serviceAccount);

// print the IAM role arn for this service account
new CfnOutput(this, 'ServiceAccountIamRole', { value: serviceAccount.role.roleArn });
python
# cluster: eks.Cluster

# add service account
service_account = cluster.add_service_account("MyServiceAccount")

bucket = s3.Bucket(self, "Bucket")
bucket.grant_read_write(service_account)

mypod = cluster.add_manifest("mypod", {
    "api_version": "v1",
    "kind": "Pod",
    "metadata": {"name": "mypod"},
    "spec": {
        "service_account_name": service_account.service_account_name,
        "containers": [{
            "name": "hello",
            "image": "paulbouwer/hello-kubernetes:1.5",
            "ports": [{"container_port": 8080}]
        }
        ]
    }
})

# create the resource after the service account.
mypod.node.add_dependency(service_account)

# print the IAM role arn for this service account
CfnOutput(self, "ServiceAccountIamRole", value=service_account.role.role_arn)
java
Cluster cluster;

// add service account
ServiceAccount serviceAccount = cluster.addServiceAccount("MyServiceAccount");

Bucket bucket = new Bucket(this, "Bucket");
bucket.grantReadWrite(serviceAccount);

KubernetesManifest mypod = cluster.addManifest("mypod", Map.of(
        "apiVersion", "v1",
        "kind", "Pod",
        "metadata", Map.of("name", "mypod"),
        "spec", Map.of(
                "serviceAccountName", serviceAccount.getServiceAccountName(),
                "containers", List.of(Map.of(
                        "name", "hello",
                        "image", "paulbouwer/hello-kubernetes:1.5",
                        "ports", List.of(Map.of("containerPort", 8080)))))));

// create the resource after the service account.
mypod.node.addDependency(serviceAccount);

// print the IAM role arn for this service account
// print the IAM role arn for this service account
CfnOutput.Builder.create(this, "ServiceAccountIamRole").value(serviceAccount.getRole().getRoleArn()).build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
Cluster cluster;

// add service account
var serviceAccount = cluster.AddServiceAccount("MyServiceAccount");

var bucket = new Bucket(this, "Bucket");
bucket.GrantReadWrite(serviceAccount);

var mypod = cluster.AddManifest("mypod", new Dictionary<string, object> {
    { "apiVersion", "v1" },
    { "kind", "Pod" },
    { "metadata", new Dictionary<string, string> { { "name", "mypod" } } },
    { "spec", new Dictionary<string, object> {
        { "serviceAccountName", serviceAccount.ServiceAccountName },
        { "containers", new [] { new Struct {
            Name = "hello",
            Image = "paulbouwer/hello-kubernetes:1.5",
            Ports = new [] { new Struct { ContainerPort = 8080 } }
        } } }
    } }
});

// create the resource after the service account.
mypod.Node.AddDependency(serviceAccount);

// print the IAM role arn for this service account
// print the IAM role arn for this service account
new CfnOutput(this, "ServiceAccountIamRole", new CfnOutputProps { Value = serviceAccount.Role.RoleArn });
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
var cluster Cluster

// add service account
serviceAccount := cluster.addServiceAccount(jsii.String("MyServiceAccount"))

bucket := s3.NewBucket(this, jsii.String("Bucket"))
bucket.GrantReadWrite(serviceAccount)

mypod := cluster.addManifest(jsii.String("mypod"), map[string]interface{}{
	"apiVersion": jsii.String("v1"),
	"kind": jsii.String("Pod"),
	"metadata": map[string]*string{
		"name": jsii.String("mypod"),
	},
	"spec": map[string]interface{}{
		"serviceAccountName": serviceAccount.serviceAccountName,
		"containers": []map[string]interface{}{
			map[string]interface{}{
				"name": jsii.String("hello"),
				"image": jsii.String("paulbouwer/hello-kubernetes:1.5"),
				"ports": []map[string]*f64{
					map[string]*f64{
						"containerPort": jsii.Number(8080),
					},
				},
			},
		},
	},
})

// create the resource after the service account.
mypod.Node.AddDependency(serviceAccount)

// print the IAM role arn for this service account
// print the IAM role arn for this service account
awscdk.NewCfnOutput(this, jsii.String("ServiceAccountIamRole"), &CfnOutputProps{
	Value: serviceAccount.Role.RoleArn,
})

Properties ​

conditionoptionalCfnConditionconditionoptionalCfnConditionconditionoptionalCfnConditionConditionoptionalCfnConditionConditionoptionalCfnCondition#
A condition to associate with this output value.

Default: No condition is associated with the output.

If the condition evaluates to false, this output value will not be included in the stack.

descriptionoptionalstringdescriptionoptionalstrdescriptionoptionalStringDescriptionoptionalstringDescriptionoptional*string#
A String type that describes the output value.

Default: No description.

The description can be a maximum of 4 K in length.

exportNameoptionalstringexport_nameoptionalstrexportNameoptionalStringExportNameoptionalstringExportNameoptional*string#
The name used to export the value of this output across stacks.

Default: the output is not exported

To import the value from another stack, use Fn.importValue(exportName).

keyoptionalstringkeyoptionalstrkeyoptionalStringKeyoptionalstringKeyoptional*string#
The key of the property returned by aws cloudformation describe-stacks command.
valuestringvaluestrvalueStringValuestringValue*stringrequired#
The value of the property returned by the aws cloudformation describe-stacks command.

The value of an output can include literals, parameter references, pseudo-parameters, a mapping value, or intrinsic functions.