@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
257 lines (256 loc) • 9.07 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* 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:
*
* * [API documentation](https://cloud.google.com/container-analysis/api/reference/rest/)
* * How-to Guides
* * [Creating Attestations (Occurrences)](https://cloud.google.com/binary-authorization/docs/making-attestations)
* * [Official Documentation](https://cloud.google.com/container-analysis/)
*
* ## Example Usage
*
* ### Container Analysis Note Basic
*
* ```typescript
* 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",
* },
* },
* });
* ```
* ### Container Analysis Note Attestation Full
*
* ```typescript
* 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
*
* 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:
*
* ```sh
* $ pulumi import gcp:containeranalysis/note:Note default projects/{{project}}/notes/{{name}}
* ```
*
* ```sh
* $ pulumi import gcp:containeranalysis/note:Note default {{project}}/{{name}}
* ```
*
* ```sh
* $ pulumi import gcp:containeranalysis/note:Note default {{name}}
* ```
*/
export declare class Note extends pulumi.CustomResource {
/**
* Get an existing Note resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NoteState, opts?: pulumi.CustomResourceOptions): Note;
/**
* Returns true if the given object is an instance of Note. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Note;
/**
* 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.
*/
readonly attestationAuthority: pulumi.Output<outputs.containeranalysis.NoteAttestationAuthority>;
/**
* The time this note was created.
*/
readonly createTime: pulumi.Output<string>;
/**
* Time of expiration for this note. Leave empty if note does not expire.
*/
readonly expirationTime: pulumi.Output<string | undefined>;
/**
* The type of analysis this note describes
*/
readonly kind: pulumi.Output<string>;
/**
* A detailed description of the note
*/
readonly longDescription: pulumi.Output<string | undefined>;
/**
* The name of the note.
*/
readonly name: pulumi.Output<string>;
readonly project: pulumi.Output<string>;
/**
* Names of other notes related to this note.
*/
readonly relatedNoteNames: pulumi.Output<string[] | undefined>;
/**
* URLs associated with this note and related metadata.
*/
readonly relatedUrls: pulumi.Output<outputs.containeranalysis.NoteRelatedUrl[] | undefined>;
/**
* A one sentence description of the note.
*/
readonly shortDescription: pulumi.Output<string | undefined>;
/**
* The time this note was last updated.
*/
readonly updateTime: pulumi.Output<string>;
/**
* Create a Note resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: NoteArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Note resources.
*/
export interface NoteState {
/**
* 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.
*/
attestationAuthority?: pulumi.Input<inputs.containeranalysis.NoteAttestationAuthority>;
/**
* The time this note was created.
*/
createTime?: pulumi.Input<string>;
/**
* Time of expiration for this note. Leave empty if note does not expire.
*/
expirationTime?: pulumi.Input<string>;
/**
* The type of analysis this note describes
*/
kind?: pulumi.Input<string>;
/**
* A detailed description of the note
*/
longDescription?: pulumi.Input<string>;
/**
* The name of the note.
*/
name?: pulumi.Input<string>;
project?: pulumi.Input<string>;
/**
* Names of other notes related to this note.
*/
relatedNoteNames?: pulumi.Input<pulumi.Input<string>[]>;
/**
* URLs associated with this note and related metadata.
*/
relatedUrls?: pulumi.Input<pulumi.Input<inputs.containeranalysis.NoteRelatedUrl>[]>;
/**
* A one sentence description of the note.
*/
shortDescription?: pulumi.Input<string>;
/**
* The time this note was last updated.
*/
updateTime?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a Note resource.
*/
export interface NoteArgs {
/**
* 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.
*/
attestationAuthority: pulumi.Input<inputs.containeranalysis.NoteAttestationAuthority>;
/**
* Time of expiration for this note. Leave empty if note does not expire.
*/
expirationTime?: pulumi.Input<string>;
/**
* A detailed description of the note
*/
longDescription?: pulumi.Input<string>;
/**
* The name of the note.
*/
name?: pulumi.Input<string>;
project?: pulumi.Input<string>;
/**
* Names of other notes related to this note.
*/
relatedNoteNames?: pulumi.Input<pulumi.Input<string>[]>;
/**
* URLs associated with this note and related metadata.
*/
relatedUrls?: pulumi.Input<pulumi.Input<inputs.containeranalysis.NoteRelatedUrl>[]>;
/**
* A one sentence description of the note.
*/
shortDescription?: pulumi.Input<string>;
}