ALTER LISTING¶
Modifies the properties of a listings with an inline YAML manifest, or from a file located in a stage location.
Syntax¶
ALTER LISTING [ IF EXISTS ] <name> [ { PUBLISH | UNPUBLISH | REVIEW } ]
ALTER LISTING [ IF EXISTS ] <name> AS '<yaml_manifest_string>'
[ PUBLISH={ TRUE | FALSE } ]
[ REVIEW= { TRUE | FALSE } ]
[ COMMENT = '<string>' ]
ALTER LISTING <name> ADD VERSION [ [ IF NOT EXISTS ] <version_name> ]
FROM <yaml_manifest_stage_location>
[ COMMENT = '<string>' ]
ALTER LISTING [ IF EXISTS ] <name> RENAME TO <new_name>;
ALTER LISTING [ IF EXISTS ] <name> SET COMMENT = '<string>'
Parameters¶
name
Specifies the identifier (name) for the listing being altered.
{ PUBLISH | UNPUBLISH | REVIEW }
The action to perform on the listing:
PUBLISH
Makes a previously undiscoverable listing discoverable.Specifying PUBLISH on a previously published listing has no effect.
UNPUBLISH
Makes a previously discoverable listing undiscoverable for new consumers. Existing consumers can continue to access the data associated with an unpublished listing.Specifying UNPUBLISH on a previously unpublished listing has no effect.
See also Unpublish a listing.
REVIEW
Submits the listing for review.
yaml_manifest_string
The YAML manifest for the listing. For manifest parameters, see Listing manifest reference.
Manifests are normally provided as dollar quoted strings. For more information, see Dollar-quoted string constants.
ADD VERSION version_name
Specifies the unique version identifier for the version being added. If the identifier contains spaces, special characters, or mixed-case characters, the entire identifier must be enclosed in double quotes. Identifiers enclosed in double quotes are also case sensitive. For information about identifier syntax, see Identifier Requirements.
FROM 'yaml_manifest_stage_location'
Specifies the path for the internal or repository stage manifest.yml file. If the changes require Marketplace Ops review, use the REVIEW and PUBLISH operations.
RENAME TO new_name
Changes the name of the listing to
new_name
. Listing names must be unique. The new identifier cannot be used if the identifier is already in use for a different listing.
SET ...
Specifies one (or more) properties to set for the listing (separated by blank spaces, commas, or new lines).
COMMENT = 'string_literal'
Adds a comment or overwrites the existing comment for an existing listing.
PUBLISH = { TRUE | FALSE }
Specifies how the listing should be published.
If TRUE, listing is published immediately on listing to Marketplace Ops for review.
Default: TRUE.
REVIEW = { TRUE | FALSE }
Specifies whether the listing should or should not submitted to Marketplace Ops review.
Default: TRUE.
Different combinations of values for the PUBLISH and REVIEW properties result in the following behaviors:
PUBLISH |
REVIEW |
Behavior |
---|---|---|
TRUE |
TRUE |
Request review then immediately publish after approval. |
TRUE |
FALSE |
Results in an error. You cannot publish a listing on the Snowflake Marketplace without review. |
FALSE |
TRUE |
Request a review without publishing automatically after review. |
FALSE |
FALSE |
Save your listing as a draft without requesting review or publishing. |
Usage notes¶
Listings can be renamed only in DRAFT state.
When setting the live version of the YAML format manifest for a listing, you must use
COMMIT
to apply the changes, orABORT
to discard the changes.
Access control requirements¶
A role used to execute this operation must have the following privileges at a minimum:
Privilege |
Object |
Notes |
---|---|---|
OWNERSHIP or MODIFY |
On the listing being modified. |
If you’re using the ALTER command to modify the manifest content for auto-fulfillment, you must use a role with the delegated privileges necessary to configure cross-cloud auto-fulfillment. See Allow accounts to set up Cross-Cloud Auto-Fulfillment.
The USAGE privilege on the parent database and schema are required to perform operations on any object in a schema.
For instructions on creating a custom role with a specified set of privileges, see Creating custom roles.
For general information about roles and privilege grants for performing SQL actions on securable objects, see Overview of Access Control.
Examples¶
Alters the listing MYLISTING to use an updated manifest file:
ALTER LISTING MYLISTING AS $$ title: "MyListing" subtitle: "Subtitle for MyListing" description: "Description or MyListing" listing_terms: type: "STANDARD" targets: accounts: ["Org1.Account1"] usage_examples: - title: "this is a test sql" description: "Simple example" query: "select *" $$
Submits the listing MYLISTING for review:
ALTER LISTING MYLISTING REVIEW;
Alters the listing MYLISTING by publishing it:
ALTER LISTING MYLISTING PUBLISH;
Alters the listing MYLISTING by unpublishing it:
ALTER LISTING MYLISTING UNPUBLISH;
Alters the listing MYLISTING by setting a new comment:
ALTER LISTING MYLISTING SET COMMENT = 'My listing is ready!';
Adds a new version from the specified YAML manifest file stage location:
ALTER LISTING MYLISTING ADD VERSION V3 FROM @dbforstage.public.listingstage/listingmanifests;