1. Packages
  2. Packages
  3. Ibm Provider
  4. API Docs
  5. getSchematicsKms
Viewing docs for ibm 2.3.0-beta0
published on Monday, Jun 15, 2026 by ibm-cloud
Viewing docs for ibm 2.3.0-beta0
published on Monday, Jun 15, 2026 by ibm-cloud

    Retrieve the KMS (Key Management Service) settings integrated with IBM Cloud Schematics for a given location. This enables retrieval of BYOK (Bring Your Own Key) and KYOK (Keep Your Own Key) configuration details per geographic region. For more information, about Schematics KMS settings, see Securing your data in Schematics.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as ibm from "@pulumi/ibm";
    
    const schematicsKms = ibm.getSchematicsKms({
        location: "us-south",
    });
    
    import pulumi
    import pulumi_ibm as ibm
    
    schematics_kms = ibm.get_schematics_kms(location="us-south")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ibm/v2/ibm"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ibm.GetSchematicsKms(ctx, &ibm.GetSchematicsKmsArgs{
    			Location: pulumi.StringRef("us-south"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ibm = Pulumi.Ibm;
    
    return await Deployment.RunAsync(() => 
    {
        var schematicsKms = Ibm.GetSchematicsKms.Invoke(new()
        {
            Location = "us-south",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ibm.IbmFunctions;
    import com.pulumi.ibm.inputs.GetSchematicsKmsArgs;
    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) {
            final var schematicsKms = IbmFunctions.getSchematicsKms(GetSchematicsKmsArgs.builder()
                .location("us-south")
                .build());
    
        }
    }
    
    variables:
      schematicsKms:
        fn::invoke:
          function: ibm:getSchematicsKms
          arguments:
            location: us-south
    
    Example coming soon!
    

    Using getSchematicsKms

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getSchematicsKms(args: GetSchematicsKmsArgs, opts?: InvokeOptions): Promise<GetSchematicsKmsResult>
    function getSchematicsKmsOutput(args: GetSchematicsKmsOutputArgs, opts?: InvokeOptions): Output<GetSchematicsKmsResult>
    def get_schematics_kms(id: Optional[str] = None,
                           location: Optional[str] = None,
                           opts: Optional[InvokeOptions] = None) -> GetSchematicsKmsResult
    def get_schematics_kms_output(id: pulumi.Input[Optional[str]] = None,
                           location: pulumi.Input[Optional[str]] = None,
                           opts: Optional[InvokeOptions] = None) -> Output[GetSchematicsKmsResult]
    func GetSchematicsKms(ctx *Context, args *GetSchematicsKmsArgs, opts ...InvokeOption) (*GetSchematicsKmsResult, error)
    func GetSchematicsKmsOutput(ctx *Context, args *GetSchematicsKmsOutputArgs, opts ...InvokeOption) GetSchematicsKmsResultOutput

    > Note: This function is named GetSchematicsKms in the Go SDK.

    public static class GetSchematicsKms 
    {
        public static Task<GetSchematicsKmsResult> InvokeAsync(GetSchematicsKmsArgs args, InvokeOptions? opts = null)
        public static Output<GetSchematicsKmsResult> Invoke(GetSchematicsKmsInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetSchematicsKmsResult> getSchematicsKms(GetSchematicsKmsArgs args, InvokeOptions options)
    public static Output<GetSchematicsKmsResult> getSchematicsKms(GetSchematicsKmsArgs args, InvokeOptions options)
    
    fn::invoke:
      function: ibm:index/getSchematicsKms:getSchematicsKms
      arguments:
        # arguments dictionary
    data "ibm_getschematicskms" "name" {
        # arguments
    }

    The following arguments are supported:

    Id string
    The unique identifier of the schematics_kms.
    Location string
    Location supported by IBM Cloud Schematics service.
    Id string
    The unique identifier of the schematics_kms.
    Location string
    Location supported by IBM Cloud Schematics service.
    id string
    The unique identifier of the schematics_kms.
    location string
    Location supported by IBM Cloud Schematics service.
    id String
    The unique identifier of the schematics_kms.
    location String
    Location supported by IBM Cloud Schematics service.
    id string
    The unique identifier of the schematics_kms.
    location string
    Location supported by IBM Cloud Schematics service.
    id str
    The unique identifier of the schematics_kms.
    location str
    Location supported by IBM Cloud Schematics service.
    id String
    The unique identifier of the schematics_kms.
    location String
    Location supported by IBM Cloud Schematics service.

    getSchematicsKms Result

    The following output properties are available:

    EncryptionScheme string
    (String) The encryption scheme values. Allowable values: byok, kyok.
    Id string
    The unique identifier of the schematics_kms.
    Location string
    PrimaryCrks List<GetSchematicsKmsPrimaryCrk>
    (List) The primary kms instance details. Nested scheme for primary_crk:
    ResourceGroup string
    (String) The kms instance resource group to integrate.
    SecondaryCrks List<GetSchematicsKmsSecondaryCrk>
    (List) The secondary kms instance details. Nested scheme for secondary_crk:
    EncryptionScheme string
    (String) The encryption scheme values. Allowable values: byok, kyok.
    Id string
    The unique identifier of the schematics_kms.
    Location string
    PrimaryCrks []GetSchematicsKmsPrimaryCrk
    (List) The primary kms instance details. Nested scheme for primary_crk:
    ResourceGroup string
    (String) The kms instance resource group to integrate.
    SecondaryCrks []GetSchematicsKmsSecondaryCrk
    (List) The secondary kms instance details. Nested scheme for secondary_crk:
    encryption_scheme string
    (String) The encryption scheme values. Allowable values: byok, kyok.
    id string
    The unique identifier of the schematics_kms.
    location string
    primary_crks list(object)
    (List) The primary kms instance details. Nested scheme for primary_crk:
    resource_group string
    (String) The kms instance resource group to integrate.
    secondary_crks list(object)
    (List) The secondary kms instance details. Nested scheme for secondary_crk:
    encryptionScheme String
    (String) The encryption scheme values. Allowable values: byok, kyok.
    id String
    The unique identifier of the schematics_kms.
    location String
    primaryCrks List<GetSchematicsKmsPrimaryCrk>
    (List) The primary kms instance details. Nested scheme for primary_crk:
    resourceGroup String
    (String) The kms instance resource group to integrate.
    secondaryCrks List<GetSchematicsKmsSecondaryCrk>
    (List) The secondary kms instance details. Nested scheme for secondary_crk:
    encryptionScheme string
    (String) The encryption scheme values. Allowable values: byok, kyok.
    id string
    The unique identifier of the schematics_kms.
    location string
    primaryCrks GetSchematicsKmsPrimaryCrk[]
    (List) The primary kms instance details. Nested scheme for primary_crk:
    resourceGroup string
    (String) The kms instance resource group to integrate.
    secondaryCrks GetSchematicsKmsSecondaryCrk[]
    (List) The secondary kms instance details. Nested scheme for secondary_crk:
    encryption_scheme str
    (String) The encryption scheme values. Allowable values: byok, kyok.
    id str
    The unique identifier of the schematics_kms.
    location str
    primary_crks Sequence[GetSchematicsKmsPrimaryCrk]
    (List) The primary kms instance details. Nested scheme for primary_crk:
    resource_group str
    (String) The kms instance resource group to integrate.
    secondary_crks Sequence[GetSchematicsKmsSecondaryCrk]
    (List) The secondary kms instance details. Nested scheme for secondary_crk:
    encryptionScheme String
    (String) The encryption scheme values. Allowable values: byok, kyok.
    id String
    The unique identifier of the schematics_kms.
    location String
    primaryCrks List<Property Map>
    (List) The primary kms instance details. Nested scheme for primary_crk:
    resourceGroup String
    (String) The kms instance resource group to integrate.
    secondaryCrks List<Property Map>
    (List) The secondary kms instance details. Nested scheme for secondary_crk:

    Supporting Types

    GetSchematicsKmsPrimaryCrk

    KeyCrn string
    (String) The CRN of the secondary key.
    KmsName string
    (String) The secondary kms instance name.
    KmsPrivateEndpoint string
    (String) The secondary kms instance private endpoint.
    KeyCrn string
    (String) The CRN of the secondary key.
    KmsName string
    (String) The secondary kms instance name.
    KmsPrivateEndpoint string
    (String) The secondary kms instance private endpoint.
    key_crn string
    (String) The CRN of the secondary key.
    kms_name string
    (String) The secondary kms instance name.
    kms_private_endpoint string
    (String) The secondary kms instance private endpoint.
    keyCrn String
    (String) The CRN of the secondary key.
    kmsName String
    (String) The secondary kms instance name.
    kmsPrivateEndpoint String
    (String) The secondary kms instance private endpoint.
    keyCrn string
    (String) The CRN of the secondary key.
    kmsName string
    (String) The secondary kms instance name.
    kmsPrivateEndpoint string
    (String) The secondary kms instance private endpoint.
    key_crn str
    (String) The CRN of the secondary key.
    kms_name str
    (String) The secondary kms instance name.
    kms_private_endpoint str
    (String) The secondary kms instance private endpoint.
    keyCrn String
    (String) The CRN of the secondary key.
    kmsName String
    (String) The secondary kms instance name.
    kmsPrivateEndpoint String
    (String) The secondary kms instance private endpoint.

    GetSchematicsKmsSecondaryCrk

    KeyCrn string
    (String) The CRN of the secondary key.
    KmsName string
    (String) The secondary kms instance name.
    KmsPrivateEndpoint string
    (String) The secondary kms instance private endpoint.
    KeyCrn string
    (String) The CRN of the secondary key.
    KmsName string
    (String) The secondary kms instance name.
    KmsPrivateEndpoint string
    (String) The secondary kms instance private endpoint.
    key_crn string
    (String) The CRN of the secondary key.
    kms_name string
    (String) The secondary kms instance name.
    kms_private_endpoint string
    (String) The secondary kms instance private endpoint.
    keyCrn String
    (String) The CRN of the secondary key.
    kmsName String
    (String) The secondary kms instance name.
    kmsPrivateEndpoint String
    (String) The secondary kms instance private endpoint.
    keyCrn string
    (String) The CRN of the secondary key.
    kmsName string
    (String) The secondary kms instance name.
    kmsPrivateEndpoint string
    (String) The secondary kms instance private endpoint.
    key_crn str
    (String) The CRN of the secondary key.
    kms_name str
    (String) The secondary kms instance name.
    kms_private_endpoint str
    (String) The secondary kms instance private endpoint.
    keyCrn String
    (String) The CRN of the secondary key.
    kmsName String
    (String) The secondary kms instance name.
    kmsPrivateEndpoint String
    (String) The secondary kms instance private endpoint.

    Package Details

    Repository
    ibm ibm-cloud/terraform-provider-ibm
    License
    Notes
    This Pulumi package is based on the ibm Terraform Provider.
    Viewing docs for ibm 2.3.0-beta0
    published on Monday, Jun 15, 2026 by ibm-cloud

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial