CREATE ORGANIZATION LISTING

Create an organization listing to share data products securely within your organization.

Syntax

CREATE ORGANIZATION LISTING [ IF NOT EXISTS ] <name>
  [ { SHARE <share_name>  |  APPLICATION PACKAGE <package_name> } ]
  AS '<yaml_manifest_string>'
  [ PUBLISH = { TRUE | FALSE } ]
Copy

Parameters

name

Specifies the identifier (name) for the listing. It must conform to the following:

  • Must be unique within an account, regardless of which Snowflake Region the account is located in. The Uniform Listing Locator (ULL) must be unique within an organization.

  • Cannot contain embedded dollar signs.

  • Must conform to Snowflake identifier requirements. See Identifier requirements.

SHARE share_name

Specifies the identifier for the share to attach to the listing.

APPLICATION PACKAGE package_name

Specifies the application package attached to the listing.

See also SHOW APPLICATION PACKAGES.

AS 'yaml_manifest_string'

The YAML manifest for the organization profile. For manifest field details and examples, see Organization listing manifest reference.

Manifests are normally provided as dollar-quoted strings. For more information, see Dollar-quoted string constants.

PUBLISH = { TRUE | FALSE }

Specifies how to publish the listing.

If TRUE, the listing is published to the Internal Marketplace immediately.

Default: TRUE.

Access control requirements

A role used to execute this operation must have the following privileges at a minimum:

Privilege

Object

Notes

CREATE ORGANIZATION LISTING or CREATE LISTING

Account

To create and alter organization listings.

A role used to execute this SQL command must have at least one of the following privileges at a minimum:

Privilege

Object

Notes

CREATE ORGANIZATION LISTING

ACCOUNT

To attach the specified share or the specified Snowflake Native App Framework to a listing. When specifying a Snowflake Native App Framework, OWNERSHIP or ATTACH LISTING are also required.

IMPORT ORGANIZATION LISTING

ACCOUNT

To mount a listing or to execute a query that uses a Uniform Listing Locator (ULL) to reference an organizational listing.

Usage notes

  • Listings created using CREATE ORGANIZATION LISTING … are automatically published.

Examples

This example creates a listing named MYORGLISTING using the settings specified in the manifest YAML. It targets one role in one account in one region and includes support and approver contacts.

Note

support_contact is required. approver_contact is required if a discovery target is provided.

USE ROLE <organization_listing_role>;

CREATE ORGANIZATION LISTING MYORGLISTING
SHARE <share_name> AS
$$
title: "My title"
description: "One region, all accounts"
organization_profile: "INTERNAL"
organization_targets:
discovery:
   - account: "<account_name>"
     roles:
     - "<role>"
access:
   - account: "<account_name>"
     roles:
     - "<role>"
support_contact: "support@somedomain.com"
approver_contact: "approver@somedomain.com"
locations:
   access_regions:
   - name: "PUBLIC.<snowflake_region>"
$$
;
Copy