NoteArgs

data class NoteArgs(val attestationAuthority: Output<NoteAttestationAuthorityArgs>? = null, val expirationTime: Output<String>? = null, val longDescription: Output<String>? = null, val name: Output<String>? = null, val project: Output<String>? = null, val relatedNoteNames: Output<List<String>>? = null, val relatedUrls: Output<List<NoteRelatedUrlArgs>>? = null, val shortDescription: Output<String>? = null) : ConvertibleToJava<NoteArgs>

A Container Analysis note is a high-level piece of metadata that describes a type of analysis that can be done for a resource. To get more information about Note, see:

Example Usage

Container Analysis Note Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const note = new gcp.containeranalysis.Note("note", {
name: "attestor-note",
attestationAuthority: {
hint: {
humanReadableName: "Attestor Note",
},
},
});
import pulumi
import pulumi_gcp as gcp
note = gcp.containeranalysis.Note("note",
name="attestor-note",
attestation_authority={
"hint": {
"human_readable_name": "Attestor Note",
},
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var note = new Gcp.ContainerAnalysis.Note("note", new()
{
Name = "attestor-note",
AttestationAuthority = new Gcp.ContainerAnalysis.Inputs.NoteAttestationAuthorityArgs
{
Hint = new Gcp.ContainerAnalysis.Inputs.NoteAttestationAuthorityHintArgs
{
HumanReadableName = "Attestor Note",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/containeranalysis"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := containeranalysis.NewNote(ctx, "note", &containeranalysis.NoteArgs{
Name: pulumi.String("attestor-note"),
AttestationAuthority: &containeranalysis.NoteAttestationAuthorityArgs{
Hint: &containeranalysis.NoteAttestationAuthorityHintArgs{
HumanReadableName: pulumi.String("Attestor Note"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.containeranalysis.Note;
import com.pulumi.gcp.containeranalysis.NoteArgs;
import com.pulumi.gcp.containeranalysis.inputs.NoteAttestationAuthorityArgs;
import com.pulumi.gcp.containeranalysis.inputs.NoteAttestationAuthorityHintArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var note = new Note("note", NoteArgs.builder()
.name("attestor-note")
.attestationAuthority(NoteAttestationAuthorityArgs.builder()
.hint(NoteAttestationAuthorityHintArgs.builder()
.humanReadableName("Attestor Note")
.build())
.build())
.build());
}
}
resources:
note:
type: gcp:containeranalysis:Note
properties:
name: attestor-note
attestationAuthority:
hint:
humanReadableName: Attestor Note

Container Analysis Note Attestation Full

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const note = new gcp.containeranalysis.Note("note", {
name: "attestor-note",
shortDescription: "test note",
longDescription: "a longer description of test note",
expirationTime: "2120-10-02T15:01:23.045123456Z",
relatedUrls: [
{
url: "some.url",
label: "foo",
},
{
url: "google.com",
},
],
attestationAuthority: {
hint: {
humanReadableName: "Attestor Note",
},
},
});
import pulumi
import pulumi_gcp as gcp
note = gcp.containeranalysis.Note("note",
name="attestor-note",
short_description="test note",
long_description="a longer description of test note",
expiration_time="2120-10-02T15:01:23.045123456Z",
related_urls=[
{
"url": "some.url",
"label": "foo",
},
{
"url": "google.com",
},
],
attestation_authority={
"hint": {
"human_readable_name": "Attestor Note",
},
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var note = new Gcp.ContainerAnalysis.Note("note", new()
{
Name = "attestor-note",
ShortDescription = "test note",
LongDescription = "a longer description of test note",
ExpirationTime = "2120-10-02T15:01:23.045123456Z",
RelatedUrls = new[]
{
new Gcp.ContainerAnalysis.Inputs.NoteRelatedUrlArgs
{
Url = "some.url",
Label = "foo",
},
new Gcp.ContainerAnalysis.Inputs.NoteRelatedUrlArgs
{
Url = "google.com",
},
},
AttestationAuthority = new Gcp.ContainerAnalysis.Inputs.NoteAttestationAuthorityArgs
{
Hint = new Gcp.ContainerAnalysis.Inputs.NoteAttestationAuthorityHintArgs
{
HumanReadableName = "Attestor Note",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/containeranalysis"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := containeranalysis.NewNote(ctx, "note", &containeranalysis.NoteArgs{
Name: pulumi.String("attestor-note"),
ShortDescription: pulumi.String("test note"),
LongDescription: pulumi.String("a longer description of test note"),
ExpirationTime: pulumi.String("2120-10-02T15:01:23.045123456Z"),
RelatedUrls: containeranalysis.NoteRelatedUrlArray{
&containeranalysis.NoteRelatedUrlArgs{
Url: pulumi.String("some.url"),
Label: pulumi.String("foo"),
},
&containeranalysis.NoteRelatedUrlArgs{
Url: pulumi.String("google.com"),
},
},
AttestationAuthority: &containeranalysis.NoteAttestationAuthorityArgs{
Hint: &containeranalysis.NoteAttestationAuthorityHintArgs{
HumanReadableName: pulumi.String("Attestor Note"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.containeranalysis.Note;
import com.pulumi.gcp.containeranalysis.NoteArgs;
import com.pulumi.gcp.containeranalysis.inputs.NoteRelatedUrlArgs;
import com.pulumi.gcp.containeranalysis.inputs.NoteAttestationAuthorityArgs;
import com.pulumi.gcp.containeranalysis.inputs.NoteAttestationAuthorityHintArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var note = new Note("note", NoteArgs.builder()
.name("attestor-note")
.shortDescription("test note")
.longDescription("a longer description of test note")
.expirationTime("2120-10-02T15:01:23.045123456Z")
.relatedUrls(
NoteRelatedUrlArgs.builder()
.url("some.url")
.label("foo")
.build(),
NoteRelatedUrlArgs.builder()
.url("google.com")
.build())
.attestationAuthority(NoteAttestationAuthorityArgs.builder()
.hint(NoteAttestationAuthorityHintArgs.builder()
.humanReadableName("Attestor Note")
.build())
.build())
.build());
}
}
resources:
note:
type: gcp:containeranalysis:Note
properties:
name: attestor-note
shortDescription: test note
longDescription: a longer description of test note
expirationTime: 2120-10-02T15:01:23.045123456Z
relatedUrls:
- url: some.url
label: foo
- url: google.com
attestationAuthority:
hint:
humanReadableName: Attestor Note

Import

Note can be imported using any of these accepted formats:

  • projects/{{project}}/notes/{{name}}

  • {{project}}/{{name}}

  • {{name}} When using the pulumi import command, Note can be imported using one of the formats above. For example:

$ pulumi import gcp:containeranalysis/note:Note default projects/{{project}}/notes/{{name}}
$ pulumi import gcp:containeranalysis/note:Note default {{project}}/{{name}}
$ pulumi import gcp:containeranalysis/note:Note default {{name}}

Constructors

Link copied to clipboard
constructor(attestationAuthority: Output<NoteAttestationAuthorityArgs>? = null, expirationTime: Output<String>? = null, longDescription: Output<String>? = null, name: Output<String>? = null, project: Output<String>? = null, relatedNoteNames: Output<List<String>>? = null, relatedUrls: Output<List<NoteRelatedUrlArgs>>? = null, shortDescription: Output<String>? = null)

Properties

Link copied to clipboard

Note kind that represents a logical attestation "role" or "authority". For example, an organization might have one AttestationAuthority for "QA" and one for "build". This Note is intended to act strictly as a grouping mechanism for the attached Occurrences (Attestations). This grouping mechanism also provides a security boundary, since IAM ACLs gate the ability for a principle to attach an Occurrence to a given Note. It also provides a single point of lookup to find all attached Attestation Occurrences, even if they don't all live in the same project. Structure is documented below.

Link copied to clipboard
val expirationTime: Output<String>? = null

Time of expiration for this note. Leave empty if note does not expire.

Link copied to clipboard
val longDescription: Output<String>? = null

A detailed description of the note

Link copied to clipboard
val name: Output<String>? = null

The name of the note.

Link copied to clipboard
val project: Output<String>? = null
Link copied to clipboard
val relatedNoteNames: Output<List<String>>? = null

Names of other notes related to this note.

Link copied to clipboard
val relatedUrls: Output<List<NoteRelatedUrlArgs>>? = null

URLs associated with this note and related metadata.

Link copied to clipboard
val shortDescription: Output<String>? = null

A one sentence description of the note.

Functions

Link copied to clipboard
open override fun toJava(): NoteArgs