{"name":"sdm","displayName":"StrongDM","version":"1.34.5","description":"A Pulumi package for creating and managing StrongDM cloud resources.","keywords":["pulumi","sdm","category/cloud"],"homepage":"https://github.com/pierskarsenbarg/pulumi-sdm","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`sdm` Terraform Provider](https://github.com/strongdm/terraform-provider-sdm).","repository":"https://github.com/pierskarsenbarg/pulumi-sdm","logoUrl":"https://raw.githubusercontent.com/pierskarsenbarg/pulumi-sdm/main/docs/strongdm-logo.png","pluginDownloadURL":"github://api.github.com/pierskarsenbarg/pulumi-sdm","publisher":"Piers Karsenbarg","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"compatibility":"tfbridge20","rootNamespace":"PiersKarsenbarg"},"go":{"importBasePath":"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm","generateResourceContainerTypes":true,"generateExtraInputTypes":true},"nodejs":{"packageName":"@pierskarsenbarg/sdm","packageDescription":"A Pulumi package for creating and managing StrongDM cloud resources.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/strongdm/terraform-provider-sdm)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-sdm` repo](https://github.com/pierskarsenbarg/pulumi-sdm/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-sdm` repo](https://github.com/strongdm/terraform-provider-sdm/issues).","dependencies":{"@pulumi/pulumi":"^3.0.0"},"devDependencies":{"@types/mime":"^2.0.0","@types/node":"^10.0.0"},"compatibility":"tfbridge20","disableUnionOutputTypes":true},"python":{"packageName":"pierskarsenbarg_pulumi_sdm","requires":{"pulumi":"\u003e=3.0.0,\u003c4.0.0"},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/strongdm/terraform-provider-sdm)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-sdm` repo](https://github.com/pierskarsenbarg/pulumi-sdm/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-sdm` repo](https://github.com/strongdm/terraform-provider-sdm/issues).","compatibility":"tfbridge20","pyproject":{}}},"config":{"variables":{"apiAccessKey":{"type":"string","description":"A GUID identifying the API key used to authenticate with the StrongDM API."},"apiSecretKey":{"type":"string","description":"A base64 encoded secret key used to authenticate with the StrongDM API."},"host":{"type":"string","description":"The host and port of the StrongDM API endpoint."},"retryRateLimitErrors":{"type":"boolean","description":"Whether experienced rate limits should cause the client to sleep instead of erroring out"}}},"types":{"sdm:index/AccountService:AccountService":{"properties":{"createdAt":{"type":"string","description":"CreatedAt is the timestamp when the user was created\n"},"name":{"type":"string","description":"Unique human-readable name of the Service.\n"},"suspended":{"type":"boolean","description":"The Service's suspended state.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"token":{"type":"string","secret":true}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["createdAt","name","token"]}}},"sdm:index/AccountUser:AccountUser":{"properties":{"createdAt":{"type":"string","description":"CreatedAt is the timestamp when the user was created\n"},"email":{"type":"string","description":"The User's email address. Must be unique.\n"},"employeeNumber":{"type":"string","description":"Internal employee ID used to identify the user.\n"},"externalId":{"type":"string","description":"External ID is an alternative unique ID this user is represented by within an external service.\n"},"firstName":{"type":"string","description":"The User's first name.\n"},"lastName":{"type":"string","description":"The User's last name.\n"},"managedBy":{"type":"string","description":"Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.\n"},"managerId":{"type":"string","description":"Manager ID is the ID of the user's manager. This field is empty when the user has no manager.\n"},"permissionLevel":{"type":"string","description":"PermissionLevel is the user's permission level e.g. admin, DBA, user.\n"},"resolvedManagerId":{"type":"string","description":"Resolved Manager ID is the ID of the user's manager derived from the manager_id, if present, or from the SCIM metadata. This is a read-only field that's only populated for get and list.\n"},"scim":{"type":"string","description":"SCIM contains the raw SCIM metadata for the user. This is a read-only field.\n"},"suspended":{"type":"boolean","description":"The Service's suspended state.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["email","firstName","lastName"],"language":{"nodejs":{"requiredOutputs":["createdAt","email","firstName","lastName","managedBy","permissionLevel","resolvedManagerId","scim","suspended"]}}},"sdm:index/ApprovalWorkflowApprovalStep:ApprovalWorkflowApprovalStep":{"properties":{"approvers":{"type":"array","items":{"$ref":"#/types/sdm:index/ApprovalWorkflowApprovalStepApprover:ApprovalWorkflowApprovalStepApprover"},"description":"The approvers for this approval step\n"},"quantifier":{"type":"string","description":"Whether any or all approvers are required to approve for this approval step (optional, defaults to any)\n"},"skipAfter":{"type":"string","description":"Duration after which this approval step will be skipped if no approval is given (optional, if not provided this step must be manually approved)\n"}},"type":"object","required":["approvers"]},"sdm:index/ApprovalWorkflowApprovalStepApprover:ApprovalWorkflowApprovalStepApprover":{"properties":{"accountId":{"type":"string","description":"The account id of the approver (only one of account_id, role_id, group id, or reference may be present for one approver)\n"},"groupId":{"type":"string","description":"The group id of the approver (only one of account_id, role_id, group id, or reference may be present for one approver)\n"},"reference":{"type":"string","description":"A reference to an approver: 'manager-of-requester' or 'manager-of-manager-of-requester' (only one of account_id, role_id, group id, or reference may be present for one approver)\n"},"roleId":{"type":"string","description":"The role id of the approver (only one of account_id, role_id, group id, or reference may be present for one approver)\n"}},"type":"object"},"sdm:index/ConnectorAws:ConnectorAws":{"properties":{"accountIds":{"type":"array","items":{"type":"string"},"description":"AccountIds is the list of AWS Accounts to scan\n"},"description":{"type":"string","description":"Description of the Connector.\n"},"excludeTags":{"type":"array","items":{"$ref":"#/types/sdm:index/ConnectorAwsExcludeTag:ConnectorAwsExcludeTag"},"description":"ExcludeTags filters out discovered resources that have the tag and value. We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.\n"},"includeTags":{"type":"array","items":{"$ref":"#/types/sdm:index/ConnectorAwsIncludeTag:ConnectorAwsIncludeTag"},"description":"IncludeTags only discovers cloud resources that have one of the included tags. We do not allow duplicate tag names for IncludeTags\n"},"name":{"type":"string","description":"Unique human-readable name of the Connector.\n"},"roleName":{"type":"string","description":"RoleName is the Role we're assuming into for an account\n"},"scanPeriod":{"type":"string","description":"ScanPeriod identifies which remote system this Connector discovers\n"},"services":{"type":"array","items":{"type":"string"},"description":"Services is a list of services this connector should scan.\n"}},"type":"object","required":["name"]},"sdm:index/ConnectorAwsExcludeTag:ConnectorAwsExcludeTag":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the Connector.\n"},"value":{"type":"string","description":"The value of this tag.\n"}},"type":"object"},"sdm:index/ConnectorAwsIncludeTag:ConnectorAwsIncludeTag":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the Connector.\n"},"value":{"type":"string","description":"The value of this tag.\n"}},"type":"object"},"sdm:index/ConnectorAzure:ConnectorAzure":{"properties":{"clientId":{"type":"string","description":"ClientId is the ID of the Application / Service Account we're acting as\n"},"description":{"type":"string","description":"Description of the Connector.\n"},"excludeTags":{"type":"array","items":{"$ref":"#/types/sdm:index/ConnectorAzureExcludeTag:ConnectorAzureExcludeTag"},"description":"ExcludeTags filters out discovered resources that have the tag and value. We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.\n"},"includeTags":{"type":"array","items":{"$ref":"#/types/sdm:index/ConnectorAzureIncludeTag:ConnectorAzureIncludeTag"},"description":"IncludeTags only discovers cloud resources that have one of the included tags. We do not allow duplicate tag names for IncludeTags\n"},"name":{"type":"string","description":"Unique human-readable name of the Connector.\n"},"scanPeriod":{"type":"string","description":"ScanPeriod identifies which remote system this Connector discovers\n"},"services":{"type":"array","items":{"type":"string"},"description":"Services is a list of services this connector should scan.\n"},"subscriptionIds":{"type":"array","items":{"type":"string"},"description":"SubscriptionIds are the targets of discovery.\n"},"tenantId":{"type":"string","description":"TenantId is the Azure Tenant we're discovering in\n* gcp:\n"}},"type":"object","required":["name"]},"sdm:index/ConnectorAzureExcludeTag:ConnectorAzureExcludeTag":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the Connector.\n"},"value":{"type":"string","description":"The value of this tag.\n"}},"type":"object"},"sdm:index/ConnectorAzureIncludeTag:ConnectorAzureIncludeTag":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the Connector.\n"},"value":{"type":"string","description":"The value of this tag.\n"}},"type":"object"},"sdm:index/ConnectorGcp:ConnectorGcp":{"properties":{"description":{"type":"string","description":"Description of the Connector.\n"},"excludeTags":{"type":"array","items":{"$ref":"#/types/sdm:index/ConnectorGcpExcludeTag:ConnectorGcpExcludeTag"},"description":"ExcludeTags filters out discovered resources that have the tag and value. We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.\n"},"includeTags":{"type":"array","items":{"$ref":"#/types/sdm:index/ConnectorGcpIncludeTag:ConnectorGcpIncludeTag"},"description":"IncludeTags only discovers cloud resources that have one of the included tags. We do not allow duplicate tag names for IncludeTags\n"},"name":{"type":"string","description":"Unique human-readable name of the Connector.\n"},"projectIds":{"type":"array","items":{"type":"string"},"description":"ProjectIds is the list of GCP Projects the connector will scan\n"},"scanPeriod":{"type":"string","description":"ScanPeriod identifies which remote system this Connector discovers\n"},"services":{"type":"array","items":{"type":"string"},"description":"Services is a list of services this connector should scan.\n"},"workloadPoolId":{"type":"string","description":"WorkloadPoolId is the GCP Workload Pool Identifier used to authenticate our JWT\n"},"workloadProjectId":{"type":"string","description":"WorkloadProjectId is the GCP Project ID where the Workload Pool is defined\n"},"workloadProjectNumber":{"type":"string","description":"WorkloadProjectNumber is the GCP Project Number where the Workload Pool is defined\n"},"workloadProviderId":{"type":"string","description":"WorkloadProviderId is the GCP Workload Provider Identifier used to authenticate our JWT\n"}},"type":"object","required":["name"]},"sdm:index/ConnectorGcpExcludeTag:ConnectorGcpExcludeTag":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the Connector.\n"},"value":{"type":"string","description":"The value of this tag.\n"}},"type":"object"},"sdm:index/ConnectorGcpIncludeTag:ConnectorGcpIncludeTag":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the Connector.\n"},"value":{"type":"string","description":"The value of this tag.\n"}},"type":"object"},"sdm:index/NodeGateway:NodeGateway":{"properties":{"bindAddress":{"type":"string","description":"The hostname/port tuple which the gateway daemon will bind to. If not provided on create, set to \"0.0.0.0:listen_address_port\".\n","willReplaceOnChanges":true},"device":{"type":"string","description":"Device is a read only device name uploaded by the gateway process when it comes online.\n"},"gatewayFilter":{"type":"string","description":"GatewayFilter can be used to restrict the peering between relays and gateways. Deprecated.\n"},"listenAddress":{"type":"string","description":"The public hostname/port tuple at which the gateway will be accessible to clients.\n","willReplaceOnChanges":true},"location":{"type":"string","description":"Location is a read only network location uploaded by the gateway process when it comes online.\n"},"maintenanceWindows":{"type":"array","items":{"$ref":"#/types/sdm:index/NodeGatewayMaintenanceWindow:NodeGatewayMaintenanceWindow"},"description":"Maintenance Windows define when this node is allowed to restart. If a node is requested to restart, it will check each window to determine if any of them permit it to restart, and if any do, it will. This check is repeated per window until the restart is successfully completed.  If not set here, may be set on the command line or via an environment variable on the process itself; any server setting will take precedence over local settings. This setting is ineffective for nodes below version 38.44.0.  If this setting is not applied via this remote configuration or via local configuration, the default setting is used: always allow restarts if serving no connections, and allow a restart even if serving connections between 7-8 UTC, any day.\n"},"name":{"type":"string","description":"Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"token":{"type":"string","secret":true},"version":{"type":"string","description":"Version is a read only sdm binary version uploaded by the gateway process when it comes online.\n"}},"type":"object","required":["listenAddress"],"language":{"nodejs":{"requiredOutputs":["bindAddress","device","listenAddress","location","name","token","version"]}}},"sdm:index/NodeGatewayMaintenanceWindow:NodeGatewayMaintenanceWindow":{"properties":{"cronSchedule":{"type":"string"},"requireIdleness":{"type":"boolean"}},"type":"object","required":["cronSchedule","requireIdleness"]},"sdm:index/NodeProxyCluster:NodeProxyCluster":{"properties":{"address":{"type":"string","description":"The public hostname/port tuple at which the proxy cluster will be accessible to clients.\n"},"maintenanceWindows":{"type":"array","items":{"$ref":"#/types/sdm:index/NodeProxyClusterMaintenanceWindow:NodeProxyClusterMaintenanceWindow"},"description":"Maintenance Windows define when this node is allowed to restart. If a node is requested to restart, it will check each window to determine if any of them permit it to restart, and if any do, it will. This check is repeated per window until the restart is successfully completed.  If not set here, may be set on the command line or via an environment variable on the process itself; any server setting will take precedence over local settings. This setting is ineffective for nodes below version 38.44.0.  If this setting is not applied via this remote configuration or via local configuration, the default setting is used: always allow restarts if serving no connections, and allow a restart even if serving connections between 7-8 UTC, any day.\n"},"name":{"type":"string","description":"Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["address"],"language":{"nodejs":{"requiredOutputs":["address","name"]}}},"sdm:index/NodeProxyClusterMaintenanceWindow:NodeProxyClusterMaintenanceWindow":{"properties":{"cronSchedule":{"type":"string"},"requireIdleness":{"type":"boolean"}},"type":"object","required":["cronSchedule","requireIdleness"]},"sdm:index/NodeRelay:NodeRelay":{"properties":{"device":{"type":"string","description":"Device is a read only device name uploaded by the gateway process when it comes online.\n"},"gatewayFilter":{"type":"string","description":"GatewayFilter can be used to restrict the peering between relays and gateways. Deprecated.\n"},"location":{"type":"string","description":"Location is a read only network location uploaded by the gateway process when it comes online.\n"},"maintenanceWindows":{"type":"array","items":{"$ref":"#/types/sdm:index/NodeRelayMaintenanceWindow:NodeRelayMaintenanceWindow"},"description":"Maintenance Windows define when this node is allowed to restart. If a node is requested to restart, it will check each window to determine if any of them permit it to restart, and if any do, it will. This check is repeated per window until the restart is successfully completed.  If not set here, may be set on the command line or via an environment variable on the process itself; any server setting will take precedence over local settings. This setting is ineffective for nodes below version 38.44.0.  If this setting is not applied via this remote configuration or via local configuration, the default setting is used: always allow restarts if serving no connections, and allow a restart even if serving connections between 7-8 UTC, any day.\n"},"name":{"type":"string","description":"Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"token":{"type":"string","secret":true},"version":{"type":"string","description":"Version is a read only sdm binary version uploaded by the gateway process when it comes online.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["device","location","name","token","version"]}}},"sdm:index/NodeRelayMaintenanceWindow:NodeRelayMaintenanceWindow":{"properties":{"cronSchedule":{"type":"string"},"requireIdleness":{"type":"boolean"}},"type":"object","required":["cronSchedule","requireIdleness"]},"sdm:index/ResourceAerospike:ResourceAerospike":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useServicesAlternate":{"type":"boolean","description":"If true, uses UseServicesAlternates directive for Aerospike connection\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceAks:ResourceAks":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"clientKey":{"type":"string","description":"The key to authenticate TLS connections with.\n","secret":true},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckNamespace","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceAksBasicAuth:ResourceAksBasicAuth":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckNamespace","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceAksServiceAccount:ResourceAksServiceAccount":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"token":{"type":"string","description":"The API token to authenticate with.\n* kubernetes_user_impersonation:\n","secret":true}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckNamespace","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceAksServiceAccountUserImpersonation:ResourceAksServiceAccountUserImpersonation":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"token":{"type":"string","description":"The API token to authenticate with.\n* kubernetes_user_impersonation:\n","secret":true}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckNamespace","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceAksUserImpersonation:ResourceAksUserImpersonation":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"clientKey":{"type":"string","description":"The key to authenticate TLS connections with.\n","secret":true},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckNamespace","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceAmazonEks:ResourceAmazonEks":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clusterName":{"type":"string","description":"The name of the cluster to connect to.\n"},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["clusterName","endpoint","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","clusterName","endpoint","healthcheckNamespace","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceAmazonEksInstanceProfile:ResourceAmazonEksInstanceProfile":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clusterName":{"type":"string","description":"The name of the cluster to connect to.\n"},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["clusterName","endpoint","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","clusterName","endpoint","healthcheckNamespace","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceAmazonEksInstanceProfileUserImpersonation:ResourceAmazonEksInstanceProfileUserImpersonation":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clusterName":{"type":"string","description":"The name of the cluster to connect to.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["clusterName","endpoint","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","clusterName","endpoint","healthcheckNamespace","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceAmazonEksUserImpersonation:ResourceAmazonEksUserImpersonation":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clusterName":{"type":"string","description":"The name of the cluster to connect to.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["clusterName","endpoint","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","clusterName","endpoint","healthcheckNamespace","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceAmazonEs:ResourceAmazonEs":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceAmazonEsiam:ResourceAmazonEsiam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"}},"type":"object","required":["endpoint","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","endpoint","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceAmazonmqAmqp091:ResourceAmazonmqAmqp091":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceAmazonmqAmqp:ResourceAmazonmqAmqp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceAthena:ResourceAthena":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"athenaOutput":{"type":"string","description":"The AWS S3 output location.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","athenaOutput"],"language":{"nodejs":{"requiredOutputs":["athenaOutput","bindInterface","name","portOverride","subdomain"]}}},"sdm:index/ResourceAthenaIam:ResourceAthenaIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"output":{"type":"string","description":"The AWS S3 output location.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","output"],"language":{"nodejs":{"requiredOutputs":["bindInterface","name","output","portOverride","subdomain"]}}},"sdm:index/ResourceAuroraMysql:ResourceAuroraMysql":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceAuroraMysqlIam:ResourceAuroraMysqlIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleAssumptionArn":{"type":"string","description":"If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceAuroraPostgres:ResourceAuroraPostgres":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceAuroraPostgresIam:ResourceAuroraPostgresIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleAssumptionArn":{"type":"string","description":"If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceAws:ResourceAws":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckRegion":{"type":"string","description":"The AWS region healthcheck requests should attempt to connect to.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["healthcheckRegion","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckRegion","name","portOverride","subdomain"]}}},"sdm:index/ResourceAwsConsole:ResourceAwsConsole":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"enableEnvVariables":{"type":"boolean","description":"If true, prefer environment variables to authenticate connection even if EC2 roles are configured.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"sessionExpiry":{"type":"integer","description":"The length of time in seconds console sessions will live before needing to reauthenticate.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","region","subdomain"],"language":{"nodejs":{"requiredOutputs":["bindInterface","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceAwsConsoleStaticKeyPair:ResourceAwsConsoleStaticKeyPair":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"sessionExpiry":{"type":"integer","description":"The length of time in seconds console sessions will live before needing to reauthenticate.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","region","subdomain"],"language":{"nodejs":{"requiredOutputs":["bindInterface","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceAwsInstanceProfile:ResourceAwsInstanceProfile":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"enableEnvVariables":{"type":"boolean","description":"If true, prefer environment variables to authenticate connection even if EC2 roles are configured.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceAzure:ResourceAzure":{"properties":{"appId":{"type":"string","description":"The application ID to authenticate with.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tenantId":{"type":"string","description":"The Azure AD directory (tenant) ID with which to authenticate.\n* sql_server_kerberos_ad:\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","name","portOverride","subdomain"]}}},"sdm:index/ResourceAzureCertificate:ResourceAzureCertificate":{"properties":{"appId":{"type":"string","description":"The application ID to authenticate with.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tenantId":{"type":"string","description":"The Azure AD directory (tenant) ID with which to authenticate.\n* sql_server_kerberos_ad:\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","name","portOverride","subdomain"]}}},"sdm:index/ResourceAzureMysql:ResourceAzureMysql":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceAzureMysqlManagedIdentity:ResourceAzureMysqlManagedIdentity":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceAzurePostgres:ResourceAzurePostgres":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceAzurePostgresManagedIdentity:ResourceAzurePostgresManagedIdentity":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceBigQuery:ResourceBigQuery":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"privateKey":{"type":"string","description":"The private key used to authenticate with the server.\n","secret":true},"project":{"type":"string","description":"The GCP project ID containing the Spanner database.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["endpoint","name","project"],"language":{"nodejs":{"requiredOutputs":["bindInterface","endpoint","name","portOverride","project","subdomain"]}}},"sdm:index/ResourceCassandra:ResourceCassandra":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceCitus:ResourceCitus":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceClickHouseHttp:ResourceClickHouseHttp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"url":{"type":"string","description":"The base address of your website without the path.\n* kubernetes:\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["name","url"],"language":{"nodejs":{"requiredOutputs":["bindInterface","name","portOverride","url"]}}},"sdm:index/ResourceClickHouseMySql:ResourceClickHouseMySql":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceClickHouseTcp:ResourceClickHouseTcp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceClustrix:ResourceClustrix":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceCockroach:ResourceCockroach":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceCouchbaseDatabase:ResourceCouchbaseDatabase":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"n1QlPort":{"type":"integer","description":"The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","n1QlPort","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","n1QlPort","name","portOverride","subdomain"]}}},"sdm:index/ResourceCouchbaseWebUi:ResourceCouchbaseWebUi":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"url":{"type":"string","description":"The base address of your website without the path.\n* kubernetes:\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["name","subdomain","url"],"language":{"nodejs":{"requiredOutputs":["bindInterface","name","portOverride","subdomain","url"]}}},"sdm:index/ResourceDb2I:ResourceDb2I":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceDb2Luw:ResourceDb2Luw":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceDocumentDbHost:ResourceDocumentDbHost":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["authDatabase","hostname","name"],"language":{"nodejs":{"requiredOutputs":["authDatabase","bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceDocumentDbHostIam:ResourceDocumentDbHostIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["hostname","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceDocumentDbReplicaSet:ResourceDocumentDbReplicaSet":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"connectToReplica":{"type":"boolean","description":"Set to connect to a replica instead of the primary node.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["authDatabase","hostname","name"],"language":{"nodejs":{"requiredOutputs":["authDatabase","bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceDocumentDbReplicaSetIam:ResourceDocumentDbReplicaSetIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"connectToReplica":{"type":"boolean","description":"Set to connect to a replica instead of the primary node.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["hostname","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceDruid:ResourceDruid":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceDynamoDb:ResourceDynamoDb":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["endpoint","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","endpoint","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceDynamoDbiam:ResourceDynamoDbiam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["endpoint","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","endpoint","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceElastic:ResourceElastic":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceElasticacheRedis:ResourceElasticacheRedis":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceElasticacheRedisIam:ResourceElasticacheRedisIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleAssumptionArn":{"type":"string","description":"If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceEntraId:ResourceEntraId":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"groupNames":{"type":"string","description":"comma separated list of group names to filter by. Supports wildcards (*)\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"managementGroupId":{"type":"string","description":"The management group ID to authenticate scope Privileges to.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"privilegeLevels":{"type":"string","description":"The privilege levels specify which Groups are managed externally\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"resourceGroupId":{"type":"string","description":"filters discovered groups to the specified Resource Group\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"subscriptionId":{"type":"string","description":"The subscription ID to authenticate scope Privileges to.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tenantId":{"type":"string","description":"The Azure AD directory (tenant) ID with which to authenticate.\n* sql_server_kerberos_ad:\n"}},"type":"object","required":["identitySetId","name","tenantId"],"language":{"nodejs":{"requiredOutputs":["bindInterface","identitySetId","name","subdomain","tenantId"]}}},"sdm:index/ResourceGcp:ResourceGcp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"keyfile":{"type":"string","description":"The service account keyfile to authenticate with.\n","secret":true},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"scopes":{"type":"string","description":"Space separated scopes that this login should assume into when authenticating.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","scopes"],"language":{"nodejs":{"requiredOutputs":["bindInterface","name","portOverride","scopes","subdomain"]}}},"sdm:index/ResourceGcpConsole:ResourceGcpConsole":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"sessionExpiry":{"type":"integer","description":"The length of time in seconds console sessions will live before needing to reauthenticate.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"workforcePoolId":{"type":"string","description":"The ID of the Workforce Identity Pool in GCP to use for federated authentication.\n"},"workforceProviderId":{"type":"string","description":"The ID of the Workforce Identity Provider in GCP to use for federated authentication.\n* google_gke:\n"}},"type":"object","required":["name","subdomain","workforcePoolId","workforceProviderId"],"language":{"nodejs":{"requiredOutputs":["bindInterface","name","portOverride","subdomain","workforcePoolId","workforceProviderId"]}}},"sdm:index/ResourceGcpwif:ResourceGcpwif":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"projectId":{"type":"string","description":"When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"scopes":{"type":"string","description":"Space separated scopes that this login should assume into when authenticating.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"sessionExpiry":{"type":"integer","description":"The length of time in seconds console sessions will live before needing to reauthenticate.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"workforcePoolId":{"type":"string","description":"The ID of the Workforce Identity Pool in GCP to use for federated authentication.\n"},"workforceProviderId":{"type":"string","description":"The ID of the Workforce Identity Provider in GCP to use for federated authentication.\n* google_gke:\n"}},"type":"object","required":["name","scopes","workforcePoolId","workforceProviderId"],"language":{"nodejs":{"requiredOutputs":["bindInterface","name","portOverride","scopes","subdomain","workforcePoolId","workforceProviderId"]}}},"sdm:index/ResourceGoogleGke:ResourceGoogleGke":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serviceAccountKey":{"type":"string","description":"The service account key to authenticate with.\n","secret":true},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["endpoint","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","endpoint","healthcheckNamespace","name","portOverride","subdomain"]}}},"sdm:index/ResourceGoogleGkeUserImpersonation:ResourceGoogleGkeUserImpersonation":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serviceAccountKey":{"type":"string","description":"The service account key to authenticate with.\n","secret":true},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["endpoint","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","endpoint","healthcheckNamespace","name","portOverride","subdomain"]}}},"sdm:index/ResourceGoogleSpanner:ResourceGoogleSpanner":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"instance":{"type":"string","description":"The Spanner instance ID within the GCP project.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"project":{"type":"string","description":"The GCP project ID containing the Spanner database.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serviceAccountToImpersonate":{"type":"string","description":"Optional service account email to impersonate. When set, the relay's Application Default Credentials will impersonate this service account to access Spanner. This allows role separation where the relay uses one service account but operates as another.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["database","endpoint","instance","name","project"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","endpoint","instance","name","portOverride","project","subdomain"]}}},"sdm:index/ResourceGreenplum:ResourceGreenplum":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceHttpAuth:ResourceHttpAuth":{"properties":{"authHeader":{"type":"string","description":"The content to set as the authorization header.\n","secret":true},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"defaultPath":{"type":"string","description":"Automatically redirect to this path upon connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"headersBlacklist":{"type":"string","description":"Header names (e.g. Authorization), to omit from logs.\n"},"healthcheckPath":{"type":"string","description":"This path will be used to check the health of your site.\n"},"hostOverride":{"type":"string","description":"The host header will be overwritten with this field if provided.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"url":{"type":"string","description":"The base address of your website without the path.\n* kubernetes:\n"}},"type":"object","required":["healthcheckPath","name","subdomain","url"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckPath","name","portOverride","subdomain","url"]}}},"sdm:index/ResourceHttpBasicAuth:ResourceHttpBasicAuth":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"defaultPath":{"type":"string","description":"Automatically redirect to this path upon connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"headersBlacklist":{"type":"string","description":"Header names (e.g. Authorization), to omit from logs.\n"},"healthcheckPath":{"type":"string","description":"This path will be used to check the health of your site.\n"},"hostOverride":{"type":"string","description":"The host header will be overwritten with this field if provided.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"url":{"type":"string","description":"The base address of your website without the path.\n* kubernetes:\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["healthcheckPath","name","subdomain","url"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckPath","name","portOverride","subdomain","url"]}}},"sdm:index/ResourceHttpNoAuth:ResourceHttpNoAuth":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"defaultPath":{"type":"string","description":"Automatically redirect to this path upon connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"headersBlacklist":{"type":"string","description":"Header names (e.g. Authorization), to omit from logs.\n"},"healthcheckPath":{"type":"string","description":"This path will be used to check the health of your site.\n"},"hostOverride":{"type":"string","description":"The host header will be overwritten with this field if provided.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"url":{"type":"string","description":"The base address of your website without the path.\n* kubernetes:\n"}},"type":"object","required":["healthcheckPath","name","subdomain","url"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckPath","name","portOverride","subdomain","url"]}}},"sdm:index/ResourceKubernetes:ResourceKubernetes":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"clientKey":{"type":"string","description":"The key to authenticate TLS connections with.\n","secret":true},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckNamespace","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceKubernetesBasicAuth:ResourceKubernetesBasicAuth":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckNamespace","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceKubernetesPodIdentity:ResourceKubernetesPodIdentity":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckNamespace","name","portOverride","subdomain"]}}},"sdm:index/ResourceKubernetesServiceAccount:ResourceKubernetesServiceAccount":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"token":{"type":"string","description":"The API token to authenticate with.\n* kubernetes_user_impersonation:\n","secret":true}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckNamespace","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceKubernetesServiceAccountUserImpersonation:ResourceKubernetesServiceAccountUserImpersonation":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"token":{"type":"string","description":"The API token to authenticate with.\n* kubernetes_user_impersonation:\n","secret":true}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckNamespace","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceKubernetesUserImpersonation:ResourceKubernetesUserImpersonation":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"clientKey":{"type":"string","description":"The key to authenticate TLS connections with.\n","secret":true},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckNamespace","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceMaria:ResourceMaria":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceMcp:ResourceMcp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"oauthAuthEndpoint":{"type":"string","description":"The OAuth 2.0 authorization endpoint URL.\n"},"oauthRegisterEndpoint":{"type":"string","description":"The OAuth 2.0 dynamic client registration endpoint URL.\n"},"oauthTokenEndpoint":{"type":"string","description":"The OAuth 2.0 token endpoint URL.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name","oauthAuthEndpoint","oauthTokenEndpoint","username"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","oauthAuthEndpoint","oauthTokenEndpoint","portOverride","subdomain","username"]}}},"sdm:index/ResourceMemcached:ResourceMemcached":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceMemsql:ResourceMemsql":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceMongoHost:ResourceMongoHost":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["authDatabase","hostname","name"],"language":{"nodejs":{"requiredOutputs":["authDatabase","bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceMongoLegacyHost:ResourceMongoLegacyHost":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["authDatabase","hostname","name"],"language":{"nodejs":{"requiredOutputs":["authDatabase","bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceMongoLegacyReplicaset:ResourceMongoLegacyReplicaset":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"connectToReplica":{"type":"boolean","description":"Set to connect to a replica instead of the primary node.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["authDatabase","hostname","name"],"language":{"nodejs":{"requiredOutputs":["authDatabase","bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceMongoReplicaSet:ResourceMongoReplicaSet":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"connectToReplica":{"type":"boolean","description":"Set to connect to a replica instead of the primary node.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["authDatabase","hostname","name"],"language":{"nodejs":{"requiredOutputs":["authDatabase","bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceMongoShardedCluster:ResourceMongoShardedCluster":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["authDatabase","hostname","name"],"language":{"nodejs":{"requiredOutputs":["authDatabase","bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceMtlsMysql:ResourceMtlsMysql":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"clientKey":{"type":"string","description":"The key to authenticate TLS connections with.\n","secret":true},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serverName":{"type":"string","description":"Server name for TLS verification (unverified by StrongDM if empty)\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceMtlsPostgres:ResourceMtlsPostgres":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"clientKey":{"type":"string","description":"The key to authenticate TLS connections with.\n","secret":true},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serverName":{"type":"string","description":"Server name for TLS verification (unverified by StrongDM if empty)\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceMysql:ResourceMysql":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceNeptune:ResourceNeptune":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["endpoint","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","endpoint","name","portOverride","subdomain"]}}},"sdm:index/ResourceNeptuneIam:ResourceNeptuneIam":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["endpoint","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","endpoint","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceOktaGroups:ResourceOktaGroups":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"domain":{"type":"string","description":"Represents the Okta Org Client URL\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"groupNames":{"type":"string","description":"comma separated list of group names to filter by. Supports wildcards (*)\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"privilegeLevels":{"type":"string","description":"The privilege levels specify which Groups are managed externally\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["domain","identitySetId","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","domain","identitySetId","name","subdomain"]}}},"sdm:index/ResourceOracle:ResourceOracle":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceOracleNne:ResourceOracleNne":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourcePostgres:ResourcePostgres":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourcePresto:ResourcePresto":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceRabbitmqAmqp091:ResourceRabbitmqAmqp091":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceRawTcp:ResourceRawTcp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceRdp:ResourceRdp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"downgradeNlaConnections":{"type":"boolean","description":"When set, network level authentication will not be used. May resolve unexpected authentication errors to older servers. When set, healthchecks cannot detect if a provided username / password pair is correct.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"lockRequired":{"type":"boolean","description":"When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceRdpCert:ResourceRdpCert":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"dcHostnames":{"type":"string","description":"Comma-separated list of Active Directory Domain Controller hostnames. Required in on-premises AD environments for Kerberos Network Level Authentication (NLA), and for LDAPS SID resolution for strong certificate mapping in full enforcement mode when the identity alias does not specify a SID. Unused for Entra ID.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"lockRequired":{"type":"boolean","description":"When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serverFqdn":{"type":"string","description":"Fully-qualified DNS name of the target Windows server, including the AD domain. Must match the Service Principal Name (SPN) of the server in AD. Required in on-premises AD environments for Kerberos Network Level Authentication (NLA), unused for Entra ID.\n"},"sid":{"type":"string","description":"Windows Security Identifier (SID) of the configured Username, or AD service account if using LDAPS SID resolution. Required in on-premises AD environments for strong certificate mapping in full enforcement mode, unused for Entra ID.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceRdsPostgresIam:ResourceRdsPostgresIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleAssumptionArn":{"type":"string","description":"If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceRedis:ResourceRedis":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceRedisCluster:ResourceRedisCluster":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceRedshift:ResourceRedshift":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceRedshiftIam:ResourceRedshiftIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"clusterId":{"type":"string","description":"Cluster Identified of Redshift cluster\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleAssumptionArn":{"type":"string","description":"If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["clusterId","database","hostname","name","region"],"language":{"nodejs":{"requiredOutputs":["bindInterface","clusterId","database","hostname","name","portOverride","region","subdomain"]}}},"sdm:index/ResourceRedshiftServerlessIam:ResourceRedshiftServerlessIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleAssumptionArn":{"type":"string","description":"If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"workgroup":{"type":"string","description":"Workgroup name in the serverless Redshift\n* single_store:\n"}},"type":"object","required":["database","hostname","name","region","workgroup"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","region","subdomain","workgroup"]}}},"sdm:index/ResourceSingleStore:ResourceSingleStore":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceSnowflake:ResourceSnowflake":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"privateKey":{"type":"string","description":"The private key used to authenticate with the server.\n","secret":true},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"schema":{"type":"string","description":"The Schema to use to direct initial requests.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","password","portOverride","subdomain"]}}},"sdm:index/ResourceSnowsight:ResourceSnowsight":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"connectToDefault":{"type":"boolean","description":"If true, select the ACS with isDefault=true\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckUsername":{"type":"string","description":"The StrongDM user email to use for healthchecks.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"samlMetadata":{"type":"string","description":"The Metadata for your snowflake IDP integration\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["healthcheckUsername","name","subdomain"],"language":{"nodejs":{"requiredOutputs":["bindInterface","healthcheckUsername","name","portOverride","subdomain"]}}},"sdm:index/ResourceSqlServer:ResourceSqlServer":{"properties":{"allowDeprecatedEncryption":{"type":"boolean","description":"Whether to allow deprecated encryption protocols to be used for this resource. For example, TLS 1.0.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"schema":{"type":"string","description":"The Schema to use to direct initial requests.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceSqlServerAzureAd:ResourceSqlServerAzureAd":{"properties":{"allowDeprecatedEncryption":{"type":"boolean","description":"Whether to allow deprecated encryption protocols to be used for this resource. For example, TLS 1.0.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"clientId":{"type":"string","description":"The Azure AD application (client) ID with which to authenticate.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"schema":{"type":"string","description":"The Schema to use to direct initial requests.\n"},"secret":{"type":"string","description":"The Azure AD client secret (application password) with which to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tenantId":{"type":"string","description":"The Azure AD directory (tenant) ID with which to authenticate.\n* sql_server_kerberos_ad:\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceSqlServerKerberosAd:ResourceSqlServerKerberosAd":{"properties":{"allowDeprecatedEncryption":{"type":"boolean","description":"Whether to allow deprecated encryption protocols to be used for this resource. For example, TLS 1.0.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"keytab":{"type":"string","description":"The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.\n","secret":true},"krbConfig":{"type":"string","description":"The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.\n","secret":true},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"realm":{"type":"string","description":"The Active Directory domain (realm) to which the configured username belongs.\n"},"schema":{"type":"string","description":"The Schema to use to direct initial requests.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serverSpn":{"type":"string","description":"The Service Principal Name of the Microsoft SQL Server instance in Active Directory.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name","serverSpn"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","serverSpn","subdomain"]}}},"sdm:index/ResourceSsh:ResourceSsh":{"properties":{"allowDeprecatedKeyExchanges":{"type":"boolean","description":"Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"keyType":{"type":"string","description":"The key type to use e.g. rsa-2048 or ed25519\n"},"lockRequired":{"type":"boolean","description":"When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portForwarding":{"type":"boolean","description":"Whether port forwarding is allowed through this server.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"publicKey":{"type":"string","description":"The public key to append to a server's authorized keys. This will be generated after resource creation.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","keyType","name","port","portOverride","publicKey","subdomain"]}}},"sdm:index/ResourceSshCert:ResourceSshCert":{"properties":{"allowDeprecatedKeyExchanges":{"type":"boolean","description":"Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"keyType":{"type":"string","description":"The key type to use e.g. rsa-2048 or ed25519\n"},"lockRequired":{"type":"boolean","description":"When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portForwarding":{"type":"boolean","description":"Whether port forwarding is allowed through this server.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","keyType","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceSshCustomerKey:ResourceSshCustomerKey":{"properties":{"allowDeprecatedKeyExchanges":{"type":"boolean","description":"Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"lockRequired":{"type":"boolean","description":"When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portForwarding":{"type":"boolean","description":"Whether port forwarding is allowed through this server.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"privateKey":{"type":"string","description":"The private key used to authenticate with the server.\n","secret":true},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceSshPassword:ResourceSshPassword":{"properties":{"allowDeprecatedKeyExchanges":{"type":"boolean","description":"Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"lockRequired":{"type":"boolean","description":"When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portForwarding":{"type":"boolean","description":"Whether port forwarding is allowed through this server.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name","port"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","port","portOverride","subdomain"]}}},"sdm:index/ResourceSybase:ResourceSybase":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceSybaseIq:ResourceSybaseIq":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceTeradata:ResourceTeradata":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceTrino:ResourceTrino":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","hostname","name","portOverride","subdomain"]}}},"sdm:index/ResourceVertica:ResourceVertica":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["database","hostname","name"],"language":{"nodejs":{"requiredOutputs":["bindInterface","database","hostname","name","portOverride","subdomain"]}}},"sdm:index/SecretEngineActiveDirectory:SecretEngineActiveDirectory":{"properties":{"afterReadTtl":{"type":"string","description":"The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.\n"},"binddn":{"type":"string","description":"Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com\n"},"bindpass":{"type":"string","description":"Password to use along with binddn when performing user search.\n"},"certificate":{"type":"string","description":"CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.\n"},"connectionTimeout":{"type":"integer","description":"Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.\n"},"doNotValidateTimestamps":{"type":"boolean","description":"If set to true this will prevent password change timestamp validation in Active Directory when validating credentials\n"},"insecureTls":{"type":"boolean","description":"If true, skips LDAP server SSL certificate verification - insecure, use with caution!\n"},"keyRotationIntervalDays":{"type":"integer","description":"An interval of public/private key rotation for secret engine in days\n"},"maxBackoffDuration":{"type":"string","description":"The maximum retry duration in case of automatic failure. On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration\n"},"name":{"type":"string","description":"Unique human-readable name of the Secret Engine.\n"},"publicKey":{"type":"string","description":"Public key linked with a secret engine\n"},"requestTimeout":{"type":"integer","description":"Timeout, in seconds, for the connection when making requests against the server before returning back an error.\n"},"secretStoreId":{"type":"string","description":"Backing secret store identifier\n"},"secretStoreRootPath":{"type":"string","description":"Backing Secret Store root path where managed secrets are going to be stored\n"},"startTls":{"type":"boolean","description":"If true, issues a StartTLS command after establishing an unencrypted connection.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"ttl":{"type":"string","description":"The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.\n"},"upndomain":{"type":"string","description":"The domain (userPrincipalDomain) used to construct a UPN string for authentication.\n"},"url":{"type":"string","description":"The LDAP server to connect to.\n"},"userdn":{"type":"string","description":"Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com\n* key_value:\n"}},"type":"object","required":["binddn","bindpass","name","secretStoreId","secretStoreRootPath","url"],"language":{"nodejs":{"requiredOutputs":["binddn","bindpass","name","publicKey","secretStoreId","secretStoreRootPath","url"]}}},"sdm:index/SecretEngineKeyValue:SecretEngineKeyValue":{"properties":{"keyRotationIntervalDays":{"type":"integer","description":"An interval of public/private key rotation for secret engine in days\n"},"name":{"type":"string","description":"Unique human-readable name of the Secret Engine.\n"},"publicKey":{"type":"string","description":"Public key linked with a secret engine\n"},"secretStoreId":{"type":"string","description":"Backing secret store identifier\n"},"secretStoreRootPath":{"type":"string","description":"Backing Secret Store root path where managed secrets are going to be stored\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","secretStoreId","secretStoreRootPath"],"language":{"nodejs":{"requiredOutputs":["name","publicKey","secretStoreId","secretStoreRootPath"]}}},"sdm:index/SecretEngineMysqlSecretEngine:SecretEngineMysqlSecretEngine":{"properties":{"afterReadTtl":{"type":"string","description":"The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.\n"},"database":{"type":"string","description":"Database is the database to verify credential against.\n"},"hostname":{"type":"string","description":"Hostname is the hostname or IP address of the SQL Server.\n"},"keyRotationIntervalDays":{"type":"integer","description":"An interval of public/private key rotation for secret engine in days\n"},"name":{"type":"string","description":"Unique human-readable name of the Secret Engine.\n"},"password":{"type":"string","description":"Password is the password to connect to the SQL Server server.\n"},"port":{"type":"integer","description":"Port is the port number of the SQL Server server.\n"},"publicKey":{"type":"string","description":"Public key linked with a secret engine\n"},"secretStoreId":{"type":"string","description":"Backing secret store identifier\n"},"secretStoreRootPath":{"type":"string","description":"Backing Secret Store root path where managed secrets are going to be stored\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tls":{"type":"boolean","description":"TLS enables TLS/SSL when connecting to the SQL Server server.\n"},"tlsSkipVerify":{"type":"boolean","description":"TLS disable certificate verification\n"},"ttl":{"type":"string","description":"The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.\n"},"username":{"type":"string","description":"Username is the username to connect to the SQL Server.\n"}},"type":"object","required":["database","hostname","name","password","port","secretStoreId","secretStoreRootPath","username"],"language":{"nodejs":{"requiredOutputs":["database","hostname","name","password","port","publicKey","secretStoreId","secretStoreRootPath","username"]}}},"sdm:index/SecretEnginePostgresSecretEngine:SecretEnginePostgresSecretEngine":{"properties":{"afterReadTtl":{"type":"string","description":"The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.\n"},"database":{"type":"string","description":"Database is the database to verify credential against.\n"},"hostname":{"type":"string","description":"Hostname is the hostname or IP address of the SQL Server.\n"},"keyRotationIntervalDays":{"type":"integer","description":"An interval of public/private key rotation for secret engine in days\n"},"name":{"type":"string","description":"Unique human-readable name of the Secret Engine.\n"},"password":{"type":"string","description":"Password is the password to connect to the SQL Server server.\n"},"port":{"type":"integer","description":"Port is the port number of the SQL Server server.\n"},"publicKey":{"type":"string","description":"Public key linked with a secret engine\n"},"secretStoreId":{"type":"string","description":"Backing secret store identifier\n"},"secretStoreRootPath":{"type":"string","description":"Backing Secret Store root path where managed secrets are going to be stored\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tls":{"type":"boolean","description":"TLS enables TLS/SSL when connecting to the SQL Server server.\n"},"ttl":{"type":"string","description":"The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.\n"},"username":{"type":"string","description":"Username is the username to connect to the SQL Server.\n"}},"type":"object","required":["database","hostname","name","password","port","secretStoreId","secretStoreRootPath","username"],"language":{"nodejs":{"requiredOutputs":["database","hostname","name","password","port","publicKey","secretStoreId","secretStoreRootPath","username"]}}},"sdm:index/SecretEngineSqlserverSecretEngine:SecretEngineSqlserverSecretEngine":{"properties":{"afterReadTtl":{"type":"string","description":"The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.\n"},"database":{"type":"string","description":"Database is the database to verify credential against.\n"},"hostname":{"type":"string","description":"Hostname is the hostname or IP address of the SQL Server.\n"},"keyRotationIntervalDays":{"type":"integer","description":"An interval of public/private key rotation for secret engine in days\n"},"name":{"type":"string","description":"Unique human-readable name of the Secret Engine.\n"},"password":{"type":"string","description":"Password is the password to connect to the SQL Server server.\n"},"port":{"type":"integer","description":"Port is the port number of the SQL Server server.\n"},"publicKey":{"type":"string","description":"Public key linked with a secret engine\n"},"secretStoreId":{"type":"string","description":"Backing secret store identifier\n"},"secretStoreRootPath":{"type":"string","description":"Backing Secret Store root path where managed secrets are going to be stored\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tls":{"type":"boolean","description":"TLS enables TLS/SSL when connecting to the SQL Server server.\n"},"tlsSkipVerify":{"type":"boolean","description":"TLS disable certificate verification\n"},"ttl":{"type":"string","description":"The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.\n"},"username":{"type":"string","description":"Username is the username to connect to the SQL Server.\n"}},"type":"object","required":["database","hostname","name","password","port","secretStoreId","secretStoreRootPath","username"],"language":{"nodejs":{"requiredOutputs":["database","hostname","name","password","port","publicKey","secretStoreId","secretStoreRootPath","username"]}}},"sdm:index/SecretStoreActiveDirectoryStore:SecretStoreActiveDirectoryStore":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","serverAddress"]},"sdm:index/SecretStoreAws:SecretStoreAws":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"region":{"type":"string","description":"The AWS region to target e.g. us-east-1\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","region"]},"sdm:index/SecretStoreAwsCertX509:SecretStoreAwsCertX509":{"properties":{"caArn":{"type":"string","description":"The ARN of the CA in AWS Private CA\n"},"certificateTemplateArn":{"type":"string","description":"The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"region":{"type":"string","description":"The AWS region to target e.g. us-east-1\n"},"signingAlgo":{"type":"string","description":"The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["caArn","certificateTemplateArn","issuedCertTtlMinutes","name","region","signingAlgo"]},"sdm:index/SecretStoreAzureStore:SecretStoreAzureStore":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"vaultUri":{"type":"string","description":"The URI of the key vault to target e.g. https://myvault.vault.azure.net\n* cyberark_conjur:\n"}},"type":"object","required":["name","vaultUri"]},"sdm:index/SecretStoreCyberarkConjur:SecretStoreCyberarkConjur":{"properties":{"appUrl":{"type":"string","description":"The URL of the Cyberark instance\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["appUrl","name"]},"sdm:index/SecretStoreCyberarkPam:SecretStoreCyberarkPam":{"properties":{"appUrl":{"type":"string","description":"The URL of the Cyberark instance\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["appUrl","name"]},"sdm:index/SecretStoreCyberarkPamExperimental:SecretStoreCyberarkPamExperimental":{"properties":{"appUrl":{"type":"string","description":"The URL of the Cyberark instance\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["appUrl","name"]},"sdm:index/SecretStoreDelineaStore:SecretStoreDelineaStore":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"serverUrl":{"type":"string","description":"The URL of the Delinea instance\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tenantName":{"type":"string","description":"The tenant name to target\n* gcp_store:\n"}},"type":"object","required":["name"]},"sdm:index/SecretStoreGcpCertX509Store:SecretStoreGcpCertX509Store":{"properties":{"caId":{"type":"string","description":"The ID of the target CA\n"},"caPoolId":{"type":"string","description":"The ID of the target CA pool\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"location":{"type":"string","description":"The Region for the CA in GCP format e.g. us-west1\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"projectId":{"type":"string","description":"The GCP project ID to target.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["caPoolId","issuedCertTtlMinutes","location","name","projectId"]},"sdm:index/SecretStoreGcpStore:SecretStoreGcpStore":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"projectId":{"type":"string","description":"The GCP project ID to target.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","projectId"]},"sdm:index/SecretStoreKeyfactorSshStore:SecretStoreKeyfactorSshStore":{"properties":{"caFilePath":{"type":"string","description":"Path to the root CA that signed the certificate passed to the client for HTTPS connection. This is not required if the CA is trusted by the host operating system. This should be a PEM formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.\n"},"certificateFilePath":{"type":"string","description":"Path to client certificate in PEM format. This certificate must contain a client certificate that is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private key associated with the certificate, but KeyFile can also be set to configure the private key.\n"},"defaultCertificateAuthorityName":{"type":"string","description":"Name of EJBCA certificate authority that will enroll CSR.\n"},"defaultCertificateProfileName":{"type":"string","description":"Certificate profile name that EJBCA will enroll the CSR with.\n"},"defaultEndEntityProfileName":{"type":"string","description":"End entity profile that EJBCA will enroll the CSR with.\n"},"enrollmentCodeEnvVar":{"type":"string","description":"code used by EJBCA during enrollment. May be left blank if no code is required.\n"},"enrollmentUsernameEnvVar":{"type":"string","description":"username that used by the EJBCA during enrollment. This can be left out.  If so, the username must be auto-generated on the Keyfactor side.\n"},"keyFilePath":{"type":"string","description":"Path to private key in PEM format. This file should contain the private key associated with the client certificate configured in CertificateFile.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["certificateFilePath","defaultCertificateAuthorityName","defaultCertificateProfileName","defaultEndEntityProfileName","name","serverAddress"]},"sdm:index/SecretStoreKeyfactorX509Store:SecretStoreKeyfactorX509Store":{"properties":{"caFilePath":{"type":"string","description":"Path to the root CA that signed the certificate passed to the client for HTTPS connection. This is not required if the CA is trusted by the host operating system. This should be a PEM formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.\n"},"certificateFilePath":{"type":"string","description":"Path to client certificate in PEM format. This certificate must contain a client certificate that is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private key associated with the certificate, but KeyFile can also be set to configure the private key.\n"},"defaultCertificateAuthorityName":{"type":"string","description":"Name of EJBCA certificate authority that will enroll CSR.\n"},"defaultCertificateProfileName":{"type":"string","description":"Certificate profile name that EJBCA will enroll the CSR with.\n"},"defaultEndEntityProfileName":{"type":"string","description":"End entity profile that EJBCA will enroll the CSR with.\n"},"enrollmentCodeEnvVar":{"type":"string","description":"code used by EJBCA during enrollment. May be left blank if no code is required.\n"},"enrollmentUsernameEnvVar":{"type":"string","description":"username that used by the EJBCA during enrollment. This can be left out.  If so, the username must be auto-generated on the Keyfactor side.\n"},"keyFilePath":{"type":"string","description":"Path to private key in PEM format. This file should contain the private key associated with the client certificate configured in CertificateFile.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["certificateFilePath","defaultCertificateAuthorityName","defaultCertificateProfileName","defaultEndEntityProfileName","name","serverAddress"]},"sdm:index/SecretStoreStrongVault:SecretStoreStrongVault":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name"]},"sdm:index/SecretStoreVaultApprole:SecretStoreVaultApprole":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","serverAddress"]},"sdm:index/SecretStoreVaultApproleCertSsh:SecretStoreVaultApproleCertSsh":{"properties":{"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"sshMountPoint":{"type":"string","description":"The mount point of the SSH engine configured with the desired CA\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["issuedCertTtlMinutes","name","serverAddress","signingRole","sshMountPoint"]},"sdm:index/SecretStoreVaultApproleCertX509:SecretStoreVaultApproleCertX509":{"properties":{"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"pkiMountPoint":{"type":"string","description":"The mount point of the PKI engine configured with the desired CA\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["issuedCertTtlMinutes","name","pkiMountPoint","serverAddress","signingRole"]},"sdm:index/SecretStoreVaultAwsEc2:SecretStoreVaultAwsEc2":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","serverAddress"]},"sdm:index/SecretStoreVaultAwsEc2CertSsh:SecretStoreVaultAwsEc2CertSsh":{"properties":{"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"sshMountPoint":{"type":"string","description":"The mount point of the SSH engine configured with the desired CA\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["issuedCertTtlMinutes","name","serverAddress","signingRole","sshMountPoint"]},"sdm:index/SecretStoreVaultAwsEc2CertX509:SecretStoreVaultAwsEc2CertX509":{"properties":{"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"pkiMountPoint":{"type":"string","description":"The mount point of the PKI engine configured with the desired CA\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["issuedCertTtlMinutes","name","pkiMountPoint","serverAddress","signingRole"]},"sdm:index/SecretStoreVaultAwsIam:SecretStoreVaultAwsIam":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","serverAddress"]},"sdm:index/SecretStoreVaultAwsIamCertSsh:SecretStoreVaultAwsIamCertSsh":{"properties":{"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"sshMountPoint":{"type":"string","description":"The mount point of the SSH engine configured with the desired CA\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["issuedCertTtlMinutes","name","serverAddress","signingRole","sshMountPoint"]},"sdm:index/SecretStoreVaultAwsIamCertX509:SecretStoreVaultAwsIamCertX509":{"properties":{"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"pkiMountPoint":{"type":"string","description":"The mount point of the PKI engine configured with the desired CA\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["issuedCertTtlMinutes","name","pkiMountPoint","serverAddress","signingRole"]},"sdm:index/SecretStoreVaultTls:SecretStoreVaultTls":{"properties":{"caCertPath":{"type":"string","description":"A path to a CA file accessible by a Node\n"},"clientCertPath":{"type":"string","description":"A path to a client certificate file accessible by a Node\n"},"clientKeyPath":{"type":"string","description":"A path to a client key file accessible by a Node\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["clientCertPath","clientKeyPath","name","serverAddress"]},"sdm:index/SecretStoreVaultTlsCertSsh:SecretStoreVaultTlsCertSsh":{"properties":{"caCertPath":{"type":"string","description":"A path to a CA file accessible by a Node\n"},"clientCertPath":{"type":"string","description":"A path to a client certificate file accessible by a Node\n"},"clientKeyPath":{"type":"string","description":"A path to a client key file accessible by a Node\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"sshMountPoint":{"type":"string","description":"The mount point of the SSH engine configured with the desired CA\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["clientCertPath","clientKeyPath","issuedCertTtlMinutes","name","serverAddress","signingRole","sshMountPoint"]},"sdm:index/SecretStoreVaultTlsCertX509:SecretStoreVaultTlsCertX509":{"properties":{"caCertPath":{"type":"string","description":"A path to a CA file accessible by a Node\n"},"clientCertPath":{"type":"string","description":"A path to a client certificate file accessible by a Node\n"},"clientKeyPath":{"type":"string","description":"A path to a client key file accessible by a Node\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"pkiMountPoint":{"type":"string","description":"The mount point of the PKI engine configured with the desired CA\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["clientCertPath","clientKeyPath","issuedCertTtlMinutes","name","pkiMountPoint","serverAddress","signingRole"]},"sdm:index/SecretStoreVaultToken:SecretStoreVaultToken":{"properties":{"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["name","serverAddress"]},"sdm:index/SecretStoreVaultTokenCertSsh:SecretStoreVaultTokenCertSsh":{"properties":{"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"sshMountPoint":{"type":"string","description":"The mount point of the SSH engine configured with the desired CA\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["issuedCertTtlMinutes","name","serverAddress","signingRole","sshMountPoint"]},"sdm:index/SecretStoreVaultTokenCertX509:SecretStoreVaultTokenCertX509":{"properties":{"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"pkiMountPoint":{"type":"string","description":"The mount point of the PKI engine configured with the desired CA\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["issuedCertTtlMinutes","name","pkiMountPoint","serverAddress","signingRole"]},"sdm:index/getAccountAccount:getAccountAccount":{"properties":{"services":{"type":"array","items":{"$ref":"#/types/sdm:index/getAccountAccountService:getAccountAccountService"},"description":"A Service is a service account that can connect to resources they are granted directly, or granted via roles. Services are typically automated jobs.\n"},"tokens":{"type":"array","items":{"$ref":"#/types/sdm:index/getAccountAccountToken:getAccountAccountToken"},"description":"A Token is an account providing tokenized access for automation or integration use. Tokens include admin tokens, API keys, and SCIM tokens.\n"},"users":{"type":"array","items":{"$ref":"#/types/sdm:index/getAccountAccountUser:getAccountAccountUser"},"description":"A User can connect to resources they are granted directly, or granted via roles.\n"}},"type":"object","required":["services","tokens","users"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getAccountAccountService:getAccountAccountService":{"properties":{"createdAt":{"type":"string","description":"CreatedAt is the timestamp when the user was created\n"},"id":{"type":"string","description":"Unique identifier of the User.\n"},"name":{"type":"string","description":"Unique human-readable name of the Token.\n"},"suspended":{"type":"boolean","description":"Reserved for future use.  Always false for tokens.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["createdAt"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getAccountAccountToken:getAccountAccountToken":{"properties":{"accountType":{"type":"string","description":"Corresponds to the type of token, e.g. api or admin-token.\n"},"createdAt":{"type":"string","description":"CreatedAt is the timestamp when the user was created\n"},"deadline":{"type":"string","description":"The timestamp when the Token will expire.\n"},"duration":{"type":"string","description":"Duration from token creation to expiration.\n"},"id":{"type":"string","description":"Unique identifier of the User.\n"},"name":{"type":"string","description":"Unique human-readable name of the Token.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"Permissions assigned to the token, e.g. role:create.\n"},"rekeyed":{"type":"string","description":"The timestamp when the Token was last rekeyed.\n"},"suspended":{"type":"boolean","description":"Reserved for future use.  Always false for tokens.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["createdAt"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getAccountAccountUser:getAccountAccountUser":{"properties":{"createdAt":{"type":"string","description":"CreatedAt is the timestamp when the user was created\n"},"email":{"type":"string","description":"The User's email address. Must be unique.\n"},"employeeNumber":{"type":"string","description":"Internal employee ID used to identify the user.\n"},"externalId":{"type":"string","description":"External ID is an alternative unique ID this user is represented by within an external service.\n"},"firstName":{"type":"string","description":"The User's first name.\n"},"id":{"type":"string","description":"Unique identifier of the User.\n"},"lastName":{"type":"string","description":"The User's last name.\n"},"managedBy":{"type":"string","description":"Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.\n"},"managerId":{"type":"string","description":"Manager ID is the ID of the user's manager. This field is empty when the user has no manager.\n"},"permissionLevel":{"type":"string","description":"PermissionLevel is the user's permission level e.g. admin, DBA, user.\n"},"resolvedManagerId":{"type":"string","description":"Resolved Manager ID is the ID of the user's manager derived from the manager_id, if present, or from the SCIM metadata. This is a read-only field that's only populated for get and list.\n"},"scim":{"type":"string","description":"SCIM contains the raw SCIM metadata for the user. This is a read-only field.\n"},"suspended":{"type":"boolean","description":"Reserved for future use.  Always false for tokens.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["createdAt","managedBy","resolvedManagerId","scim","suspended"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getAccountAttachmentAccountAttachment:getAccountAttachmentAccountAttachment":{"properties":{"accountId":{"type":"string","description":"The id of the account of this AccountAttachment.\n"},"id":{"type":"string","description":"Unique identifier of the AccountAttachment.\n"},"roleId":{"type":"string","description":"The id of the attached role of this AccountAttachment.\n"}},"type":"object"},"sdm:index/getAccountGroupAccountsGroup:getAccountGroupAccountsGroup":{"properties":{"accountId":{"type":"string","description":"Unique identifier of the Account.\n"},"groupId":{"type":"string","description":"Unique identifier of the Group.\n"},"id":{"type":"string","description":"Unique identifier of the AccountGroup.\n"}},"type":"object"},"sdm:index/getApprovalWorkflowApprovalStep:getApprovalWorkflowApprovalStep":{"properties":{"approvers":{"type":"array","items":{"$ref":"#/types/sdm:index/getApprovalWorkflowApprovalStepApprover:getApprovalWorkflowApprovalStepApprover"},"description":"The approvers for this approval step\n"},"quantifier":{"type":"string","description":"Whether any or all approvers are required to approve for this approval step (optional, defaults to any)\n"},"skipAfter":{"type":"string","description":"Duration after which this approval step will be skipped if no approval is given (optional, if not provided this step must be manually approved)\n"}},"type":"object","required":["approvers"]},"sdm:index/getApprovalWorkflowApprovalStepApprover:getApprovalWorkflowApprovalStepApprover":{"properties":{"accountId":{"type":"string","description":"The account id of the approver (only one of account_id, role_id, group id, or reference may be present for one approver)\n"},"groupId":{"type":"string","description":"The group id of the approver (only one of account_id, role_id, group id, or reference may be present for one approver)\n"},"reference":{"type":"string","description":"A reference to an approver: 'manager-of-requester' or 'manager-of-manager-of-requester' (only one of account_id, role_id, group id, or reference may be present for one approver)\n"},"roleId":{"type":"string","description":"The role id of the approver (only one of account_id, role_id, group id, or reference may be present for one approver)\n"}},"type":"object"},"sdm:index/getApprovalWorkflowApprovalWorkflow:getApprovalWorkflowApprovalWorkflow":{"properties":{"approvalMode":{"type":"string","description":"Approval mode of the ApprovalWorkflow\n"},"approvalSteps":{"type":"array","items":{"$ref":"#/types/sdm:index/getApprovalWorkflowApprovalWorkflowApprovalStep:getApprovalWorkflowApprovalWorkflowApprovalStep"},"description":"The approval steps of this approval workflow\n"},"description":{"type":"string","description":"Optional description of the ApprovalWorkflow.\n"},"id":{"type":"string","description":"Unique identifier of the ApprovalWorkflow.\n"},"name":{"type":"string","description":"Unique human-readable name of the ApprovalWorkflow.\n"}},"type":"object"},"sdm:index/getApprovalWorkflowApprovalWorkflowApprovalStep:getApprovalWorkflowApprovalWorkflowApprovalStep":{"properties":{"approvers":{"type":"array","items":{"$ref":"#/types/sdm:index/getApprovalWorkflowApprovalWorkflowApprovalStepApprover:getApprovalWorkflowApprovalWorkflowApprovalStepApprover"},"description":"The approvers for this approval step\n"},"quantifier":{"type":"string","description":"Whether any or all approvers are required to approve for this approval step (optional, defaults to any)\n"},"skipAfter":{"type":"string","description":"Duration after which this approval step will be skipped if no approval is given (optional, if not provided this step must be manually approved)\n"}},"type":"object","required":["approvers"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getApprovalWorkflowApprovalWorkflowApprovalStepApprover:getApprovalWorkflowApprovalWorkflowApprovalStepApprover":{"properties":{"accountId":{"type":"string","description":"The account id of the approver (only one of account_id, role_id, group id, or reference may be present for one approver)\n"},"groupId":{"type":"string","description":"The group id of the approver (only one of account_id, role_id, group id, or reference may be present for one approver)\n"},"reference":{"type":"string","description":"A reference to an approver: 'manager-of-requester' or 'manager-of-manager-of-requester' (only one of account_id, role_id, group id, or reference may be present for one approver)\n"},"roleId":{"type":"string","description":"The role id of the approver (only one of account_id, role_id, group id, or reference may be present for one approver)\n"}},"type":"object"},"sdm:index/getConnectorDiscoveryConnector:getConnectorDiscoveryConnector":{"properties":{"aws":{"type":"array","items":{"$ref":"#/types/sdm:index/getConnectorDiscoveryConnectorAw:getConnectorDiscoveryConnectorAw"}},"azures":{"type":"array","items":{"$ref":"#/types/sdm:index/getConnectorDiscoveryConnectorAzure:getConnectorDiscoveryConnectorAzure"}},"gcps":{"type":"array","items":{"$ref":"#/types/sdm:index/getConnectorDiscoveryConnectorGcp:getConnectorDiscoveryConnectorGcp"}}},"type":"object","required":["aws","azures","gcps"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getConnectorDiscoveryConnectorAw:getConnectorDiscoveryConnectorAw":{"properties":{"accountIds":{"type":"array","items":{"type":"string"},"description":"AccountIds is the list of AWS Accounts to scan\n"},"description":{"type":"string","description":"Description of the Connector.\n"},"id":{"type":"string","description":"Unique identifier of the Connector.\n"},"name":{"type":"string","description":"Unique human-readable name of the Connector.\n"},"roleName":{"type":"string","description":"RoleName is the Role we're assuming into for an account\n"},"scanPeriod":{"type":"string","description":"ScanPeriod identifies which remote system this Connector discovers\n"},"services":{"type":"array","items":{"type":"string"},"description":"Services is a list of services this connector should scan.\n"}},"type":"object"},"sdm:index/getConnectorDiscoveryConnectorAzure:getConnectorDiscoveryConnectorAzure":{"properties":{"clientId":{"type":"string","description":"ClientId is the ID of the Application / Service Account we're acting as\n"},"description":{"type":"string","description":"Description of the Connector.\n"},"id":{"type":"string","description":"Unique identifier of the Connector.\n"},"name":{"type":"string","description":"Unique human-readable name of the Connector.\n"},"scanPeriod":{"type":"string","description":"ScanPeriod identifies which remote system this Connector discovers\n"},"services":{"type":"array","items":{"type":"string"},"description":"Services is a list of services this connector should scan.\n"},"subscriptionIds":{"type":"array","items":{"type":"string"},"description":"SubscriptionIds are the targets of discovery.\n"},"tenantId":{"type":"string","description":"TenantId is the Azure Tenant we're discovering in\n"}},"type":"object"},"sdm:index/getConnectorDiscoveryConnectorGcp:getConnectorDiscoveryConnectorGcp":{"properties":{"description":{"type":"string","description":"Description of the Connector.\n"},"id":{"type":"string","description":"Unique identifier of the Connector.\n"},"name":{"type":"string","description":"Unique human-readable name of the Connector.\n"},"projectIds":{"type":"array","items":{"type":"string"},"description":"ProjectIds is the list of GCP Projects the connector will scan\n"},"scanPeriod":{"type":"string","description":"ScanPeriod identifies which remote system this Connector discovers\n"},"services":{"type":"array","items":{"type":"string"},"description":"Services is a list of services this connector should scan.\n"},"workloadPoolId":{"type":"string","description":"WorkloadPoolId is the GCP Workload Pool Identifier used to authenticate our JWT\n"},"workloadProjectId":{"type":"string","description":"WorkloadProjectId is the GCP Project ID where the Workload Pool is defined\n"},"workloadProjectNumber":{"type":"string","description":"WorkloadProjectNumber is the GCP Project Number where the Workload Pool is defined\n"},"workloadProviderId":{"type":"string","description":"WorkloadProviderId is the GCP Workload Provider Identifier used to authenticate our JWT\n"}},"type":"object"},"sdm:index/getGroupGroup:getGroupGroup":{"properties":{"description":{"type":"string","description":"Description of the Group.\n"},"id":{"type":"string","description":"Unique identifier of the Group.\n"},"name":{"type":"string","description":"Unique human-readable name of the Group.\n"},"source":{"type":"string","description":"Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key/value pairs that can be attached to a Group.\n"}},"type":"object","required":["source"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getGroupRoleGroupsRole:getGroupRoleGroupsRole":{"properties":{"groupId":{"type":"string","description":"The assigned Group ID.\n"},"id":{"type":"string","description":"Unique identifier of the GroupRole.\n"},"roleId":{"type":"string","description":"The assigned Role ID.\n"}},"type":"object"},"sdm:index/getIdentityAliasIdentityAlias:getIdentityAliasIdentityAlias":{"properties":{"accountId":{"type":"string","description":"The account for this identity alias.\n"},"id":{"type":"string","description":"Unique identifier of the IdentityAlias.\n"},"identitySetId":{"type":"string","description":"The identity set.\n"},"username":{"type":"string","description":"The username to be used as the identity alias for this account.\n"}},"type":"object"},"sdm:index/getIdentitySetIdentitySet:getIdentitySetIdentitySet":{"properties":{"id":{"type":"string","description":"Unique identifier of the IdentitySet.\n"},"name":{"type":"string","description":"Unique human-readable name of the IdentitySet.\n"}},"type":"object"},"sdm:index/getManagedSecretManagedSecret:getManagedSecretManagedSecret":{"properties":{"config":{"type":"string","description":"public part of the secret value\n"},"expiresAt":{"type":"string","description":"Timestamp of when secret is going to be rotated\n"},"id":{"type":"string","description":"Unique identifier of the Managed Secret.\n"},"lastRotatedAt":{"type":"string","description":"Timestamp of when secret was last rotated\n"},"name":{"type":"string","description":"Unique human-readable name of the Managed Secret.\n"},"secretEngineId":{"type":"string","description":"An ID of a Secret Engine linked with the Managed Secret.\n"},"secretStorePath":{"type":"string","description":"Path in a secret store.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"value":{"type":"string","description":"Sensitive value of the secret.\n","secret":true}},"type":"object","required":["config","expiresAt","lastRotatedAt","secretStorePath"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getNodeNode:getNodeNode":{"properties":{"gateways":{"type":"array","items":{"$ref":"#/types/sdm:index/getNodeNodeGateway:getNodeNodeGateway"},"description":"Gateway represents a StrongDM CLI installation running in gateway mode.\n"},"proxyClusters":{"type":"array","items":{"$ref":"#/types/sdm:index/getNodeNodeProxyCluster:getNodeNodeProxyCluster"},"description":"ProxyCluster represents a cluster of StrongDM proxies.\n"},"relays":{"type":"array","items":{"$ref":"#/types/sdm:index/getNodeNodeRelay:getNodeNodeRelay"},"description":"Relay represents a StrongDM CLI installation running in relay mode.\n"}},"type":"object","required":["gateways","proxyClusters","relays"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getNodeNodeGateway:getNodeNodeGateway":{"properties":{"bindAddress":{"type":"string","description":"The hostname/port tuple which the gateway daemon will bind to. If not provided on create, set to \"0.0.0.0:listen_address_port\".\n"},"device":{"type":"string","description":"Device is a read only device name uploaded by the gateway process when it comes online.\n"},"gatewayFilter":{"type":"string","description":"GatewayFilter can be used to restrict the peering between relays and gateways. Deprecated.\n"},"id":{"type":"string","description":"Unique identifier of the Relay.\n"},"listenAddress":{"type":"string","description":"The public hostname/port tuple at which the gateway will be accessible to clients.\n"},"location":{"type":"string","description":"Location is a read only network location uploaded by the gateway process when it comes online.\n"},"maintenanceWindows":{"type":"array","items":{"$ref":"#/types/sdm:index/getNodeNodeGatewayMaintenanceWindow:getNodeNodeGatewayMaintenanceWindow"},"description":"Maintenance Windows define when this node is allowed to restart. If a node is requested to restart, it will check each window to determine if any of them permit it to restart, and if any do, it will. This check is repeated per window until the restart is successfully completed.  If not set here, may be set on the command line or via an environment variable on the process itself; any server setting will take precedence over local settings. This setting is ineffective for nodes below version 38.44.0.  If this setting is not applied via this remote configuration or via local configuration, the default setting is used: always allow restarts if serving no connections, and allow a restart even if serving connections between 7-8 UTC, any day.\n"},"name":{"type":"string","description":"Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"version":{"type":"string","description":"Version is a read only sdm binary version uploaded by the gateway process when it comes online.\n"}},"type":"object","required":["device","location","version"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getNodeNodeGatewayMaintenanceWindow:getNodeNodeGatewayMaintenanceWindow":{"properties":{"cronSchedule":{"type":"string"},"requireIdleness":{"type":"boolean"}},"type":"object","required":["cronSchedule","requireIdleness"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getNodeNodeProxyCluster:getNodeNodeProxyCluster":{"properties":{"address":{"type":"string","description":"The public hostname/port tuple at which the proxy cluster will be accessible to clients.\n"},"id":{"type":"string","description":"Unique identifier of the Relay.\n"},"maintenanceWindows":{"type":"array","items":{"$ref":"#/types/sdm:index/getNodeNodeProxyClusterMaintenanceWindow:getNodeNodeProxyClusterMaintenanceWindow"},"description":"Maintenance Windows define when this node is allowed to restart. If a node is requested to restart, it will check each window to determine if any of them permit it to restart, and if any do, it will. This check is repeated per window until the restart is successfully completed.  If not set here, may be set on the command line or via an environment variable on the process itself; any server setting will take precedence over local settings. This setting is ineffective for nodes below version 38.44.0.  If this setting is not applied via this remote configuration or via local configuration, the default setting is used: always allow restarts if serving no connections, and allow a restart even if serving connections between 7-8 UTC, any day.\n"},"name":{"type":"string","description":"Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getNodeNodeProxyClusterMaintenanceWindow:getNodeNodeProxyClusterMaintenanceWindow":{"properties":{"cronSchedule":{"type":"string"},"requireIdleness":{"type":"boolean"}},"type":"object","required":["cronSchedule","requireIdleness"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getNodeNodeRelay:getNodeNodeRelay":{"properties":{"device":{"type":"string","description":"Device is a read only device name uploaded by the gateway process when it comes online.\n"},"gatewayFilter":{"type":"string","description":"GatewayFilter can be used to restrict the peering between relays and gateways. Deprecated.\n"},"id":{"type":"string","description":"Unique identifier of the Relay.\n"},"location":{"type":"string","description":"Location is a read only network location uploaded by the gateway process when it comes online.\n"},"maintenanceWindows":{"type":"array","items":{"$ref":"#/types/sdm:index/getNodeNodeRelayMaintenanceWindow:getNodeNodeRelayMaintenanceWindow"},"description":"Maintenance Windows define when this node is allowed to restart. If a node is requested to restart, it will check each window to determine if any of them permit it to restart, and if any do, it will. This check is repeated per window until the restart is successfully completed.  If not set here, may be set on the command line or via an environment variable on the process itself; any server setting will take precedence over local settings. This setting is ineffective for nodes below version 38.44.0.  If this setting is not applied via this remote configuration or via local configuration, the default setting is used: always allow restarts if serving no connections, and allow a restart even if serving connections between 7-8 UTC, any day.\n"},"name":{"type":"string","description":"Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"version":{"type":"string","description":"Version is a read only sdm binary version uploaded by the gateway process when it comes online.\n"}},"type":"object","required":["device","location","version"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getNodeNodeRelayMaintenanceWindow:getNodeNodeRelayMaintenanceWindow":{"properties":{"cronSchedule":{"type":"string"},"requireIdleness":{"type":"boolean"}},"type":"object","required":["cronSchedule","requireIdleness"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getPeeringGroupNodePeeringGroupNode:getPeeringGroupNodePeeringGroupNode":{"properties":{"groupId":{"type":"string","description":"Peering Group ID to which the node will be attached to.\n"},"id":{"type":"string","description":"Unique identifier of the Attachment.\n"},"nodeId":{"type":"string","description":"Node ID to be attached.\n"}},"type":"object"},"sdm:index/getPeeringGroupPeerPeeringGroupPeer:getPeeringGroupPeerPeeringGroupPeer":{"properties":{"groupId":{"type":"string","description":"Group ID from which the link will originate.\n"},"id":{"type":"string","description":"Unique identifier of the Attachment.\n"},"peersWithGroupId":{"type":"string","description":"Peering Group ID to which Group ID will link.\n"}},"type":"object"},"sdm:index/getPeeringGroupPeeringGroup:getPeeringGroupPeeringGroup":{"properties":{"id":{"type":"string","description":"Unique identifier of the PeeringGroup.\n"},"name":{"type":"string","description":"Unique human-readable name of the PeeringGroup.\n"}},"type":"object"},"sdm:index/getPeeringGroupResourcePeeringGroupResource:getPeeringGroupResourcePeeringGroupResource":{"properties":{"groupId":{"type":"string","description":"Peering Group ID to which the resource will be attached to.\n"},"id":{"type":"string","description":"Unique identifier of the Attachment.\n"},"resourceId":{"type":"string","description":"Resource ID to be attached.\n"}},"type":"object"},"sdm:index/getPolicyPolicy:getPolicyPolicy":{"properties":{"description":{"type":"string","description":"Optional description of the Policy.\n"},"id":{"type":"string","description":"Unique identifier of the Policy.\n"},"name":{"type":"string","description":"Unique human-readable name of the Policy.\n"},"policy":{"type":"string","description":"The content of the Policy, in Cedar policy language.\n"}},"type":"object"},"sdm:index/getProxyClusterKeyProxyClusterKey:getProxyClusterKeyProxyClusterKey":{"properties":{"id":{"type":"string","description":"Unique identifier of the Relay.\n"},"proxyClusterId":{"type":"string","description":"The ID of the proxy cluster which this key authenticates to.\n"}},"type":"object"},"sdm:index/getRemoteIdentityGroupRemoteIdentityGroup:getRemoteIdentityGroupRemoteIdentityGroup":{"properties":{"id":{"type":"string","description":"Unique identifier of the RemoteIdentityGroup.\n"},"name":{"type":"string","description":"Unique human-readable name of the RemoteIdentityGroup.\n"}},"type":"object"},"sdm:index/getRemoteIdentityRemoteIdentity:getRemoteIdentityRemoteIdentity":{"properties":{"accountId":{"type":"string","description":"The account for this remote identity.\n"},"id":{"type":"string","description":"Unique identifier of the RemoteIdentity.\n"},"remoteIdentityGroupId":{"type":"string","description":"The remote identity group.\n"},"username":{"type":"string","description":"The username to be used as the remote identity for this account.\n"}},"type":"object"},"sdm:index/getResourceResource:getResourceResource":{"properties":{"aerospikes":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAerospike:getResourceResourceAerospike"}},"aks":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAk:getResourceResourceAk"}},"aksBasicAuths":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAksBasicAuth:getResourceResourceAksBasicAuth"}},"aksServiceAccountUserImpersonations":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAksServiceAccountUserImpersonation:getResourceResourceAksServiceAccountUserImpersonation"},"deprecationMessage":"aks_service_account_user_impersonation is deprecated, see docs for more info"},"aksServiceAccounts":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAksServiceAccount:getResourceResourceAksServiceAccount"}},"aksUserImpersonations":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAksUserImpersonation:getResourceResourceAksUserImpersonation"},"deprecationMessage":"aks_user_impersonation is deprecated, see docs for more info"},"amazonEks":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAmazonEk:getResourceResourceAmazonEk"}},"amazonEksInstanceProfileUserImpersonations":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAmazonEksInstanceProfileUserImpersonation:getResourceResourceAmazonEksInstanceProfileUserImpersonation"},"deprecationMessage":"amazon_eks_instance_profile_user_impersonation is deprecated, see docs for more info"},"amazonEksInstanceProfiles":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAmazonEksInstanceProfile:getResourceResourceAmazonEksInstanceProfile"}},"amazonEksUserImpersonations":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAmazonEksUserImpersonation:getResourceResourceAmazonEksUserImpersonation"},"deprecationMessage":"amazon_eks_user_impersonation is deprecated, see docs for more info"},"amazonEs":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAmazonE:getResourceResourceAmazonE"}},"amazonEsiams":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAmazonEsiam:getResourceResourceAmazonEsiam"}},"amazonmqAmqp091s":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAmazonmqAmqp091:getResourceResourceAmazonmqAmqp091"}},"amazonmqAmqps":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAmazonmqAmqp:getResourceResourceAmazonmqAmqp"}},"athenaIams":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAthenaIam:getResourceResourceAthenaIam"}},"athenas":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAthena:getResourceResourceAthena"}},"auroraMysqlIams":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAuroraMysqlIam:getResourceResourceAuroraMysqlIam"}},"auroraMysqls":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAuroraMysql:getResourceResourceAuroraMysql"}},"auroraPostgres":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAuroraPostgre:getResourceResourceAuroraPostgre"}},"auroraPostgresIams":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAuroraPostgresIam:getResourceResourceAuroraPostgresIam"}},"aws":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAw:getResourceResourceAw"}},"awsConsoleStaticKeyPairs":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAwsConsoleStaticKeyPair:getResourceResourceAwsConsoleStaticKeyPair"}},"awsConsoles":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAwsConsole:getResourceResourceAwsConsole"}},"awsInstanceProfiles":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAwsInstanceProfile:getResourceResourceAwsInstanceProfile"}},"azureCertificates":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAzureCertificate:getResourceResourceAzureCertificate"}},"azureMysqlManagedIdentities":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAzureMysqlManagedIdentity:getResourceResourceAzureMysqlManagedIdentity"}},"azureMysqls":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAzureMysql:getResourceResourceAzureMysql"}},"azurePostgres":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAzurePostgre:getResourceResourceAzurePostgre"}},"azurePostgresManagedIdentities":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAzurePostgresManagedIdentity:getResourceResourceAzurePostgresManagedIdentity"}},"azures":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceAzure:getResourceResourceAzure"}},"bigQueries":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceBigQuery:getResourceResourceBigQuery"}},"cassandras":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceCassandra:getResourceResourceCassandra"}},"cituses":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceCitus:getResourceResourceCitus"}},"clickHouseHttps":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceClickHouseHttp:getResourceResourceClickHouseHttp"}},"clickHouseMySqls":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceClickHouseMySql:getResourceResourceClickHouseMySql"}},"clickHouseTcps":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceClickHouseTcp:getResourceResourceClickHouseTcp"}},"clustrixes":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceClustrix:getResourceResourceClustrix"}},"cockroaches":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceCockroach:getResourceResourceCockroach"}},"couchbaseDatabases":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceCouchbaseDatabase:getResourceResourceCouchbaseDatabase"}},"couchbaseWebUis":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceCouchbaseWebUi:getResourceResourceCouchbaseWebUi"}},"db2Is":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceDb2I:getResourceResourceDb2I"}},"db2Luws":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceDb2Luw:getResourceResourceDb2Luw"}},"documentDbHostIams":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceDocumentDbHostIam:getResourceResourceDocumentDbHostIam"}},"documentDbHosts":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceDocumentDbHost:getResourceResourceDocumentDbHost"}},"documentDbReplicaSetIams":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceDocumentDbReplicaSetIam:getResourceResourceDocumentDbReplicaSetIam"}},"documentDbReplicaSets":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceDocumentDbReplicaSet:getResourceResourceDocumentDbReplicaSet"}},"druids":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceDruid:getResourceResourceDruid"}},"dynamoDbiams":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceDynamoDbiam:getResourceResourceDynamoDbiam"}},"dynamoDbs":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceDynamoDb:getResourceResourceDynamoDb"}},"elasticacheRedis":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceElasticacheRedi:getResourceResourceElasticacheRedi"}},"elasticacheRedisIams":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceElasticacheRedisIam:getResourceResourceElasticacheRedisIam"}},"elastics":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceElastic:getResourceResourceElastic"}},"entraIds":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceEntraId:getResourceResourceEntraId"}},"gcpConsoles":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceGcpConsole:getResourceResourceGcpConsole"}},"gcps":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceGcp:getResourceResourceGcp"}},"gcpwifs":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceGcpwif:getResourceResourceGcpwif"}},"googleGkeUserImpersonations":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceGoogleGkeUserImpersonation:getResourceResourceGoogleGkeUserImpersonation"},"deprecationMessage":"google_gke_user_impersonation is deprecated, see docs for more info"},"googleGkes":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceGoogleGke:getResourceResourceGoogleGke"}},"googleSpanners":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceGoogleSpanner:getResourceResourceGoogleSpanner"}},"greenplums":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceGreenplum:getResourceResourceGreenplum"}},"httpAuths":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceHttpAuth:getResourceResourceHttpAuth"}},"httpBasicAuths":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceHttpBasicAuth:getResourceResourceHttpBasicAuth"}},"httpNoAuths":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceHttpNoAuth:getResourceResourceHttpNoAuth"}},"kubernetes":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceKubernete:getResourceResourceKubernete"}},"kubernetesBasicAuths":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceKubernetesBasicAuth:getResourceResourceKubernetesBasicAuth"}},"kubernetesPodIdentities":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceKubernetesPodIdentity:getResourceResourceKubernetesPodIdentity"}},"kubernetesServiceAccountUserImpersonations":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceKubernetesServiceAccountUserImpersonation:getResourceResourceKubernetesServiceAccountUserImpersonation"},"deprecationMessage":"kubernetes_service_account_user_impersonation is deprecated, see docs for more info"},"kubernetesServiceAccounts":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceKubernetesServiceAccount:getResourceResourceKubernetesServiceAccount"}},"kubernetesUserImpersonations":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceKubernetesUserImpersonation:getResourceResourceKubernetesUserImpersonation"},"deprecationMessage":"kubernetes_user_impersonation is deprecated, see docs for more info"},"marias":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceMaria:getResourceResourceMaria"}},"mcps":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceMcp:getResourceResourceMcp"}},"memcacheds":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceMemcached:getResourceResourceMemcached"}},"memsqls":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceMemsql:getResourceResourceMemsql"}},"mongoHosts":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceMongoHost:getResourceResourceMongoHost"}},"mongoLegacyHosts":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceMongoLegacyHost:getResourceResourceMongoLegacyHost"}},"mongoLegacyReplicasets":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceMongoLegacyReplicaset:getResourceResourceMongoLegacyReplicaset"}},"mongoReplicaSets":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceMongoReplicaSet:getResourceResourceMongoReplicaSet"}},"mongoShardedClusters":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceMongoShardedCluster:getResourceResourceMongoShardedCluster"}},"mtlsMysqls":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceMtlsMysql:getResourceResourceMtlsMysql"}},"mtlsPostgres":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceMtlsPostgre:getResourceResourceMtlsPostgre"}},"mysqls":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceMysql:getResourceResourceMysql"}},"neptuneIams":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceNeptuneIam:getResourceResourceNeptuneIam"}},"neptunes":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceNeptune:getResourceResourceNeptune"}},"oktaGroups":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceOktaGroup:getResourceResourceOktaGroup"}},"oracleNnes":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceOracleNne:getResourceResourceOracleNne"}},"oracles":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceOracle:getResourceResourceOracle"}},"postgres":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourcePostgre:getResourceResourcePostgre"}},"prestos":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourcePresto:getResourceResourcePresto"}},"rabbitmqAmqp091s":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceRabbitmqAmqp091:getResourceResourceRabbitmqAmqp091"}},"rawTcps":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceRawTcp:getResourceResourceRawTcp"}},"rdpCerts":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceRdpCert:getResourceResourceRdpCert"}},"rdps":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceRdp:getResourceResourceRdp"}},"rdsPostgresIams":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceRdsPostgresIam:getResourceResourceRdsPostgresIam"}},"redis":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceRedi:getResourceResourceRedi"}},"redisClusters":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceRedisCluster:getResourceResourceRedisCluster"}},"redshiftIams":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceRedshiftIam:getResourceResourceRedshiftIam"}},"redshiftServerlessIams":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceRedshiftServerlessIam:getResourceResourceRedshiftServerlessIam"}},"redshifts":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceRedshift:getResourceResourceRedshift"}},"singleStores":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceSingleStore:getResourceResourceSingleStore"}},"snowflakes":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceSnowflake:getResourceResourceSnowflake"}},"snowsights":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceSnowsight:getResourceResourceSnowsight"}},"sqlServerAzureAds":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceSqlServerAzureAd:getResourceResourceSqlServerAzureAd"}},"sqlServerKerberosAds":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceSqlServerKerberosAd:getResourceResourceSqlServerKerberosAd"}},"sqlServers":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceSqlServer:getResourceResourceSqlServer"}},"sshCerts":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceSshCert:getResourceResourceSshCert"}},"sshCustomerKeys":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceSshCustomerKey:getResourceResourceSshCustomerKey"}},"sshPasswords":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceSshPassword:getResourceResourceSshPassword"}},"sshes":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceSsh:getResourceResourceSsh"}},"sybaseIqs":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceSybaseIq:getResourceResourceSybaseIq"}},"sybases":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceSybase:getResourceResourceSybase"}},"teradatas":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceTeradata:getResourceResourceTeradata"}},"trinos":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceTrino:getResourceResourceTrino"}},"verticas":{"type":"array","items":{"$ref":"#/types/sdm:index/getResourceResourceVertica:getResourceResourceVertica"}}},"type":"object","required":["aerospikes","aks","aksBasicAuths","aksServiceAccounts","aksServiceAccountUserImpersonations","aksUserImpersonations","amazonEks","amazonEksInstanceProfiles","amazonEksInstanceProfileUserImpersonations","amazonEksUserImpersonations","amazonEs","amazonEsiams","amazonmqAmqps","amazonmqAmqp091s","athenas","athenaIams","auroraMysqls","auroraMysqlIams","auroraPostgres","auroraPostgresIams","aws","awsConsoles","awsConsoleStaticKeyPairs","awsInstanceProfiles","azures","azureCertificates","azureMysqls","azureMysqlManagedIdentities","azurePostgres","azurePostgresManagedIdentities","bigQueries","cassandras","cituses","clickHouseHttps","clickHouseMySqls","clickHouseTcps","clustrixes","cockroaches","couchbaseDatabases","couchbaseWebUis","db2Is","db2Luws","documentDbHosts","documentDbHostIams","documentDbReplicaSets","documentDbReplicaSetIams","druids","dynamoDbs","dynamoDbiams","elastics","elasticacheRedis","elasticacheRedisIams","entraIds","gcps","gcpConsoles","gcpwifs","googleGkes","googleGkeUserImpersonations","googleSpanners","greenplums","httpAuths","httpBasicAuths","httpNoAuths","kubernetes","kubernetesBasicAuths","kubernetesPodIdentities","kubernetesServiceAccounts","kubernetesServiceAccountUserImpersonations","kubernetesUserImpersonations","marias","mcps","memcacheds","memsqls","mongoHosts","mongoLegacyHosts","mongoLegacyReplicasets","mongoReplicaSets","mongoShardedClusters","mtlsMysqls","mtlsPostgres","mysqls","neptunes","neptuneIams","oktaGroups","oracles","oracleNnes","postgres","prestos","rabbitmqAmqp091s","rawTcps","rdps","rdpCerts","rdsPostgresIams","redis","redisClusters","redshifts","redshiftIams","redshiftServerlessIams","singleStores","snowflakes","snowsights","sqlServers","sqlServerAzureAds","sqlServerKerberosAds","sshes","sshCerts","sshCustomerKeys","sshPasswords","sybases","sybaseIqs","teradatas","trinos","verticas"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getResourceResourceAerospike:getResourceResourceAerospike":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useServicesAlternate":{"type":"boolean","description":"If true, uses UseServicesAlternates directive for Aerospike connection\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceAk:getResourceResourceAk":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"clientKey":{"type":"string","description":"The key to authenticate TLS connections with.\n","secret":true},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceAksBasicAuth:getResourceResourceAksBasicAuth":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceAksServiceAccount:getResourceResourceAksServiceAccount":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"token":{"type":"string","description":"The API token to authenticate with.\n* kubernetes_user_impersonation:\n","secret":true}},"type":"object"},"sdm:index/getResourceResourceAksServiceAccountUserImpersonation:getResourceResourceAksServiceAccountUserImpersonation":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"token":{"type":"string","description":"The API token to authenticate with.\n* kubernetes_user_impersonation:\n","secret":true}},"type":"object"},"sdm:index/getResourceResourceAksUserImpersonation:getResourceResourceAksUserImpersonation":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"clientKey":{"type":"string","description":"The key to authenticate TLS connections with.\n","secret":true},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceAmazonE:getResourceResourceAmazonE":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceAmazonEk:getResourceResourceAmazonEk":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clusterName":{"type":"string","description":"The name of the cluster to connect to.\n"},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceAmazonEksInstanceProfile:getResourceResourceAmazonEksInstanceProfile":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clusterName":{"type":"string","description":"The name of the cluster to connect to.\n"},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceAmazonEksInstanceProfileUserImpersonation:getResourceResourceAmazonEksInstanceProfileUserImpersonation":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clusterName":{"type":"string","description":"The name of the cluster to connect to.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceAmazonEksUserImpersonation:getResourceResourceAmazonEksUserImpersonation":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clusterName":{"type":"string","description":"The name of the cluster to connect to.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceAmazonEsiam:getResourceResourceAmazonEsiam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"}},"type":"object"},"sdm:index/getResourceResourceAmazonmqAmqp091:getResourceResourceAmazonmqAmqp091":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceAmazonmqAmqp:getResourceResourceAmazonmqAmqp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceAthena:getResourceResourceAthena":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"output":{"type":"string","description":"The AWS S3 output location.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceAthenaIam:getResourceResourceAthenaIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"output":{"type":"string","description":"The AWS S3 output location.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceAuroraMysql:getResourceResourceAuroraMysql":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceAuroraMysqlIam:getResourceResourceAuroraMysqlIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleAssumptionArn":{"type":"string","description":"If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceAuroraPostgre:getResourceResourceAuroraPostgre":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceAuroraPostgresIam:getResourceResourceAuroraPostgresIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleAssumptionArn":{"type":"string","description":"If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceAw:getResourceResourceAw":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckRegion":{"type":"string","description":"The AWS region healthcheck requests should attempt to connect to.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceAwsConsole:getResourceResourceAwsConsole":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"enableEnvVariables":{"type":"boolean","description":"If true, prefer environment variables to authenticate connection even if EC2 roles are configured.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"sessionExpiry":{"type":"integer","description":"The length of time in seconds console sessions will live before needing to reauthenticate.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceAwsConsoleStaticKeyPair:getResourceResourceAwsConsoleStaticKeyPair":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"sessionExpiry":{"type":"integer","description":"The length of time in seconds console sessions will live before needing to reauthenticate.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceAwsInstanceProfile:getResourceResourceAwsInstanceProfile":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"enableEnvVariables":{"type":"boolean","description":"If true, prefer environment variables to authenticate connection even if EC2 roles are configured.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceAzure:getResourceResourceAzure":{"properties":{"appId":{"type":"string","description":"The application ID to authenticate with.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tenantId":{"type":"string","description":"The Azure AD directory (tenant) ID with which to authenticate.\n* sql_server_kerberos_ad:\n"}},"type":"object"},"sdm:index/getResourceResourceAzureCertificate:getResourceResourceAzureCertificate":{"properties":{"appId":{"type":"string","description":"The application ID to authenticate with.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tenantId":{"type":"string","description":"The Azure AD directory (tenant) ID with which to authenticate.\n* sql_server_kerberos_ad:\n"}},"type":"object"},"sdm:index/getResourceResourceAzureMysql:getResourceResourceAzureMysql":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceAzureMysqlManagedIdentity:getResourceResourceAzureMysqlManagedIdentity":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceAzurePostgre:getResourceResourceAzurePostgre":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceAzurePostgresManagedIdentity:getResourceResourceAzurePostgresManagedIdentity":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceBigQuery:getResourceResourceBigQuery":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"privateKey":{"type":"string","description":"The private key used to authenticate with the server.\n","secret":true},"project":{"type":"string","description":"The GCP project ID containing the Spanner database.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceCassandra:getResourceResourceCassandra":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceCitus:getResourceResourceCitus":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceClickHouseHttp:getResourceResourceClickHouseHttp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"url":{"type":"string","description":"The base address of your website without the path.\n* kubernetes:\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceClickHouseMySql:getResourceResourceClickHouseMySql":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceClickHouseTcp:getResourceResourceClickHouseTcp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceClustrix:getResourceResourceClustrix":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceCockroach:getResourceResourceCockroach":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceCouchbaseDatabase:getResourceResourceCouchbaseDatabase":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"n1QlPort":{"type":"integer","description":"The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceCouchbaseWebUi:getResourceResourceCouchbaseWebUi":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"url":{"type":"string","description":"The base address of your website without the path.\n* kubernetes:\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceDb2I:getResourceResourceDb2I":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceDb2Luw:getResourceResourceDb2Luw":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceDocumentDbHost:getResourceResourceDocumentDbHost":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceDocumentDbHostIam:getResourceResourceDocumentDbHostIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceDocumentDbReplicaSet:getResourceResourceDocumentDbReplicaSet":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"connectToReplica":{"type":"boolean","description":"Set to connect to a replica instead of the primary node.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceDocumentDbReplicaSetIam:getResourceResourceDocumentDbReplicaSetIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"connectToReplica":{"type":"boolean","description":"Set to connect to a replica instead of the primary node.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceDruid:getResourceResourceDruid":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceDynamoDb:getResourceResourceDynamoDb":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceDynamoDbiam:getResourceResourceDynamoDbiam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceElastic:getResourceResourceElastic":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceElasticacheRedi:getResourceResourceElasticacheRedi":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceElasticacheRedisIam:getResourceResourceElasticacheRedisIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleAssumptionArn":{"type":"string","description":"If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceEntraId:getResourceResourceEntraId":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"groupNames":{"type":"string","description":"comma separated list of group names to filter by. Supports wildcards (*)\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"managementGroupId":{"type":"string","description":"The management group ID to authenticate scope Privileges to.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"privilegeLevels":{"type":"string","description":"The privilege levels specify which Groups are managed externally\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"resourceGroupId":{"type":"string","description":"filters discovered groups to the specified Resource Group\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"subscriptionId":{"type":"string","description":"The subscription ID to authenticate scope Privileges to.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tenantId":{"type":"string","description":"The Azure AD directory (tenant) ID with which to authenticate.\n* sql_server_kerberos_ad:\n"}},"type":"object"},"sdm:index/getResourceResourceGcp:getResourceResourceGcp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"keyfile":{"type":"string","description":"The service account keyfile to authenticate with.\n","secret":true},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"scopes":{"type":"string","description":"Space separated scopes that this login should assume into when authenticating.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceGcpConsole:getResourceResourceGcpConsole":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"sessionExpiry":{"type":"integer","description":"The length of time in seconds console sessions will live before needing to reauthenticate.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"workforcePoolId":{"type":"string","description":"The ID of the Workforce Identity Pool in GCP to use for federated authentication.\n"},"workforceProviderId":{"type":"string","description":"The ID of the Workforce Identity Provider in GCP to use for federated authentication.\n* google_gke:\n"}},"type":"object"},"sdm:index/getResourceResourceGcpwif:getResourceResourceGcpwif":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"projectId":{"type":"string","description":"When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"scopes":{"type":"string","description":"Space separated scopes that this login should assume into when authenticating.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"sessionExpiry":{"type":"integer","description":"The length of time in seconds console sessions will live before needing to reauthenticate.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"workforcePoolId":{"type":"string","description":"The ID of the Workforce Identity Pool in GCP to use for federated authentication.\n"},"workforceProviderId":{"type":"string","description":"The ID of the Workforce Identity Provider in GCP to use for federated authentication.\n* google_gke:\n"}},"type":"object"},"sdm:index/getResourceResourceGoogleGke:getResourceResourceGoogleGke":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serviceAccountKey":{"type":"string","description":"The service account key to authenticate with.\n","secret":true},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceGoogleGkeUserImpersonation:getResourceResourceGoogleGkeUserImpersonation":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serviceAccountKey":{"type":"string","description":"The service account key to authenticate with.\n","secret":true},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceGoogleSpanner:getResourceResourceGoogleSpanner":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"instance":{"type":"string","description":"The Spanner instance ID within the GCP project.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"project":{"type":"string","description":"The GCP project ID containing the Spanner database.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serviceAccountToImpersonate":{"type":"string","description":"Optional service account email to impersonate. When set, the relay's Application Default Credentials will impersonate this service account to access Spanner. This allows role separation where the relay uses one service account but operates as another.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceGreenplum:getResourceResourceGreenplum":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceHttpAuth:getResourceResourceHttpAuth":{"properties":{"authHeader":{"type":"string","description":"The content to set as the authorization header.\n","secret":true},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"defaultPath":{"type":"string","description":"Automatically redirect to this path upon connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"headersBlacklist":{"type":"string","description":"Header names (e.g. Authorization), to omit from logs.\n"},"healthcheckPath":{"type":"string","description":"This path will be used to check the health of your site.\n"},"hostOverride":{"type":"string","description":"The host header will be overwritten with this field if provided.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"url":{"type":"string","description":"The base address of your website without the path.\n* kubernetes:\n"}},"type":"object"},"sdm:index/getResourceResourceHttpBasicAuth:getResourceResourceHttpBasicAuth":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"defaultPath":{"type":"string","description":"Automatically redirect to this path upon connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"headersBlacklist":{"type":"string","description":"Header names (e.g. Authorization), to omit from logs.\n"},"healthcheckPath":{"type":"string","description":"This path will be used to check the health of your site.\n"},"hostOverride":{"type":"string","description":"The host header will be overwritten with this field if provided.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"url":{"type":"string","description":"The base address of your website without the path.\n* kubernetes:\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceHttpNoAuth:getResourceResourceHttpNoAuth":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"defaultPath":{"type":"string","description":"Automatically redirect to this path upon connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"headersBlacklist":{"type":"string","description":"Header names (e.g. Authorization), to omit from logs.\n"},"healthcheckPath":{"type":"string","description":"This path will be used to check the health of your site.\n"},"hostOverride":{"type":"string","description":"The host header will be overwritten with this field if provided.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"url":{"type":"string","description":"The base address of your website without the path.\n* kubernetes:\n"}},"type":"object"},"sdm:index/getResourceResourceKubernete:getResourceResourceKubernete":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"clientKey":{"type":"string","description":"The key to authenticate TLS connections with.\n","secret":true},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceKubernetesBasicAuth:getResourceResourceKubernetesBasicAuth":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceKubernetesPodIdentity:getResourceResourceKubernetesPodIdentity":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceKubernetesServiceAccount:getResourceResourceKubernetesServiceAccount":{"properties":{"allowResourceRoleBypass":{"type":"boolean","description":"If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"discoveryUsername":{"type":"string","description":"If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"token":{"type":"string","description":"The API token to authenticate with.\n* kubernetes_user_impersonation:\n","secret":true}},"type":"object"},"sdm:index/getResourceResourceKubernetesServiceAccountUserImpersonation:getResourceResourceKubernetesServiceAccountUserImpersonation":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"token":{"type":"string","description":"The API token to authenticate with.\n* kubernetes_user_impersonation:\n","secret":true}},"type":"object"},"sdm:index/getResourceResourceKubernetesUserImpersonation:getResourceResourceKubernetesUserImpersonation":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"clientKey":{"type":"string","description":"The key to authenticate TLS connections with.\n","secret":true},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckNamespace":{"type":"string","description":"The path used to check the health of your connection.  Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.  This field is required, and is only marked as optional for backwards compatibility.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceMaria:getResourceResourceMaria":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceMcp:getResourceResourceMcp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"oauthAuthEndpoint":{"type":"string","description":"The OAuth 2.0 authorization endpoint URL.\n"},"oauthRegisterEndpoint":{"type":"string","description":"The OAuth 2.0 dynamic client registration endpoint URL.\n"},"oauthTokenEndpoint":{"type":"string","description":"The OAuth 2.0 token endpoint URL.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceMemcached:getResourceResourceMemcached":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceMemsql:getResourceResourceMemsql":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceMongoHost:getResourceResourceMongoHost":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceMongoLegacyHost:getResourceResourceMongoLegacyHost":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceMongoLegacyReplicaset:getResourceResourceMongoLegacyReplicaset":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"connectToReplica":{"type":"boolean","description":"Set to connect to a replica instead of the primary node.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceMongoReplicaSet:getResourceResourceMongoReplicaSet":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"connectToReplica":{"type":"boolean","description":"Set to connect to a replica instead of the primary node.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceMongoShardedCluster:getResourceResourceMongoShardedCluster":{"properties":{"authDatabase":{"type":"string","description":"The authentication database to use.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceMtlsMysql:getResourceResourceMtlsMysql":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"clientKey":{"type":"string","description":"The key to authenticate TLS connections with.\n","secret":true},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serverName":{"type":"string","description":"Server name for TLS verification (unverified by StrongDM if empty)\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceMtlsPostgre:getResourceResourceMtlsPostgre":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"certificateAuthority":{"type":"string","description":"The CA to authenticate TLS connections with.\n","secret":true},"clientCertificate":{"type":"string","description":"The certificate to authenticate TLS connections with.\n","secret":true},"clientKey":{"type":"string","description":"The key to authenticate TLS connections with.\n","secret":true},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serverName":{"type":"string","description":"Server name for TLS verification (unverified by StrongDM if empty)\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceMysql:getResourceResourceMysql":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceNeptune:getResourceResourceNeptune":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceNeptuneIam:getResourceResourceNeptuneIam":{"properties":{"accessKey":{"type":"string","description":"The Access Key ID to use to authenticate.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"endpoint":{"type":"string","description":"The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"secretAccessKey":{"type":"string","description":"The Secret Access Key to use to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceOktaGroup:getResourceResourceOktaGroup":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"discoveryEnabled":{"type":"boolean","description":"If true, configures discovery of the Okta org to be run from a node.\n"},"domain":{"type":"string","description":"Represents the Okta Org Client URL\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"groupNames":{"type":"string","description":"comma separated list of group names to filter by. Supports wildcards (*)\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"privilegeLevels":{"type":"string","description":"The privilege levels specify which Groups are managed externally\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceOracle:getResourceResourceOracle":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceOracleNne:getResourceResourceOracleNne":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourcePostgre:getResourceResourcePostgre":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourcePresto:getResourceResourcePresto":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceRabbitmqAmqp091:getResourceResourceRabbitmqAmqp091":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceRawTcp:getResourceResourceRawTcp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceRdp:getResourceResourceRdp":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"downgradeNlaConnections":{"type":"boolean","description":"When set, network level authentication will not be used. May resolve unexpected authentication errors to older servers. When set, healthchecks cannot detect if a provided username / password pair is correct.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"lockRequired":{"type":"boolean","description":"When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceRdpCert:getResourceResourceRdpCert":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"dcHostnames":{"type":"string","description":"Comma-separated list of Active Directory Domain Controller hostnames. Required in on-premises AD environments for Kerberos Network Level Authentication (NLA), and for LDAPS SID resolution for strong certificate mapping in full enforcement mode when the identity alias does not specify a SID. Unused for Entra ID.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"lockRequired":{"type":"boolean","description":"When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serverFqdn":{"type":"string","description":"Fully-qualified DNS name of the target Windows server, including the AD domain. Must match the Service Principal Name (SPN) of the server in AD. Required in on-premises AD environments for Kerberos Network Level Authentication (NLA), unused for Entra ID.\n"},"sid":{"type":"string","description":"Windows Security Identifier (SID) of the configured Username, or AD service account if using LDAPS SID resolution. Required in on-premises AD environments for strong certificate mapping in full enforcement mode, unused for Entra ID.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceRdsPostgresIam:getResourceResourceRdsPostgresIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleAssumptionArn":{"type":"string","description":"If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceRedi:getResourceResourceRedi":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceRedisCluster:getResourceResourceRedisCluster":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceRedshift:getResourceResourceRedshift":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceRedshiftIam:getResourceResourceRedshiftIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"clusterId":{"type":"string","description":"Cluster Identified of Redshift cluster\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleAssumptionArn":{"type":"string","description":"If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceRedshiftServerlessIam:getResourceResourceRedshiftServerlessIam":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"region":{"type":"string","description":"The AWS region to connect to.\n"},"roleAssumptionArn":{"type":"string","description":"If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"workgroup":{"type":"string","description":"Workgroup name in the serverless Redshift\n* single_store:\n"}},"type":"object"},"sdm:index/getResourceResourceSingleStore:getResourceResourceSingleStore":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"requireNativeAuth":{"type":"boolean","description":"Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"useAzureSingleServerUsernames":{"type":"boolean","description":"If true, appends the hostname to the username when hitting a database.azure.com address\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceSnowflake:getResourceResourceSnowflake":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"privateKey":{"type":"string","description":"The private key used to authenticate with the server.\n","secret":true},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"schema":{"type":"string","description":"The Schema to use to direct initial requests.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["password"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getResourceResourceSnowsight:getResourceResourceSnowsight":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"connectToDefault":{"type":"boolean","description":"If true, select the ACS with isDefault=true\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"healthcheckUsername":{"type":"string","description":"The StrongDM user email to use for healthchecks.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"samlMetadata":{"type":"string","description":"The Metadata for your snowflake IDP integration\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getResourceResourceSqlServer:getResourceResourceSqlServer":{"properties":{"allowDeprecatedEncryption":{"type":"boolean","description":"Whether to allow deprecated encryption protocols to be used for this resource. For example, TLS 1.0.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"schema":{"type":"string","description":"The Schema to use to direct initial requests.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceSqlServerAzureAd:getResourceResourceSqlServerAzureAd":{"properties":{"allowDeprecatedEncryption":{"type":"boolean","description":"Whether to allow deprecated encryption protocols to be used for this resource. For example, TLS 1.0.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"clientId":{"type":"string","description":"The Azure AD application (client) ID with which to authenticate.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"schema":{"type":"string","description":"The Schema to use to direct initial requests.\n"},"secret":{"type":"string","description":"The Azure AD client secret (application password) with which to authenticate.\n","secret":true},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tenantId":{"type":"string","description":"The Azure AD directory (tenant) ID with which to authenticate.\n* sql_server_kerberos_ad:\n"}},"type":"object"},"sdm:index/getResourceResourceSqlServerKerberosAd:getResourceResourceSqlServerKerberosAd":{"properties":{"allowDeprecatedEncryption":{"type":"boolean","description":"Whether to allow deprecated encryption protocols to be used for this resource. For example, TLS 1.0.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"keytab":{"type":"string","description":"The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.\n","secret":true},"krbConfig":{"type":"string","description":"The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.\n","secret":true},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"overrideDatabase":{"type":"boolean","description":"If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"realm":{"type":"string","description":"The Active Directory domain (realm) to which the configured username belongs.\n"},"schema":{"type":"string","description":"The Schema to use to direct initial requests.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"serverSpn":{"type":"string","description":"The Service Principal Name of the Microsoft SQL Server instance in Active Directory.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceSsh:getResourceResourceSsh":{"properties":{"allowDeprecatedKeyExchanges":{"type":"boolean","description":"Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"keyType":{"type":"string","description":"The key type to use e.g. rsa-2048 or ed25519\n"},"lockRequired":{"type":"boolean","description":"When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portForwarding":{"type":"boolean","description":"Whether port forwarding is allowed through this server.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"publicKey":{"type":"string","description":"The public key to append to a server's authorized keys. This will be generated after resource creation.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object","required":["publicKey"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getResourceResourceSshCert:getResourceResourceSshCert":{"properties":{"allowDeprecatedKeyExchanges":{"type":"boolean","description":"Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"keyType":{"type":"string","description":"The key type to use e.g. rsa-2048 or ed25519\n"},"lockRequired":{"type":"boolean","description":"When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portForwarding":{"type":"boolean","description":"Whether port forwarding is allowed through this server.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceSshCustomerKey:getResourceResourceSshCustomerKey":{"properties":{"allowDeprecatedKeyExchanges":{"type":"boolean","description":"Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"identityAliasHealthcheckUsername":{"type":"string","description":"The username to use for healthchecks, when clients otherwise connect with their own identity alias username.\n"},"identitySetId":{"type":"string","description":"The ID of the identity set to use for identity connections.\n"},"lockRequired":{"type":"boolean","description":"When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portForwarding":{"type":"boolean","description":"Whether port forwarding is allowed through this server.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"privateKey":{"type":"string","description":"The private key used to authenticate with the server.\n","secret":true},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceSshPassword:getResourceResourceSshPassword":{"properties":{"allowDeprecatedKeyExchanges":{"type":"boolean","description":"Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.\n"},"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"lockRequired":{"type":"boolean","description":"When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portForwarding":{"type":"boolean","description":"Whether port forwarding is allowed through this server.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceSybase:getResourceResourceSybase":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceSybaseIq:getResourceResourceSybaseIq":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceTeradata:getResourceResourceTeradata":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceTrino:getResourceResourceTrino":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tlsRequired":{"type":"boolean","description":"If set, TLS must be used to connect to this resource.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getResourceResourceVertica:getResourceResourceVertica":{"properties":{"bindInterface":{"type":"string","description":"The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.\n"},"database":{"type":"string","description":"The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.\n"},"egressFilter":{"type":"string","description":"A filter applied to the routing logic to pin datasource to nodes.\n"},"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"password":{"type":"string","description":"The password to authenticate with.\n","secret":true},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"portOverride":{"type":"integer","description":"The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.\n"},"proxyClusterId":{"type":"string","description":"ID of the proxy cluster for this resource, if any.\n"},"secretStoreId":{"type":"string","description":"ID of the secret store containing credentials for this resource, if any.\n"},"subdomain":{"type":"string","description":"DNS subdomain through which this resource may be accessed on clients.  (e.g. \"app-prod1\" allows the resource to be accessed at \"app-prod1.your-org-name.sdm-proxy-domain\"). Only applicable to HTTP-based resources or resources using virtual networking mode.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"sdm:index/getRoleRole:getRoleRole":{"properties":{"accessRules":{"type":"string","description":"AccessRules is a list of access rules defining the resources this Role has access to.\n"},"id":{"type":"string","description":"Unique identifier of the Role.\n"},"managedBy":{"type":"string","description":"Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.\n"},"name":{"type":"string","description":"Unique human-readable name of the Role.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["managedBy"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getSecretEngineSecretEngine:getSecretEngineSecretEngine":{"properties":{"activeDirectories":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretEngineSecretEngineActiveDirectory:getSecretEngineSecretEngineActiveDirectory"}},"keyValues":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretEngineSecretEngineKeyValue:getSecretEngineSecretEngineKeyValue"}},"mysqlSecretEngines":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretEngineSecretEngineMysqlSecretEngine:getSecretEngineSecretEngineMysqlSecretEngine"}},"postgresSecretEngines":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretEngineSecretEnginePostgresSecretEngine:getSecretEngineSecretEnginePostgresSecretEngine"}},"sqlserverSecretEngines":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretEngineSecretEngineSqlserverSecretEngine:getSecretEngineSecretEngineSqlserverSecretEngine"}}},"type":"object","required":["activeDirectories","keyValues","mysqlSecretEngines","postgresSecretEngines","sqlserverSecretEngines"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getSecretEngineSecretEngineActiveDirectory:getSecretEngineSecretEngineActiveDirectory":{"properties":{"afterReadTtl":{"type":"string","description":"The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.\n"},"binddn":{"type":"string","description":"Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com\n"},"bindpass":{"type":"string","description":"Password to use along with binddn when performing user search.\n"},"certificate":{"type":"string","description":"CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.\n"},"connectionTimeout":{"type":"integer","description":"Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.\n"},"doNotValidateTimestamps":{"type":"boolean","description":"If set to true this will prevent password change timestamp validation in Active Directory when validating credentials\n"},"id":{"type":"string","description":"Unique identifier of the Secret Engine.\n"},"insecureTls":{"type":"boolean","description":"If true, skips LDAP server SSL certificate verification - insecure, use with caution!\n"},"keyRotationIntervalDays":{"type":"integer","description":"An interval of public/private key rotation for secret engine in days\n"},"maxBackoffDuration":{"type":"string","description":"The maximum retry duration in case of automatic failure. On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration\n"},"name":{"type":"string","description":"Unique human-readable name of the Secret Engine.\n"},"publicKey":{"type":"string","description":"Public key linked with a secret engine\n"},"requestTimeout":{"type":"integer","description":"Timeout, in seconds, for the connection when making requests against the server before returning back an error.\n"},"secretStoreId":{"type":"string","description":"Backing secret store identifier\n"},"secretStoreRootPath":{"type":"string","description":"Backing Secret Store root path where managed secrets are going to be stored\n"},"startTls":{"type":"boolean","description":"If true, issues a StartTLS command after establishing an unencrypted connection.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"ttl":{"type":"string","description":"The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.\n"},"upndomain":{"type":"string","description":"The domain (userPrincipalDomain) used to construct a UPN string for authentication.\n"},"url":{"type":"string","description":"The LDAP server to connect to.\n"},"userdn":{"type":"string","description":"Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com\n"}},"type":"object","required":["publicKey"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getSecretEngineSecretEngineKeyValue:getSecretEngineSecretEngineKeyValue":{"properties":{"id":{"type":"string","description":"Unique identifier of the Secret Engine.\n"},"keyRotationIntervalDays":{"type":"integer","description":"An interval of public/private key rotation for secret engine in days\n"},"name":{"type":"string","description":"Unique human-readable name of the Secret Engine.\n"},"publicKey":{"type":"string","description":"Public key linked with a secret engine\n"},"secretStoreId":{"type":"string","description":"Backing secret store identifier\n"},"secretStoreRootPath":{"type":"string","description":"Backing Secret Store root path where managed secrets are going to be stored\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object","required":["publicKey"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getSecretEngineSecretEngineMysqlSecretEngine:getSecretEngineSecretEngineMysqlSecretEngine":{"properties":{"afterReadTtl":{"type":"string","description":"The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.\n"},"database":{"type":"string","description":"Database is the database to verify credential against.\n"},"hostname":{"type":"string","description":"Hostname is the hostname or IP address of the SQL Server.\n"},"id":{"type":"string","description":"Unique identifier of the Secret Engine.\n"},"keyRotationIntervalDays":{"type":"integer","description":"An interval of public/private key rotation for secret engine in days\n"},"name":{"type":"string","description":"Unique human-readable name of the Secret Engine.\n"},"password":{"type":"string","description":"Password is the password to connect to the SQL Server server.\n"},"port":{"type":"integer","description":"Port is the port number of the SQL Server server.\n"},"publicKey":{"type":"string","description":"Public key linked with a secret engine\n"},"secretStoreId":{"type":"string","description":"Backing secret store identifier\n"},"secretStoreRootPath":{"type":"string","description":"Backing Secret Store root path where managed secrets are going to be stored\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tls":{"type":"boolean","description":"TLS enables TLS/SSL when connecting to the SQL Server server.\n"},"tlsSkipVerify":{"type":"boolean","description":"TLS disable certificate verification\n"},"ttl":{"type":"string","description":"The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.\n"},"username":{"type":"string","description":"Username is the username to connect to the SQL Server.\n"}},"type":"object","required":["publicKey"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getSecretEngineSecretEnginePostgresSecretEngine:getSecretEngineSecretEnginePostgresSecretEngine":{"properties":{"afterReadTtl":{"type":"string","description":"The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.\n"},"database":{"type":"string","description":"Database is the database to verify credential against.\n"},"hostname":{"type":"string","description":"Hostname is the hostname or IP address of the SQL Server.\n"},"id":{"type":"string","description":"Unique identifier of the Secret Engine.\n"},"keyRotationIntervalDays":{"type":"integer","description":"An interval of public/private key rotation for secret engine in days\n"},"name":{"type":"string","description":"Unique human-readable name of the Secret Engine.\n"},"password":{"type":"string","description":"Password is the password to connect to the SQL Server server.\n"},"port":{"type":"integer","description":"Port is the port number of the SQL Server server.\n"},"publicKey":{"type":"string","description":"Public key linked with a secret engine\n"},"secretStoreId":{"type":"string","description":"Backing secret store identifier\n"},"secretStoreRootPath":{"type":"string","description":"Backing Secret Store root path where managed secrets are going to be stored\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tls":{"type":"boolean","description":"TLS enables TLS/SSL when connecting to the SQL Server server.\n"},"ttl":{"type":"string","description":"The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.\n"},"username":{"type":"string","description":"Username is the username to connect to the SQL Server.\n"}},"type":"object","required":["publicKey"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getSecretEngineSecretEngineSqlserverSecretEngine:getSecretEngineSecretEngineSqlserverSecretEngine":{"properties":{"afterReadTtl":{"type":"string","description":"The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.\n"},"database":{"type":"string","description":"Database is the database to verify credential against.\n"},"hostname":{"type":"string","description":"Hostname is the hostname or IP address of the SQL Server.\n"},"id":{"type":"string","description":"Unique identifier of the Secret Engine.\n"},"keyRotationIntervalDays":{"type":"integer","description":"An interval of public/private key rotation for secret engine in days\n"},"name":{"type":"string","description":"Unique human-readable name of the Secret Engine.\n"},"password":{"type":"string","description":"Password is the password to connect to the SQL Server server.\n"},"port":{"type":"integer","description":"Port is the port number of the SQL Server server.\n"},"publicKey":{"type":"string","description":"Public key linked with a secret engine\n"},"secretStoreId":{"type":"string","description":"Backing secret store identifier\n"},"secretStoreRootPath":{"type":"string","description":"Backing Secret Store root path where managed secrets are going to be stored\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tls":{"type":"boolean","description":"TLS enables TLS/SSL when connecting to the SQL Server server.\n"},"tlsSkipVerify":{"type":"boolean","description":"TLS disable certificate verification\n"},"ttl":{"type":"string","description":"The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.\n"},"username":{"type":"string","description":"Username is the username to connect to the SQL Server.\n"}},"type":"object","required":["publicKey"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getSecretStoreSecretStore:getSecretStoreSecretStore":{"properties":{"activeDirectoryStores":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreActiveDirectoryStore:getSecretStoreSecretStoreActiveDirectoryStore"}},"aws":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreAw:getSecretStoreSecretStoreAw"}},"awsCertX509s":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreAwsCertX509:getSecretStoreSecretStoreAwsCertX509"}},"azureStores":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreAzureStore:getSecretStoreSecretStoreAzureStore"}},"cyberarkConjurs":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreCyberarkConjur:getSecretStoreSecretStoreCyberarkConjur"}},"cyberarkPamExperimentals":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreCyberarkPamExperimental:getSecretStoreSecretStoreCyberarkPamExperimental"}},"cyberarkPams":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreCyberarkPam:getSecretStoreSecretStoreCyberarkPam"}},"delineaStores":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreDelineaStore:getSecretStoreSecretStoreDelineaStore"}},"gcpCertX509Stores":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreGcpCertX509Store:getSecretStoreSecretStoreGcpCertX509Store"}},"gcpStores":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreGcpStore:getSecretStoreSecretStoreGcpStore"}},"keyfactorSshStores":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreKeyfactorSshStore:getSecretStoreSecretStoreKeyfactorSshStore"}},"keyfactorX509Stores":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreKeyfactorX509Store:getSecretStoreSecretStoreKeyfactorX509Store"}},"strongVaults":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreStrongVault:getSecretStoreSecretStoreStrongVault"}},"vaultApproleCertSshes":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultApproleCertSsh:getSecretStoreSecretStoreVaultApproleCertSsh"}},"vaultApproleCertX509s":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultApproleCertX509:getSecretStoreSecretStoreVaultApproleCertX509"}},"vaultApproles":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultApprole:getSecretStoreSecretStoreVaultApprole"}},"vaultAwsEc2CertSshes":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultAwsEc2CertSsh:getSecretStoreSecretStoreVaultAwsEc2CertSsh"}},"vaultAwsEc2CertX509s":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultAwsEc2CertX509:getSecretStoreSecretStoreVaultAwsEc2CertX509"}},"vaultAwsEc2s":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultAwsEc2:getSecretStoreSecretStoreVaultAwsEc2"}},"vaultAwsIamCertSshes":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultAwsIamCertSsh:getSecretStoreSecretStoreVaultAwsIamCertSsh"}},"vaultAwsIamCertX509s":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultAwsIamCertX509:getSecretStoreSecretStoreVaultAwsIamCertX509"}},"vaultAwsIams":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultAwsIam:getSecretStoreSecretStoreVaultAwsIam"}},"vaultTls":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultTl:getSecretStoreSecretStoreVaultTl"}},"vaultTlsCertSshes":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultTlsCertSsh:getSecretStoreSecretStoreVaultTlsCertSsh"}},"vaultTlsCertX509s":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultTlsCertX509:getSecretStoreSecretStoreVaultTlsCertX509"}},"vaultTokenCertSshes":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultTokenCertSsh:getSecretStoreSecretStoreVaultTokenCertSsh"}},"vaultTokenCertX509s":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultTokenCertX509:getSecretStoreSecretStoreVaultTokenCertX509"}},"vaultTokens":{"type":"array","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStoreVaultToken:getSecretStoreSecretStoreVaultToken"}}},"type":"object","required":["activeDirectoryStores","aws","awsCertX509s","azureStores","cyberarkConjurs","cyberarkPams","cyberarkPamExperimentals","delineaStores","gcpCertX509Stores","gcpStores","keyfactorSshStores","keyfactorX509Stores","strongVaults","vaultApproles","vaultApproleCertSshes","vaultApproleCertX509s","vaultAwsEc2s","vaultAwsEc2CertSshes","vaultAwsEc2CertX509s","vaultAwsIams","vaultAwsIamCertSshes","vaultAwsIamCertX509s","vaultTls","vaultTlsCertSshes","vaultTlsCertX509s","vaultTokens","vaultTokenCertSshes","vaultTokenCertX509s"],"language":{"nodejs":{"requiredInputs":[]}}},"sdm:index/getSecretStoreSecretStoreActiveDirectoryStore:getSecretStoreSecretStoreActiveDirectoryStore":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreAw:getSecretStoreSecretStoreAw":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"region":{"type":"string","description":"The AWS region to target e.g. us-east-1\n"},"roleArn":{"type":"string","description":"The role to assume after logging in.\n"},"roleExternalId":{"type":"string","description":"The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreAwsCertX509:getSecretStoreSecretStoreAwsCertX509":{"properties":{"caArn":{"type":"string","description":"The ARN of the CA in AWS Private CA\n"},"certificateTemplateArn":{"type":"string","description":"The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR\n"},"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"region":{"type":"string","description":"The AWS region to target e.g. us-east-1\n"},"signingAlgo":{"type":"string","description":"The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreAzureStore:getSecretStoreSecretStoreAzureStore":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"vaultUri":{"type":"string","description":"The URI of the key vault to target e.g. https://myvault.vault.azure.net\n* cyberark_conjur:\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreCyberarkConjur:getSecretStoreSecretStoreCyberarkConjur":{"properties":{"appUrl":{"type":"string","description":"The URL of the Cyberark instance\n"},"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreCyberarkPam:getSecretStoreSecretStoreCyberarkPam":{"properties":{"appUrl":{"type":"string","description":"The URL of the Cyberark instance\n"},"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreCyberarkPamExperimental:getSecretStoreSecretStoreCyberarkPamExperimental":{"properties":{"appUrl":{"type":"string","description":"The URL of the Cyberark instance\n"},"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreDelineaStore:getSecretStoreSecretStoreDelineaStore":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"serverUrl":{"type":"string","description":"The URL of the Delinea instance\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tenantName":{"type":"string","description":"The tenant name to target\n* gcp_store:\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreGcpCertX509Store:getSecretStoreSecretStoreGcpCertX509Store":{"properties":{"caId":{"type":"string","description":"The ID of the target CA\n"},"caPoolId":{"type":"string","description":"The ID of the target CA pool\n"},"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"location":{"type":"string","description":"The Region for the CA in GCP format e.g. us-west1\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"projectId":{"type":"string","description":"The GCP project ID to target.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreGcpStore:getSecretStoreSecretStoreGcpStore":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"projectId":{"type":"string","description":"The GCP project ID to target.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreKeyfactorSshStore:getSecretStoreSecretStoreKeyfactorSshStore":{"properties":{"caFilePath":{"type":"string","description":"Path to the root CA that signed the certificate passed to the client for HTTPS connection. This is not required if the CA is trusted by the host operating system. This should be a PEM formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.\n"},"certificateFilePath":{"type":"string","description":"Path to client certificate in PEM format. This certificate must contain a client certificate that is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private key associated with the certificate, but KeyFile can also be set to configure the private key.\n"},"defaultCertificateAuthorityName":{"type":"string","description":"Name of EJBCA certificate authority that will enroll CSR.\n"},"defaultCertificateProfileName":{"type":"string","description":"Certificate profile name that EJBCA will enroll the CSR with.\n"},"defaultEndEntityProfileName":{"type":"string","description":"End entity profile that EJBCA will enroll the CSR with.\n"},"enrollmentCodeEnvVar":{"type":"string","description":"code used by EJBCA during enrollment. May be left blank if no code is required.\n"},"enrollmentUsernameEnvVar":{"type":"string","description":"username that used by the EJBCA during enrollment. This can be left out.  If so, the username must be auto-generated on the Keyfactor side.\n"},"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"keyFilePath":{"type":"string","description":"Path to private key in PEM format. This file should contain the private key associated with the client certificate configured in CertificateFile.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreKeyfactorX509Store:getSecretStoreSecretStoreKeyfactorX509Store":{"properties":{"caFilePath":{"type":"string","description":"Path to the root CA that signed the certificate passed to the client for HTTPS connection. This is not required if the CA is trusted by the host operating system. This should be a PEM formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.\n"},"certificateFilePath":{"type":"string","description":"Path to client certificate in PEM format. This certificate must contain a client certificate that is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private key associated with the certificate, but KeyFile can also be set to configure the private key.\n"},"defaultCertificateAuthorityName":{"type":"string","description":"Name of EJBCA certificate authority that will enroll CSR.\n"},"defaultCertificateProfileName":{"type":"string","description":"Certificate profile name that EJBCA will enroll the CSR with.\n"},"defaultEndEntityProfileName":{"type":"string","description":"End entity profile that EJBCA will enroll the CSR with.\n"},"enrollmentCodeEnvVar":{"type":"string","description":"code used by EJBCA during enrollment. May be left blank if no code is required.\n"},"enrollmentUsernameEnvVar":{"type":"string","description":"username that used by the EJBCA during enrollment. This can be left out.  If so, the username must be auto-generated on the Keyfactor side.\n"},"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"keyFilePath":{"type":"string","description":"Path to private key in PEM format. This file should contain the private key associated with the client certificate configured in CertificateFile.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreStrongVault:getSecretStoreSecretStoreStrongVault":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultApprole:getSecretStoreSecretStoreVaultApprole":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultApproleCertSsh:getSecretStoreSecretStoreVaultApproleCertSsh":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"sshMountPoint":{"type":"string","description":"The mount point of the SSH engine configured with the desired CA\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultApproleCertX509:getSecretStoreSecretStoreVaultApproleCertX509":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"pkiMountPoint":{"type":"string","description":"The mount point of the PKI engine configured with the desired CA\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultAwsEc2:getSecretStoreSecretStoreVaultAwsEc2":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultAwsEc2CertSsh:getSecretStoreSecretStoreVaultAwsEc2CertSsh":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"sshMountPoint":{"type":"string","description":"The mount point of the SSH engine configured with the desired CA\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultAwsEc2CertX509:getSecretStoreSecretStoreVaultAwsEc2CertX509":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"pkiMountPoint":{"type":"string","description":"The mount point of the PKI engine configured with the desired CA\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultAwsIam:getSecretStoreSecretStoreVaultAwsIam":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultAwsIamCertSsh:getSecretStoreSecretStoreVaultAwsIamCertSsh":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"sshMountPoint":{"type":"string","description":"The mount point of the SSH engine configured with the desired CA\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultAwsIamCertX509:getSecretStoreSecretStoreVaultAwsIamCertX509":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"pkiMountPoint":{"type":"string","description":"The mount point of the PKI engine configured with the desired CA\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultTl:getSecretStoreSecretStoreVaultTl":{"properties":{"caCertPath":{"type":"string","description":"A path to a CA file accessible by a Node\n"},"clientCertPath":{"type":"string","description":"A path to a client certificate file accessible by a Node\n"},"clientKeyPath":{"type":"string","description":"A path to a client key file accessible by a Node\n"},"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultTlsCertSsh:getSecretStoreSecretStoreVaultTlsCertSsh":{"properties":{"caCertPath":{"type":"string","description":"A path to a CA file accessible by a Node\n"},"clientCertPath":{"type":"string","description":"A path to a client certificate file accessible by a Node\n"},"clientKeyPath":{"type":"string","description":"A path to a client key file accessible by a Node\n"},"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"sshMountPoint":{"type":"string","description":"The mount point of the SSH engine configured with the desired CA\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultTlsCertX509:getSecretStoreSecretStoreVaultTlsCertX509":{"properties":{"caCertPath":{"type":"string","description":"A path to a CA file accessible by a Node\n"},"clientCertPath":{"type":"string","description":"A path to a client certificate file accessible by a Node\n"},"clientKeyPath":{"type":"string","description":"A path to a client key file accessible by a Node\n"},"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"pkiMountPoint":{"type":"string","description":"The mount point of the PKI engine configured with the desired CA\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultToken:getSecretStoreSecretStoreVaultToken":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultTokenCertSsh:getSecretStoreSecretStoreVaultTokenCertSsh":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"sshMountPoint":{"type":"string","description":"The mount point of the SSH engine configured with the desired CA\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getSecretStoreSecretStoreVaultTokenCertX509:getSecretStoreSecretStoreVaultTokenCertX509":{"properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"issuedCertTtlMinutes":{"type":"integer","description":"The lifetime of certificates issued by this CA represented in minutes.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"namespace":{"type":"string","description":"The namespace to make requests within\n"},"pkiMountPoint":{"type":"string","description":"The mount point of the PKI engine configured with the desired CA\n"},"serverAddress":{"type":"string","description":"The URL of the Vault to target\n"},"signingRole":{"type":"string","description":"The signing role to be used for signing certificates\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"sdm:index/getWorkflowApproverWorkflowApprover:getWorkflowApproverWorkflowApprover":{"properties":{"accountId":{"type":"string","description":"The approver account id.\n"},"id":{"type":"string","description":"Unique identifier of the WorkflowApprover.\n"},"roleId":{"type":"string","description":"The approver role id\n"},"workflowId":{"type":"string","description":"The workflow id.\n"}},"type":"object"},"sdm:index/getWorkflowRoleWorkflowRole:getWorkflowRoleWorkflowRole":{"properties":{"id":{"type":"string","description":"Unique identifier of the WorkflowRole.\n"},"roleId":{"type":"string","description":"The role id.\n"},"workflowId":{"type":"string","description":"The workflow id.\n"}},"type":"object"},"sdm:index/getWorkflowWorkflow:getWorkflowWorkflow":{"properties":{"accessRequestFixedDuration":{"type":"string","description":"Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.\n"},"accessRequestMaxDuration":{"type":"string","description":"Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.\n"},"accessRules":{"type":"string","description":"AccessRules is a list of access rules defining the resources this Workflow provides access to.\n"},"approvalFlowId":{"type":"string","description":"Optional approval flow ID identifies an approval flow that linked to the workflow\n"},"autoGrant":{"type":"boolean","description":"Optional auto grant setting to automatically approve requests or not, defaults to false.\n","deprecationMessage":"auto_grant is deprecated, see docs for more info"},"description":{"type":"string","description":"Optional description of the Workflow.\n"},"enabled":{"type":"boolean","description":"Optional enabled state for workflow. This setting may be overridden by the system if the workflow doesn't meet the requirements to be enabled or if other conditions prevent enabling the workflow. The requirements to enable a workflow are that the workflow must be either set up for with auto grant enabled or have one or more WorkflowApprovers created for the workflow.\n"},"id":{"type":"string","description":"Unique identifier of the Workflow.\n"},"name":{"type":"string","description":"Unique human-readable name of the Workflow.\n"},"weight":{"type":"integer","description":"Optional weight for workflow to specify it's priority in matching a request.\n"}},"type":"object"}},"provider":{"description":"The provider type for the sdm package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"apiAccessKey":{"type":"string","description":"A GUID identifying the API key used to authenticate with the StrongDM API."},"apiSecretKey":{"type":"string","description":"A base64 encoded secret key used to authenticate with the StrongDM API."},"host":{"type":"string","description":"The host and port of the StrongDM API endpoint."},"retryRateLimitErrors":{"type":"boolean","description":"Whether experienced rate limits should cause the client to sleep instead of erroring out"}},"inputProperties":{"apiAccessKey":{"type":"string","description":"A GUID identifying the API key used to authenticate with the StrongDM API."},"apiSecretKey":{"type":"string","description":"A base64 encoded secret key used to authenticate with the StrongDM API."},"host":{"type":"string","description":"The host and port of the StrongDM API endpoint."},"retryRateLimitErrors":{"type":"boolean","description":"Whether experienced rate limits should cause the client to sleep instead of erroring out"}},"methods":{"terraformConfig":"pulumi:providers:sdm/terraformConfig"}},"resources":{"sdm:index/account:Account":{"description":"Accounts are users that have access to strongDM. The types of accounts are:\n 1. **Users:** humans who are authenticated through username and password or SSO.\n 2. **Service Accounts:** machines that are authenticated using a service token.\n 3. **Tokens** are access keys with permissions that can be used for authentication.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst test_user = new sdm.Account(\"test-user\", {user: {\n    firstName: \"al\",\n    lastName: \"bob\",\n    email: \"albob@strongdm.com\",\n    permissionLevel: \"database-admin\",\n    managerId: \"a-1234abc\",\n    tags: {\n        region: \"us-west\",\n        env: \"dev\",\n    },\n}});\nconst test_service = new sdm.Account(\"test-service\", {service: {\n    name: \"test-service\",\n    tags: {\n        region: \"us-west\",\n        env: \"dev\",\n    },\n}});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\ntest_user = sdm.Account(\"test-user\", user={\n    \"first_name\": \"al\",\n    \"last_name\": \"bob\",\n    \"email\": \"albob@strongdm.com\",\n    \"permission_level\": \"database-admin\",\n    \"manager_id\": \"a-1234abc\",\n    \"tags\": {\n        \"region\": \"us-west\",\n        \"env\": \"dev\",\n    },\n})\ntest_service = sdm.Account(\"test-service\", service={\n    \"name\": \"test-service\",\n    \"tags\": {\n        \"region\": \"us-west\",\n        \"env\": \"dev\",\n    },\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_user = new Sdm.Account(\"test-user\", new()\n    {\n        User = new Sdm.Inputs.AccountUserArgs\n        {\n            FirstName = \"al\",\n            LastName = \"bob\",\n            Email = \"albob@strongdm.com\",\n            PermissionLevel = \"database-admin\",\n            ManagerId = \"a-1234abc\",\n            Tags = \n            {\n                { \"region\", \"us-west\" },\n                { \"env\", \"dev\" },\n            },\n        },\n    });\n\n    var test_service = new Sdm.Account(\"test-service\", new()\n    {\n        Service = new Sdm.Inputs.AccountServiceArgs\n        {\n            Name = \"test-service\",\n            Tags = \n            {\n                { \"region\", \"us-west\" },\n                { \"env\", \"dev\" },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewAccount(ctx, \"test-user\", \u0026sdm.AccountArgs{\n\t\t\tUser: \u0026sdm.AccountUserArgs{\n\t\t\t\tFirstName:       pulumi.String(\"al\"),\n\t\t\t\tLastName:        pulumi.String(\"bob\"),\n\t\t\t\tEmail:           pulumi.String(\"albob@strongdm.com\"),\n\t\t\t\tPermissionLevel: pulumi.String(\"database-admin\"),\n\t\t\t\tManagerId:       pulumi.String(\"a-1234abc\"),\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"region\": pulumi.String(\"us-west\"),\n\t\t\t\t\t\"env\":    pulumi.String(\"dev\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.NewAccount(ctx, \"test-service\", \u0026sdm.AccountArgs{\n\t\t\tService: \u0026sdm.AccountServiceArgs{\n\t\t\t\tName: pulumi.String(\"test-service\"),\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"region\": pulumi.String(\"us-west\"),\n\t\t\t\t\t\"env\":    pulumi.String(\"dev\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.Account;\nimport com.pulumi.sdm.AccountArgs;\nimport com.pulumi.sdm.inputs.AccountUserArgs;\nimport com.pulumi.sdm.inputs.AccountServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_user = new Account(\"test-user\", AccountArgs.builder()\n            .user(AccountUserArgs.builder()\n                .firstName(\"al\")\n                .lastName(\"bob\")\n                .email(\"albob@strongdm.com\")\n                .permissionLevel(\"database-admin\")\n                .managerId(\"a-1234abc\")\n                .tags(Map.ofEntries(\n                    Map.entry(\"region\", \"us-west\"),\n                    Map.entry(\"env\", \"dev\")\n                ))\n                .build())\n            .build());\n\n        var test_service = new Account(\"test-service\", AccountArgs.builder()\n            .service(AccountServiceArgs.builder()\n                .name(\"test-service\")\n                .tags(Map.ofEntries(\n                    Map.entry(\"region\", \"us-west\"),\n                    Map.entry(\"env\", \"dev\")\n                ))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-user:\n    type: sdm:Account\n    properties:\n      user:\n        firstName: al\n        lastName: bob\n        email: albob@strongdm.com\n        permissionLevel: database-admin\n        managerId: a-1234abc\n        tags:\n          region: us-west\n          env: dev\n  test-service:\n    type: sdm:Account\n    properties:\n      service:\n        name: test-service\n        tags:\n          region: us-west\n          env: dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA Account can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/account:Account example a-12345678\n```\n\n","properties":{"service":{"$ref":"#/types/sdm:index/AccountService:AccountService","description":"A Service is a service account that can connect to resources they are granted directly, or granted via roles. Services are typically automated jobs."},"user":{"$ref":"#/types/sdm:index/AccountUser:AccountUser","description":"A User can connect to resources they are granted directly, or granted via roles."}},"inputProperties":{"service":{"$ref":"#/types/sdm:index/AccountService:AccountService","description":"A Service is a service account that can connect to resources they are granted directly, or granted via roles. Services are typically automated jobs."},"user":{"$ref":"#/types/sdm:index/AccountUser:AccountUser","description":"A User can connect to resources they are granted directly, or granted via roles."}},"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"service":{"$ref":"#/types/sdm:index/AccountService:AccountService","description":"A Service is a service account that can connect to resources they are granted directly, or granted via roles. Services are typically automated jobs."},"user":{"$ref":"#/types/sdm:index/AccountUser:AccountUser","description":"A User can connect to resources they are granted directly, or granted via roles."}},"type":"object"}},"sdm:index/accountAttachment:AccountAttachment":{"description":"AccountAttachments assign an account to a role.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst testAccountAttachment = new sdm.AccountAttachment(\"test_account_attachment\", {\n    accountId: \"a-00000054\",\n    roleId: \"r-12355562\",\n});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\ntest_account_attachment = sdm.AccountAttachment(\"test_account_attachment\",\n    account_id=\"a-00000054\",\n    role_id=\"r-12355562\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var testAccountAttachment = new Sdm.AccountAttachment(\"test_account_attachment\", new()\n    {\n        AccountId = \"a-00000054\",\n        RoleId = \"r-12355562\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewAccountAttachment(ctx, \"test_account_attachment\", \u0026sdm.AccountAttachmentArgs{\n\t\t\tAccountId: pulumi.String(\"a-00000054\"),\n\t\t\tRoleId:    pulumi.String(\"r-12355562\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.AccountAttachment;\nimport com.pulumi.sdm.AccountAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var testAccountAttachment = new AccountAttachment(\"testAccountAttachment\", AccountAttachmentArgs.builder()\n            .accountId(\"a-00000054\")\n            .roleId(\"r-12355562\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testAccountAttachment:\n    type: sdm:AccountAttachment\n    name: test_account_attachment\n    properties:\n      accountId: a-00000054\n      roleId: r-12355562\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA AccountAttachment can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/accountAttachment:AccountAttachment example aa-12345678\n```\n\n","properties":{"accountId":{"type":"string","description":"The id of the account of this AccountAttachment.\n"},"roleId":{"type":"string","description":"The id of the attached role of this AccountAttachment.\n"}},"required":["accountId","roleId"],"inputProperties":{"accountId":{"type":"string","description":"The id of the account of this AccountAttachment.\n","willReplaceOnChanges":true},"roleId":{"type":"string","description":"The id of the attached role of this AccountAttachment.\n","willReplaceOnChanges":true}},"requiredInputs":["accountId","roleId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountAttachment resources.\n","properties":{"accountId":{"type":"string","description":"The id of the account of this AccountAttachment.\n","willReplaceOnChanges":true},"roleId":{"type":"string","description":"The id of the attached role of this AccountAttachment.\n","willReplaceOnChanges":true}},"type":"object"}},"sdm:index/accountGroup:AccountGroup":{"description":"An AccountGroup is a link between an Account and a Group.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst securityLeadToSecurityTeam = new sdm.AccountGroup(\"security_lead_to_security_team\", {\n    accountId: securityLead.id,\n    groupId: securityTeam.id,\n});\nconst adminUserToAdministrators = new sdm.AccountGroup(\"admin_user_to_administrators\", {\n    accountId: \"a-1234567890abcdef\",\n    groupId: \"group-1234567890abcdef\",\n});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\nsecurity_lead_to_security_team = sdm.AccountGroup(\"security_lead_to_security_team\",\n    account_id=security_lead[\"id\"],\n    group_id=security_team[\"id\"])\nadmin_user_to_administrators = sdm.AccountGroup(\"admin_user_to_administrators\",\n    account_id=\"a-1234567890abcdef\",\n    group_id=\"group-1234567890abcdef\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var securityLeadToSecurityTeam = new Sdm.AccountGroup(\"security_lead_to_security_team\", new()\n    {\n        AccountId = securityLead.Id,\n        GroupId = securityTeam.Id,\n    });\n\n    var adminUserToAdministrators = new Sdm.AccountGroup(\"admin_user_to_administrators\", new()\n    {\n        AccountId = \"a-1234567890abcdef\",\n        GroupId = \"group-1234567890abcdef\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewAccountGroup(ctx, \"security_lead_to_security_team\", \u0026sdm.AccountGroupArgs{\n\t\t\tAccountId: pulumi.Any(securityLead.Id),\n\t\t\tGroupId:   pulumi.Any(securityTeam.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.NewAccountGroup(ctx, \"admin_user_to_administrators\", \u0026sdm.AccountGroupArgs{\n\t\t\tAccountId: pulumi.String(\"a-1234567890abcdef\"),\n\t\t\tGroupId:   pulumi.String(\"group-1234567890abcdef\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.AccountGroup;\nimport com.pulumi.sdm.AccountGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var securityLeadToSecurityTeam = new AccountGroup(\"securityLeadToSecurityTeam\", AccountGroupArgs.builder()\n            .accountId(securityLead.id())\n            .groupId(securityTeam.id())\n            .build());\n\n        var adminUserToAdministrators = new AccountGroup(\"adminUserToAdministrators\", AccountGroupArgs.builder()\n            .accountId(\"a-1234567890abcdef\")\n            .groupId(\"group-1234567890abcdef\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  securityLeadToSecurityTeam:\n    type: sdm:AccountGroup\n    name: security_lead_to_security_team\n    properties:\n      accountId: ${securityLead.id}\n      groupId: ${securityTeam.id}\n  adminUserToAdministrators:\n    type: sdm:AccountGroup\n    name: admin_user_to_administrators\n    properties:\n      accountId: a-1234567890abcdef\n      groupId: group-1234567890abcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA AccountGroup can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/accountGroup:AccountGroup example accountgroup-12345678\n```\n\n","properties":{"accountId":{"type":"string","description":"Unique identifier of the Account.\n"},"groupId":{"type":"string","description":"Unique identifier of the Group.\n"}},"required":["accountId","groupId"],"inputProperties":{"accountId":{"type":"string","description":"Unique identifier of the Account.\n","willReplaceOnChanges":true},"groupId":{"type":"string","description":"Unique identifier of the Group.\n","willReplaceOnChanges":true}},"requiredInputs":["accountId","groupId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountGroup resources.\n","properties":{"accountId":{"type":"string","description":"Unique identifier of the Account.\n","willReplaceOnChanges":true},"groupId":{"type":"string","description":"Unique identifier of the Group.\n","willReplaceOnChanges":true}},"type":"object"}},"sdm:index/approvalWorkflow:ApprovalWorkflow":{"description":"ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized\n approvers and be approved or denied.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst manualApprovalWorkflow = new sdm.ApprovalWorkflow(\"manual_approval_workflow\", {\n    name: \"manual approval workflow example\",\n    approvalMode: \"manual\",\n    approvalSteps: [\n        {\n            quantifier: \"any\",\n            skipAfter: \"1h0m0s\",\n            approvers: [\n                {\n                    accountId: \"a-1234abc\",\n                },\n                {\n                    groupId: \"group-1234abc\",\n                },\n                {\n                    reference: \"manager-of-requester\",\n                },\n            ],\n        },\n        {\n            quantifier: \"all\",\n            skipAfter: \"0s\",\n            approvers: [\n                {\n                    roleId: \"r-1234abc\",\n                },\n                {\n                    accountId: \"a-5678def\",\n                },\n                {\n                    groupId: \"group-5678def\",\n                },\n                {\n                    reference: \"manager-of-manager-of-requester\",\n                },\n            ],\n        },\n    ],\n});\nconst autoGrantApprovalWorkflow = new sdm.ApprovalWorkflow(\"auto_grant_approval_workflow\", {\n    name: \"auto approval workflow example\",\n    approvalMode: \"automatic\",\n});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\nmanual_approval_workflow = sdm.ApprovalWorkflow(\"manual_approval_workflow\",\n    name=\"manual approval workflow example\",\n    approval_mode=\"manual\",\n    approval_steps=[\n        {\n            \"quantifier\": \"any\",\n            \"skip_after\": \"1h0m0s\",\n            \"approvers\": [\n                {\n                    \"account_id\": \"a-1234abc\",\n                },\n                {\n                    \"group_id\": \"group-1234abc\",\n                },\n                {\n                    \"reference\": \"manager-of-requester\",\n                },\n            ],\n        },\n        {\n            \"quantifier\": \"all\",\n            \"skip_after\": \"0s\",\n            \"approvers\": [\n                {\n                    \"role_id\": \"r-1234abc\",\n                },\n                {\n                    \"account_id\": \"a-5678def\",\n                },\n                {\n                    \"group_id\": \"group-5678def\",\n                },\n                {\n                    \"reference\": \"manager-of-manager-of-requester\",\n                },\n            ],\n        },\n    ])\nauto_grant_approval_workflow = sdm.ApprovalWorkflow(\"auto_grant_approval_workflow\",\n    name=\"auto approval workflow example\",\n    approval_mode=\"automatic\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var manualApprovalWorkflow = new Sdm.ApprovalWorkflow(\"manual_approval_workflow\", new()\n    {\n        Name = \"manual approval workflow example\",\n        ApprovalMode = \"manual\",\n        ApprovalSteps = new[]\n        {\n            new Sdm.Inputs.ApprovalWorkflowApprovalStepArgs\n            {\n                Quantifier = \"any\",\n                SkipAfter = \"1h0m0s\",\n                Approvers = new[]\n                {\n                    new Sdm.Inputs.ApprovalWorkflowApprovalStepApproverArgs\n                    {\n                        AccountId = \"a-1234abc\",\n                    },\n                    new Sdm.Inputs.ApprovalWorkflowApprovalStepApproverArgs\n                    {\n                        GroupId = \"group-1234abc\",\n                    },\n                    new Sdm.Inputs.ApprovalWorkflowApprovalStepApproverArgs\n                    {\n                        Reference = \"manager-of-requester\",\n                    },\n                },\n            },\n            new Sdm.Inputs.ApprovalWorkflowApprovalStepArgs\n            {\n                Quantifier = \"all\",\n                SkipAfter = \"0s\",\n                Approvers = new[]\n                {\n                    new Sdm.Inputs.ApprovalWorkflowApprovalStepApproverArgs\n                    {\n                        RoleId = \"r-1234abc\",\n                    },\n                    new Sdm.Inputs.ApprovalWorkflowApprovalStepApproverArgs\n                    {\n                        AccountId = \"a-5678def\",\n                    },\n                    new Sdm.Inputs.ApprovalWorkflowApprovalStepApproverArgs\n                    {\n                        GroupId = \"group-5678def\",\n                    },\n                    new Sdm.Inputs.ApprovalWorkflowApprovalStepApproverArgs\n                    {\n                        Reference = \"manager-of-manager-of-requester\",\n                    },\n                },\n            },\n        },\n    });\n\n    var autoGrantApprovalWorkflow = new Sdm.ApprovalWorkflow(\"auto_grant_approval_workflow\", new()\n    {\n        Name = \"auto approval workflow example\",\n        ApprovalMode = \"automatic\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewApprovalWorkflow(ctx, \"manual_approval_workflow\", \u0026sdm.ApprovalWorkflowArgs{\n\t\t\tName:         pulumi.String(\"manual approval workflow example\"),\n\t\t\tApprovalMode: pulumi.String(\"manual\"),\n\t\t\tApprovalSteps: sdm.ApprovalWorkflowApprovalStepArray{\n\t\t\t\t\u0026sdm.ApprovalWorkflowApprovalStepArgs{\n\t\t\t\t\tQuantifier: pulumi.String(\"any\"),\n\t\t\t\t\tSkipAfter:  pulumi.String(\"1h0m0s\"),\n\t\t\t\t\tApprovers: sdm.ApprovalWorkflowApprovalStepApproverArray{\n\t\t\t\t\t\t\u0026sdm.ApprovalWorkflowApprovalStepApproverArgs{\n\t\t\t\t\t\t\tAccountId: pulumi.String(\"a-1234abc\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026sdm.ApprovalWorkflowApprovalStepApproverArgs{\n\t\t\t\t\t\t\tGroupId: pulumi.String(\"group-1234abc\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026sdm.ApprovalWorkflowApprovalStepApproverArgs{\n\t\t\t\t\t\t\tReference: pulumi.String(\"manager-of-requester\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026sdm.ApprovalWorkflowApprovalStepArgs{\n\t\t\t\t\tQuantifier: pulumi.String(\"all\"),\n\t\t\t\t\tSkipAfter:  pulumi.String(\"0s\"),\n\t\t\t\t\tApprovers: sdm.ApprovalWorkflowApprovalStepApproverArray{\n\t\t\t\t\t\t\u0026sdm.ApprovalWorkflowApprovalStepApproverArgs{\n\t\t\t\t\t\t\tRoleId: pulumi.String(\"r-1234abc\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026sdm.ApprovalWorkflowApprovalStepApproverArgs{\n\t\t\t\t\t\t\tAccountId: pulumi.String(\"a-5678def\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026sdm.ApprovalWorkflowApprovalStepApproverArgs{\n\t\t\t\t\t\t\tGroupId: pulumi.String(\"group-5678def\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026sdm.ApprovalWorkflowApprovalStepApproverArgs{\n\t\t\t\t\t\t\tReference: pulumi.String(\"manager-of-manager-of-requester\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.NewApprovalWorkflow(ctx, \"auto_grant_approval_workflow\", \u0026sdm.ApprovalWorkflowArgs{\n\t\t\tName:         pulumi.String(\"auto approval workflow example\"),\n\t\t\tApprovalMode: pulumi.String(\"automatic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.ApprovalWorkflow;\nimport com.pulumi.sdm.ApprovalWorkflowArgs;\nimport com.pulumi.sdm.inputs.ApprovalWorkflowApprovalStepArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var manualApprovalWorkflow = new ApprovalWorkflow(\"manualApprovalWorkflow\", ApprovalWorkflowArgs.builder()\n            .name(\"manual approval workflow example\")\n            .approvalMode(\"manual\")\n            .approvalSteps(            \n                ApprovalWorkflowApprovalStepArgs.builder()\n                    .quantifier(\"any\")\n                    .skipAfter(\"1h0m0s\")\n                    .approvers(                    \n                        ApprovalWorkflowApprovalStepApproverArgs.builder()\n                            .accountId(\"a-1234abc\")\n                            .build(),\n                        ApprovalWorkflowApprovalStepApproverArgs.builder()\n                            .groupId(\"group-1234abc\")\n                            .build(),\n                        ApprovalWorkflowApprovalStepApproverArgs.builder()\n                            .reference(\"manager-of-requester\")\n                            .build())\n                    .build(),\n                ApprovalWorkflowApprovalStepArgs.builder()\n                    .quantifier(\"all\")\n                    .skipAfter(\"0s\")\n                    .approvers(                    \n                        ApprovalWorkflowApprovalStepApproverArgs.builder()\n                            .roleId(\"r-1234abc\")\n                            .build(),\n                        ApprovalWorkflowApprovalStepApproverArgs.builder()\n                            .accountId(\"a-5678def\")\n                            .build(),\n                        ApprovalWorkflowApprovalStepApproverArgs.builder()\n                            .groupId(\"group-5678def\")\n                            .build(),\n                        ApprovalWorkflowApprovalStepApproverArgs.builder()\n                            .reference(\"manager-of-manager-of-requester\")\n                            .build())\n                    .build())\n            .build());\n\n        var autoGrantApprovalWorkflow = new ApprovalWorkflow(\"autoGrantApprovalWorkflow\", ApprovalWorkflowArgs.builder()\n            .name(\"auto approval workflow example\")\n            .approvalMode(\"automatic\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  manualApprovalWorkflow:\n    type: sdm:ApprovalWorkflow\n    name: manual_approval_workflow\n    properties:\n      name: manual approval workflow example\n      approvalMode: manual\n      approvalSteps:\n        - quantifier: any\n          skipAfter: 1h0m0s\n          approvers:\n            - accountId: a-1234abc\n            - groupId: group-1234abc\n            - reference: manager-of-requester\n        - quantifier: all\n          skipAfter: 0s\n          approvers:\n            - roleId: r-1234abc\n            - accountId: a-5678def\n            - groupId: group-5678def\n            - reference: manager-of-manager-of-requester\n  autoGrantApprovalWorkflow:\n    type: sdm:ApprovalWorkflow\n    name: auto_grant_approval_workflow\n    properties:\n      name: auto approval workflow example\n      approvalMode: automatic\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA ApprovalWorkflow can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/approvalWorkflow:ApprovalWorkflow example af-12345678\n```\n\n","properties":{"approvalMode":{"type":"string","description":"Approval mode of the ApprovalWorkflow\n"},"approvalSteps":{"type":"array","items":{"$ref":"#/types/sdm:index/ApprovalWorkflowApprovalStep:ApprovalWorkflowApprovalStep"},"description":"The approval steps of this approval workflow\n"},"description":{"type":"string","description":"Optional description of the ApprovalWorkflow.\n"},"name":{"type":"string","description":"Unique human-readable name of the ApprovalWorkflow.\n"}},"required":["approvalMode","name"],"inputProperties":{"approvalMode":{"type":"string","description":"Approval mode of the ApprovalWorkflow\n"},"approvalSteps":{"type":"array","items":{"$ref":"#/types/sdm:index/ApprovalWorkflowApprovalStep:ApprovalWorkflowApprovalStep"},"description":"The approval steps of this approval workflow\n"},"description":{"type":"string","description":"Optional description of the ApprovalWorkflow.\n"},"name":{"type":"string","description":"Unique human-readable name of the ApprovalWorkflow.\n"}},"requiredInputs":["approvalMode"],"stateInputs":{"description":"Input properties used for looking up and filtering ApprovalWorkflow resources.\n","properties":{"approvalMode":{"type":"string","description":"Approval mode of the ApprovalWorkflow\n"},"approvalSteps":{"type":"array","items":{"$ref":"#/types/sdm:index/ApprovalWorkflowApprovalStep:ApprovalWorkflowApprovalStep"},"description":"The approval steps of this approval workflow\n"},"description":{"type":"string","description":"Optional description of the ApprovalWorkflow.\n"},"name":{"type":"string","description":"Unique human-readable name of the ApprovalWorkflow.\n"}},"type":"object"}},"sdm:index/connector:Connector":{"description":"A Connector configures scanning for a given system.\nThis resource can be imported using the import command.\n\n## Import\n\nA Connector can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/connector:Connector example con-12345678\n```\n\n","properties":{"aws":{"$ref":"#/types/sdm:index/ConnectorAws:ConnectorAws"},"azure":{"$ref":"#/types/sdm:index/ConnectorAzure:ConnectorAzure"},"gcp":{"$ref":"#/types/sdm:index/ConnectorGcp:ConnectorGcp"}},"inputProperties":{"aws":{"$ref":"#/types/sdm:index/ConnectorAws:ConnectorAws"},"azure":{"$ref":"#/types/sdm:index/ConnectorAzure:ConnectorAzure"},"gcp":{"$ref":"#/types/sdm:index/ConnectorGcp:ConnectorGcp"}},"stateInputs":{"description":"Input properties used for looking up and filtering Connector resources.\n","properties":{"aws":{"$ref":"#/types/sdm:index/ConnectorAws:ConnectorAws"},"azure":{"$ref":"#/types/sdm:index/ConnectorAzure:ConnectorAzure"},"gcp":{"$ref":"#/types/sdm:index/ConnectorGcp:ConnectorGcp"}},"type":"object"}},"sdm:index/group:Group":{"description":"A Group is a named set of principals.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst securityTeam = new sdm.Group(\"security_team\", {\n    name: \"Security Team\",\n    tags: {\n        admin: \"true\",\n    },\n});\nconst administrators = new sdm.Group(\"administrators\", {name: \"Administrators\"});\nconst devopsTeam = new sdm.Group(\"devops_team\", {name: \"DevOps Team\"});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\nsecurity_team = sdm.Group(\"security_team\",\n    name=\"Security Team\",\n    tags={\n        \"admin\": \"true\",\n    })\nadministrators = sdm.Group(\"administrators\", name=\"Administrators\")\ndevops_team = sdm.Group(\"devops_team\", name=\"DevOps Team\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var securityTeam = new Sdm.Group(\"security_team\", new()\n    {\n        Name = \"Security Team\",\n        Tags = \n        {\n            { \"admin\", \"true\" },\n        },\n    });\n\n    var administrators = new Sdm.Group(\"administrators\", new()\n    {\n        Name = \"Administrators\",\n    });\n\n    var devopsTeam = new Sdm.Group(\"devops_team\", new()\n    {\n        Name = \"DevOps Team\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewGroup(ctx, \"security_team\", \u0026sdm.GroupArgs{\n\t\t\tName: pulumi.String(\"Security Team\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"admin\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.NewGroup(ctx, \"administrators\", \u0026sdm.GroupArgs{\n\t\t\tName: pulumi.String(\"Administrators\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.NewGroup(ctx, \"devops_team\", \u0026sdm.GroupArgs{\n\t\t\tName: pulumi.String(\"DevOps Team\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.Group;\nimport com.pulumi.sdm.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var securityTeam = new Group(\"securityTeam\", GroupArgs.builder()\n            .name(\"Security Team\")\n            .tags(Map.of(\"admin\", \"true\"))\n            .build());\n\n        var administrators = new Group(\"administrators\", GroupArgs.builder()\n            .name(\"Administrators\")\n            .build());\n\n        var devopsTeam = new Group(\"devopsTeam\", GroupArgs.builder()\n            .name(\"DevOps Team\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  securityTeam:\n    type: sdm:Group\n    name: security_team\n    properties:\n      name: Security Team\n      tags:\n        admin: 'true'\n  administrators:\n    type: sdm:Group\n    properties:\n      name: Administrators\n  devopsTeam:\n    type: sdm:Group\n    name: devops_team\n    properties:\n      name: DevOps Team\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA Group can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/group:Group example group-12345678\n```\n\n","properties":{"description":{"type":"string","description":"Description of the Group.\n"},"name":{"type":"string","description":"Unique human-readable name of the Group.\n"},"source":{"type":"string","description":"Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure."},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key/value pairs that can be attached to a Group.\n"}},"required":["name","source"],"inputProperties":{"description":{"type":"string","description":"Description of the Group.\n"},"name":{"type":"string","description":"Unique human-readable name of the Group.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key/value pairs that can be attached to a Group.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Group resources.\n","properties":{"description":{"type":"string","description":"Description of the Group.\n"},"name":{"type":"string","description":"Unique human-readable name of the Group.\n"},"source":{"type":"string","description":"Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure."},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key/value pairs that can be attached to a Group.\n"}},"type":"object"}},"sdm:index/groupRole:GroupRole":{"description":"A GroupRole assigns a Group to a Role.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst securityTeamToProductionAccess = new sdm.GroupRole(\"security_team_to_production_access\", {\n    groupId: securityTeam.id,\n    roleId: productionAccess.id,\n});\nconst administratorsToAdminAccess = new sdm.GroupRole(\"administrators_to_admin_access\", {\n    groupId: \"group-1234567890abcdef\",\n    roleId: \"r-1234567890abcdef\",\n});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\nsecurity_team_to_production_access = sdm.GroupRole(\"security_team_to_production_access\",\n    group_id=security_team[\"id\"],\n    role_id=production_access[\"id\"])\nadministrators_to_admin_access = sdm.GroupRole(\"administrators_to_admin_access\",\n    group_id=\"group-1234567890abcdef\",\n    role_id=\"r-1234567890abcdef\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var securityTeamToProductionAccess = new Sdm.GroupRole(\"security_team_to_production_access\", new()\n    {\n        GroupId = securityTeam.Id,\n        RoleId = productionAccess.Id,\n    });\n\n    var administratorsToAdminAccess = new Sdm.GroupRole(\"administrators_to_admin_access\", new()\n    {\n        GroupId = \"group-1234567890abcdef\",\n        RoleId = \"r-1234567890abcdef\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewGroupRole(ctx, \"security_team_to_production_access\", \u0026sdm.GroupRoleArgs{\n\t\t\tGroupId: pulumi.Any(securityTeam.Id),\n\t\t\tRoleId:  pulumi.Any(productionAccess.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.NewGroupRole(ctx, \"administrators_to_admin_access\", \u0026sdm.GroupRoleArgs{\n\t\t\tGroupId: pulumi.String(\"group-1234567890abcdef\"),\n\t\t\tRoleId:  pulumi.String(\"r-1234567890abcdef\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.GroupRole;\nimport com.pulumi.sdm.GroupRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var securityTeamToProductionAccess = new GroupRole(\"securityTeamToProductionAccess\", GroupRoleArgs.builder()\n            .groupId(securityTeam.id())\n            .roleId(productionAccess.id())\n            .build());\n\n        var administratorsToAdminAccess = new GroupRole(\"administratorsToAdminAccess\", GroupRoleArgs.builder()\n            .groupId(\"group-1234567890abcdef\")\n            .roleId(\"r-1234567890abcdef\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  securityTeamToProductionAccess:\n    type: sdm:GroupRole\n    name: security_team_to_production_access\n    properties:\n      groupId: ${securityTeam.id}\n      roleId: ${productionAccess.id}\n  administratorsToAdminAccess:\n    type: sdm:GroupRole\n    name: administrators_to_admin_access\n    properties:\n      groupId: group-1234567890abcdef\n      roleId: r-1234567890abcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA GroupRole can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/groupRole:GroupRole example grouprole-12345678\n```\n\n","properties":{"groupId":{"type":"string","description":"The assigned Group ID.\n"},"roleId":{"type":"string","description":"The assigned Role ID.\n"}},"required":["groupId","roleId"],"inputProperties":{"groupId":{"type":"string","description":"The assigned Group ID.\n","willReplaceOnChanges":true},"roleId":{"type":"string","description":"The assigned Role ID.\n","willReplaceOnChanges":true}},"requiredInputs":["groupId","roleId"],"stateInputs":{"description":"Input properties used for looking up and filtering GroupRole resources.\n","properties":{"groupId":{"type":"string","description":"The assigned Group ID.\n","willReplaceOnChanges":true},"roleId":{"type":"string","description":"The assigned Role ID.\n","willReplaceOnChanges":true}},"type":"object"}},"sdm:index/identityAlias:IdentityAlias":{"description":"IdentityAliases define the username to be used for a specific account\n when connecting to a remote resource using that identity set.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst user = new sdm.IdentityAlias(\"user\", {\n    id: \"i-0900909\",\n    username: \"user\",\n});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\nuser = sdm.IdentityAlias(\"user\",\n    id=\"i-0900909\",\n    username=\"user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user = new Sdm.IdentityAlias(\"user\", new()\n    {\n        Id = \"i-0900909\",\n        Username = \"user\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewIdentityAlias(ctx, \"user\", \u0026sdm.IdentityAliasArgs{\n\t\t\tId:       \"i-0900909\",\n\t\t\tUsername: pulumi.String(\"user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.IdentityAlias;\nimport com.pulumi.sdm.IdentityAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var user = new IdentityAlias(\"user\", IdentityAliasArgs.builder()\n            .id(\"i-0900909\")\n            .username(\"user\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  user:\n    type: sdm:IdentityAlias\n    properties:\n      id: i-0900909\n      username: user\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA IdentityAlias can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/identityAlias:IdentityAlias example i-12345678\n```\n\n","properties":{"accountId":{"type":"string","description":"The account for this identity alias.\n"},"identitySetId":{"type":"string","description":"The identity set.\n"},"username":{"type":"string","description":"The username to be used as the identity alias for this account.\n"}},"required":["accountId","identitySetId","username"],"inputProperties":{"accountId":{"type":"string","description":"The account for this identity alias.\n"},"identitySetId":{"type":"string","description":"The identity set.\n"},"username":{"type":"string","description":"The username to be used as the identity alias for this account.\n"}},"requiredInputs":["accountId","identitySetId","username"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityAlias resources.\n","properties":{"accountId":{"type":"string","description":"The account for this identity alias.\n"},"identitySetId":{"type":"string","description":"The identity set.\n"},"username":{"type":"string","description":"The username to be used as the identity alias for this account.\n"}},"type":"object"}},"sdm:index/identitySet:IdentitySet":{"description":"A IdentitySet defines a group of identity aliases.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst _default = new sdm.IdentitySet(\"default\", {name: \"default\"});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\ndefault = sdm.IdentitySet(\"default\", name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = new Sdm.IdentitySet(\"default\", new()\n    {\n        Name = \"default\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewIdentitySet(ctx, \"default\", \u0026sdm.IdentitySetArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.IdentitySet;\nimport com.pulumi.sdm.IdentitySetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var default_ = new IdentitySet(\"default\", IdentitySetArgs.builder()\n            .name(\"default\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  default:\n    type: sdm:IdentitySet\n    properties:\n      name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA IdentitySet can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/identitySet:IdentitySet example ig-12345678\n```\n\n","properties":{"name":{"type":"string","description":"Unique human-readable name of the IdentitySet.\n"}},"required":["name"],"inputProperties":{"name":{"type":"string","description":"Unique human-readable name of the IdentitySet.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering IdentitySet resources.\n","properties":{"name":{"type":"string","description":"Unique human-readable name of the IdentitySet.\n"}},"type":"object"}},"sdm:index/managedSecret:ManagedSecret":{"description":"ManagedSecret contains details about managed secret\nThis resource can be imported using the import command.\n\n## Import\n\nA ManagedSecret can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/managedSecret:ManagedSecret example ms-12345678\n```\n\n","properties":{"config":{"type":"string","description":"public part of the secret value"},"expiresAt":{"type":"string","description":"Timestamp of when secret is going to be rotated"},"lastRotatedAt":{"type":"string","description":"Timestamp of when secret was last rotated"},"name":{"type":"string","description":"Unique human-readable name of the Managed Secret.\n"},"secretEngineId":{"type":"string","description":"An ID of a Secret Engine linked with the Managed Secret.\n"},"secretStorePath":{"type":"string","description":"Path in a secret store."},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"value":{"type":"string","description":"Sensitive value of the secret.\n","secret":true}},"required":["config","expiresAt","lastRotatedAt","name","secretEngineId","secretStorePath"],"inputProperties":{"name":{"type":"string","description":"Unique human-readable name of the Managed Secret.\n"},"secretEngineId":{"type":"string","description":"An ID of a Secret Engine linked with the Managed Secret.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"value":{"type":"string","description":"Sensitive value of the secret.\n","secret":true}},"requiredInputs":["secretEngineId"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedSecret resources.\n","properties":{"config":{"type":"string","description":"public part of the secret value"},"expiresAt":{"type":"string","description":"Timestamp of when secret is going to be rotated"},"lastRotatedAt":{"type":"string","description":"Timestamp of when secret was last rotated"},"name":{"type":"string","description":"Unique human-readable name of the Managed Secret.\n"},"secretEngineId":{"type":"string","description":"An ID of a Secret Engine linked with the Managed Secret.\n"},"secretStorePath":{"type":"string","description":"Path in a secret store."},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"value":{"type":"string","description":"Sensitive value of the secret.\n","secret":true}},"type":"object"}},"sdm:index/managedSecretValue:ManagedSecretValue":{"properties":{"encrypted":{"type":"string","description":"encrypted value"},"publicKey":{"type":"string","description":"secret engine's public key used for encryption in PEM format"},"value":{"type":"object","additionalProperties":{"type":"string"},"description":"value object"}},"required":["encrypted","publicKey","value"],"inputProperties":{"publicKey":{"type":"string","description":"secret engine's public key used for encryption in PEM format","willReplaceOnChanges":true},"value":{"type":"object","additionalProperties":{"type":"string"},"description":"value object","willReplaceOnChanges":true}},"requiredInputs":["publicKey","value"],"stateInputs":{"description":"Input properties used for looking up and filtering ManagedSecretValue resources.\n","properties":{"encrypted":{"type":"string","description":"encrypted value"},"publicKey":{"type":"string","description":"secret engine's public key used for encryption in PEM format","willReplaceOnChanges":true},"value":{"type":"object","additionalProperties":{"type":"string"},"description":"value object","willReplaceOnChanges":true}},"type":"object"}},"sdm:index/node:Node":{"description":"Nodes make up the StrongDM network, and allow your users to connect securely to your resources.\n There are three types of nodes:\n 1. **Relay:** creates connectivity to your datasources, while maintaining the egress-only nature of your firewall\n 2. **Gateway:** a relay that also listens for connections from StrongDM clients\n 3. **Proxy Cluster:** a cluster of workers that together mediate access from clients to resources\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst gateway = new sdm.Node(\"gateway\", {gateway: {\n    name: \"test-gateway\",\n    listenAddress: \"165.23.40.1:21222\",\n    bindAddress: \"0.0.0.0:21222\",\n    tags: {\n        region: \"us-west\",\n        env: \"dev\",\n    },\n}});\nconst relay = new sdm.Node(\"relay\", {relay: {\n    name: \"test-relay\",\n    tags: {\n        region: \"us-west\",\n        env: \"dev\",\n    },\n}});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\ngateway = sdm.Node(\"gateway\", gateway={\n    \"name\": \"test-gateway\",\n    \"listen_address\": \"165.23.40.1:21222\",\n    \"bind_address\": \"0.0.0.0:21222\",\n    \"tags\": {\n        \"region\": \"us-west\",\n        \"env\": \"dev\",\n    },\n})\nrelay = sdm.Node(\"relay\", relay={\n    \"name\": \"test-relay\",\n    \"tags\": {\n        \"region\": \"us-west\",\n        \"env\": \"dev\",\n    },\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var gateway = new Sdm.Node(\"gateway\", new()\n    {\n        Gateway = new Sdm.Inputs.NodeGatewayArgs\n        {\n            Name = \"test-gateway\",\n            ListenAddress = \"165.23.40.1:21222\",\n            BindAddress = \"0.0.0.0:21222\",\n            Tags = \n            {\n                { \"region\", \"us-west\" },\n                { \"env\", \"dev\" },\n            },\n        },\n    });\n\n    var relay = new Sdm.Node(\"relay\", new()\n    {\n        Relay = new Sdm.Inputs.NodeRelayArgs\n        {\n            Name = \"test-relay\",\n            Tags = \n            {\n                { \"region\", \"us-west\" },\n                { \"env\", \"dev\" },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewNode(ctx, \"gateway\", \u0026sdm.NodeArgs{\n\t\t\tGateway: \u0026sdm.NodeGatewayArgs{\n\t\t\t\tName:          pulumi.String(\"test-gateway\"),\n\t\t\t\tListenAddress: pulumi.String(\"165.23.40.1:21222\"),\n\t\t\t\tBindAddress:   pulumi.String(\"0.0.0.0:21222\"),\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"region\": pulumi.String(\"us-west\"),\n\t\t\t\t\t\"env\":    pulumi.String(\"dev\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.NewNode(ctx, \"relay\", \u0026sdm.NodeArgs{\n\t\t\tRelay: \u0026sdm.NodeRelayArgs{\n\t\t\t\tName: pulumi.String(\"test-relay\"),\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"region\": pulumi.String(\"us-west\"),\n\t\t\t\t\t\"env\":    pulumi.String(\"dev\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.Node;\nimport com.pulumi.sdm.NodeArgs;\nimport com.pulumi.sdm.inputs.NodeGatewayArgs;\nimport com.pulumi.sdm.inputs.NodeRelayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var gateway = new Node(\"gateway\", NodeArgs.builder()\n            .gateway(NodeGatewayArgs.builder()\n                .name(\"test-gateway\")\n                .listenAddress(\"165.23.40.1:21222\")\n                .bindAddress(\"0.0.0.0:21222\")\n                .tags(Map.ofEntries(\n                    Map.entry(\"region\", \"us-west\"),\n                    Map.entry(\"env\", \"dev\")\n                ))\n                .build())\n            .build());\n\n        var relay = new Node(\"relay\", NodeArgs.builder()\n            .relay(NodeRelayArgs.builder()\n                .name(\"test-relay\")\n                .tags(Map.ofEntries(\n                    Map.entry(\"region\", \"us-west\"),\n                    Map.entry(\"env\", \"dev\")\n                ))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  gateway:\n    type: sdm:Node\n    properties:\n      gateway:\n        name: test-gateway\n        listenAddress: 165.23.40.1:21222\n        bindAddress: 0.0.0.0:21222\n        tags:\n          region: us-west\n          env: dev\n  relay:\n    type: sdm:Node\n    properties:\n      relay:\n        name: test-relay\n        tags:\n          region: us-west\n          env: dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA Node can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/node:Node example n-12345678\n```\n\n","properties":{"gateway":{"$ref":"#/types/sdm:index/NodeGateway:NodeGateway","description":"Gateway represents a StrongDM CLI installation running in gateway mode."},"proxyCluster":{"$ref":"#/types/sdm:index/NodeProxyCluster:NodeProxyCluster","description":"ProxyCluster represents a cluster of StrongDM proxies."},"relay":{"$ref":"#/types/sdm:index/NodeRelay:NodeRelay","description":"Relay represents a StrongDM CLI installation running in relay mode."}},"inputProperties":{"gateway":{"$ref":"#/types/sdm:index/NodeGateway:NodeGateway","description":"Gateway represents a StrongDM CLI installation running in gateway mode."},"proxyCluster":{"$ref":"#/types/sdm:index/NodeProxyCluster:NodeProxyCluster","description":"ProxyCluster represents a cluster of StrongDM proxies."},"relay":{"$ref":"#/types/sdm:index/NodeRelay:NodeRelay","description":"Relay represents a StrongDM CLI installation running in relay mode."}},"stateInputs":{"description":"Input properties used for looking up and filtering Node resources.\n","properties":{"gateway":{"$ref":"#/types/sdm:index/NodeGateway:NodeGateway","description":"Gateway represents a StrongDM CLI installation running in gateway mode."},"proxyCluster":{"$ref":"#/types/sdm:index/NodeProxyCluster:NodeProxyCluster","description":"ProxyCluster represents a cluster of StrongDM proxies."},"relay":{"$ref":"#/types/sdm:index/NodeRelay:NodeRelay","description":"Relay represents a StrongDM CLI installation running in relay mode."}},"type":"object"}},"sdm:index/peeringGroup:PeeringGroup":{"description":"PeeringGroups are the building blocks used for explicit network topology making.\n They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.\nThis resource can be imported using the import command.\n\n## Import\n\nA PeeringGroup can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/peeringGroup:PeeringGroup example g-12345678\n```\n\n","properties":{"name":{"type":"string","description":"Unique human-readable name of the PeeringGroup.\n"}},"required":["name"],"inputProperties":{"name":{"type":"string","description":"Unique human-readable name of the PeeringGroup.\n","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering PeeringGroup resources.\n","properties":{"name":{"type":"string","description":"Unique human-readable name of the PeeringGroup.\n","willReplaceOnChanges":true}},"type":"object"}},"sdm:index/peeringGroupNode:PeeringGroupNode":{"description":"PeeringGroupNode represents the attachment between a PeeringGroup and a Node.\nThis resource can be imported using the import command.\n\n## Import\n\nA PeeringGroupNode can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/peeringGroupNode:PeeringGroupNode example gn-12345678\n```\n\n","properties":{"groupId":{"type":"string","description":"Peering Group ID to which the node will be attached to.\n"},"nodeId":{"type":"string","description":"Node ID to be attached.\n"}},"required":["groupId","nodeId"],"inputProperties":{"groupId":{"type":"string","description":"Peering Group ID to which the node will be attached to.\n","willReplaceOnChanges":true},"nodeId":{"type":"string","description":"Node ID to be attached.\n","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering PeeringGroupNode resources.\n","properties":{"groupId":{"type":"string","description":"Peering Group ID to which the node will be attached to.\n","willReplaceOnChanges":true},"nodeId":{"type":"string","description":"Node ID to be attached.\n","willReplaceOnChanges":true}},"type":"object"}},"sdm:index/peeringGroupPeer:PeeringGroupPeer":{"description":"PeeringGroupPeer represents the link between two PeeringGroups\nThis resource can be imported using the import command.\n\n## Import\n\nA PeeringGroupPeer can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/peeringGroupPeer:PeeringGroupPeer example gp-12345678\n```\n\n","properties":{"groupId":{"type":"string","description":"Group ID from which the link will originate.\n"},"peersWithGroupId":{"type":"string","description":"Peering Group ID to which Group ID will link.\n"}},"required":["groupId","peersWithGroupId"],"inputProperties":{"groupId":{"type":"string","description":"Group ID from which the link will originate.\n","willReplaceOnChanges":true},"peersWithGroupId":{"type":"string","description":"Peering Group ID to which Group ID will link.\n","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering PeeringGroupPeer resources.\n","properties":{"groupId":{"type":"string","description":"Group ID from which the link will originate.\n","willReplaceOnChanges":true},"peersWithGroupId":{"type":"string","description":"Peering Group ID to which Group ID will link.\n","willReplaceOnChanges":true}},"type":"object"}},"sdm:index/peeringGroupResource:PeeringGroupResource":{"description":"PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.\nThis resource can be imported using the import command.\n\n## Import\n\nA PeeringGroupResource can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/peeringGroupResource:PeeringGroupResource example gr-12345678\n```\n\n","properties":{"groupId":{"type":"string","description":"Peering Group ID to which the resource will be attached to.\n"},"resourceId":{"type":"string","description":"Resource ID to be attached.\n"}},"required":["groupId","resourceId"],"inputProperties":{"groupId":{"type":"string","description":"Peering Group ID to which the resource will be attached to.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"Resource ID to be attached.\n","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering PeeringGroupResource resources.\n","properties":{"groupId":{"type":"string","description":"Peering Group ID to which the resource will be attached to.\n","willReplaceOnChanges":true},"resourceId":{"type":"string","description":"Resource ID to be attached.\n","willReplaceOnChanges":true}},"type":"object"}},"sdm:index/policy:Policy":{"description":"Policy is a collection of one or more statements that enforce fine-grained access control\n for the users of an organization.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst permitEverything = new sdm.Policy(\"permit_everything\", {\n    name: \"permit-everything\",\n    description: \"this policy permits everything\",\n    policyContent: \"permit(principal, action, resource);\\n\",\n});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\npermit_everything = sdm.Policy(\"permit_everything\",\n    name=\"permit-everything\",\n    description=\"this policy permits everything\",\n    policy_content=\"permit(principal, action, resource);\\n\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var permitEverything = new Sdm.Policy(\"permit_everything\", new()\n    {\n        Name = \"permit-everything\",\n        Description = \"this policy permits everything\",\n        PolicyContent = @\"permit(principal, action, resource);\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewPolicy(ctx, \"permit_everything\", \u0026sdm.PolicyArgs{\n\t\t\tName:          pulumi.String(\"permit-everything\"),\n\t\t\tDescription:   pulumi.String(\"this policy permits everything\"),\n\t\t\tPolicyContent: pulumi.String(\"permit(principal, action, resource);\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.Policy;\nimport com.pulumi.sdm.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var permitEverything = new Policy(\"permitEverything\", PolicyArgs.builder()\n            .name(\"permit-everything\")\n            .description(\"this policy permits everything\")\n            .policyContent(\"\"\"\npermit(principal, action, resource);\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  permitEverything:\n    type: sdm:Policy\n    name: permit_everything\n    properties:\n      name: permit-everything\n      description: this policy permits everything\n      policyContent: |\n        permit(principal, action, resource);\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA Policy can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/policy:Policy example po-12345678\n```\n\n","properties":{"description":{"type":"string","description":"Optional description of the Policy.\n"},"name":{"type":"string","description":"Unique human-readable name of the Policy.\n"},"policyContent":{"type":"string","description":"The content of the Policy, in Cedar policy language.\n"}},"required":["name"],"inputProperties":{"description":{"type":"string","description":"Optional description of the Policy.\n"},"name":{"type":"string","description":"Unique human-readable name of the Policy.\n"},"policyContent":{"type":"string","description":"The content of the Policy, in Cedar policy language.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Policy resources.\n","properties":{"description":{"type":"string","description":"Optional description of the Policy.\n"},"name":{"type":"string","description":"Unique human-readable name of the Policy.\n"},"policyContent":{"type":"string","description":"The content of the Policy, in Cedar policy language.\n"}},"type":"object"}},"sdm:index/proxyClusterKey:ProxyClusterKey":{"description":"Proxy Cluster Keys are authentication keys for all proxies within a cluster.\n The proxies within a cluster share the same key. One cluster can have\n multiple keys in order to facilitate key rotation.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst testProxyClusterKey = new sdm.ProxyClusterKey(\"test_proxy_cluster_key\", {proxyClusterId: \"n-12345123\"});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\ntest_proxy_cluster_key = sdm.ProxyClusterKey(\"test_proxy_cluster_key\", proxy_cluster_id=\"n-12345123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var testProxyClusterKey = new Sdm.ProxyClusterKey(\"test_proxy_cluster_key\", new()\n    {\n        ProxyClusterId = \"n-12345123\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewProxyClusterKey(ctx, \"test_proxy_cluster_key\", \u0026sdm.ProxyClusterKeyArgs{\n\t\t\tProxyClusterId: pulumi.String(\"n-12345123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.ProxyClusterKey;\nimport com.pulumi.sdm.ProxyClusterKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var testProxyClusterKey = new ProxyClusterKey(\"testProxyClusterKey\", ProxyClusterKeyArgs.builder()\n            .proxyClusterId(\"n-12345123\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testProxyClusterKey:\n    type: sdm:ProxyClusterKey\n    name: test_proxy_cluster_key\n    properties:\n      proxyClusterId: n-12345123\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA ProxyClusterKey can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/proxyClusterKey:ProxyClusterKey example gk-12345678\n```\n\n","properties":{"proxyClusterId":{"type":"string","description":"The ID of the proxy cluster which this key authenticates to.\n"},"secretKey":{"type":"string","secret":true}},"required":["proxyClusterId","secretKey"],"inputProperties":{"proxyClusterId":{"type":"string","description":"The ID of the proxy cluster which this key authenticates to.\n","willReplaceOnChanges":true}},"requiredInputs":["proxyClusterId"],"stateInputs":{"description":"Input properties used for looking up and filtering ProxyClusterKey resources.\n","properties":{"proxyClusterId":{"type":"string","description":"The ID of the proxy cluster which this key authenticates to.\n","willReplaceOnChanges":true},"secretKey":{"type":"string","secret":true}},"type":"object"}},"sdm:index/remoteIdentity:RemoteIdentity":{"description":"RemoteIdentities define the username to be used for a specific account\n when connecting to a remote resource using that group.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst user = new sdm.RemoteIdentity(\"user\", {\n    id: \"i-0900909\",\n    username: \"user\",\n});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\nuser = sdm.RemoteIdentity(\"user\",\n    id=\"i-0900909\",\n    username=\"user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user = new Sdm.RemoteIdentity(\"user\", new()\n    {\n        Id = \"i-0900909\",\n        Username = \"user\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewRemoteIdentity(ctx, \"user\", \u0026sdm.RemoteIdentityArgs{\n\t\t\tId:       \"i-0900909\",\n\t\t\tUsername: pulumi.String(\"user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.RemoteIdentity;\nimport com.pulumi.sdm.RemoteIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var user = new RemoteIdentity(\"user\", RemoteIdentityArgs.builder()\n            .id(\"i-0900909\")\n            .username(\"user\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  user:\n    type: sdm:RemoteIdentity\n    properties:\n      id: i-0900909\n      username: user\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA RemoteIdentity can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/remoteIdentity:RemoteIdentity example i-12345678\n```\n\n","properties":{"accountId":{"type":"string","description":"The account for this remote identity.\n"},"remoteIdentityGroupId":{"type":"string","description":"The remote identity group.\n"},"username":{"type":"string","description":"The username to be used as the remote identity for this account.\n"}},"required":["accountId","remoteIdentityGroupId","username"],"inputProperties":{"accountId":{"type":"string","description":"The account for this remote identity.\n"},"remoteIdentityGroupId":{"type":"string","description":"The remote identity group.\n"},"username":{"type":"string","description":"The username to be used as the remote identity for this account.\n"}},"requiredInputs":["accountId","remoteIdentityGroupId","username"],"stateInputs":{"description":"Input properties used for looking up and filtering RemoteIdentity resources.\n","properties":{"accountId":{"type":"string","description":"The account for this remote identity.\n"},"remoteIdentityGroupId":{"type":"string","description":"The remote identity group.\n"},"username":{"type":"string","description":"The username to be used as the remote identity for this account.\n"}},"type":"object"}},"sdm:index/resource:Resource":{"description":"A Resource is a database, server, cluster, website, or cloud that strongDM\n delegates access to.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst redis_test = new sdm.Resource(\"redis-test\", {redis: {\n    name: \"redis-test\",\n    hostname: \"example.com\",\n    portOverride: 4020,\n    tags: {\n        region: \"us-west\",\n        env: \"dev\",\n    },\n}});\nconst postgres_test = new sdm.Resource(\"postgres-test\", {postgres: {\n    name: \"postgres-test\",\n    hostname: \"example.com\",\n    database: \"my-db\",\n    username: \"admin\",\n    password: \"hunter2\",\n    port: 5432,\n    tags: {\n        region: \"us-west\",\n        env: \"dev\",\n    },\n}});\nconst aurora_mysql_test = new sdm.Resource(\"aurora-mysql-test\", {auroraMysql: {\n    name: \"aurora-mysql-test\",\n    hostname: \"example.com\",\n    database: \"my-db\",\n    port: 3306,\n    secretStoreId: \"se-109564346\",\n    username: \"path/to/credential?key=optionalKeyName\",\n    password: \"path/to/credential?key=optionalKeyName\",\n}});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\nredis_test = sdm.Resource(\"redis-test\", redis={\n    \"name\": \"redis-test\",\n    \"hostname\": \"example.com\",\n    \"port_override\": 4020,\n    \"tags\": {\n        \"region\": \"us-west\",\n        \"env\": \"dev\",\n    },\n})\npostgres_test = sdm.Resource(\"postgres-test\", postgres={\n    \"name\": \"postgres-test\",\n    \"hostname\": \"example.com\",\n    \"database\": \"my-db\",\n    \"username\": \"admin\",\n    \"password\": \"hunter2\",\n    \"port\": 5432,\n    \"tags\": {\n        \"region\": \"us-west\",\n        \"env\": \"dev\",\n    },\n})\naurora_mysql_test = sdm.Resource(\"aurora-mysql-test\", aurora_mysql={\n    \"name\": \"aurora-mysql-test\",\n    \"hostname\": \"example.com\",\n    \"database\": \"my-db\",\n    \"port\": 3306,\n    \"secret_store_id\": \"se-109564346\",\n    \"username\": \"path/to/credential?key=optionalKeyName\",\n    \"password\": \"path/to/credential?key=optionalKeyName\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var redis_test = new Sdm.Resource(\"redis-test\", new()\n    {\n        Redis = new Sdm.Inputs.ResourceRedisArgs\n        {\n            Name = \"redis-test\",\n            Hostname = \"example.com\",\n            PortOverride = 4020,\n            Tags = \n            {\n                { \"region\", \"us-west\" },\n                { \"env\", \"dev\" },\n            },\n        },\n    });\n\n    var postgres_test = new Sdm.Resource(\"postgres-test\", new()\n    {\n        Postgres = new Sdm.Inputs.ResourcePostgresArgs\n        {\n            Name = \"postgres-test\",\n            Hostname = \"example.com\",\n            Database = \"my-db\",\n            Username = \"admin\",\n            Password = \"hunter2\",\n            Port = 5432,\n            Tags = \n            {\n                { \"region\", \"us-west\" },\n                { \"env\", \"dev\" },\n            },\n        },\n    });\n\n    var aurora_mysql_test = new Sdm.Resource(\"aurora-mysql-test\", new()\n    {\n        AuroraMysql = new Sdm.Inputs.ResourceAuroraMysqlArgs\n        {\n            Name = \"aurora-mysql-test\",\n            Hostname = \"example.com\",\n            Database = \"my-db\",\n            Port = 3306,\n            SecretStoreId = \"se-109564346\",\n            Username = \"path/to/credential?key=optionalKeyName\",\n            Password = \"path/to/credential?key=optionalKeyName\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewResource(ctx, \"redis-test\", \u0026sdm.ResourceArgs{\n\t\t\tRedis: \u0026sdm.ResourceRedisArgs{\n\t\t\t\tName:         pulumi.String(\"redis-test\"),\n\t\t\t\tHostname:     pulumi.String(\"example.com\"),\n\t\t\t\tPortOverride: pulumi.Int(4020),\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"region\": pulumi.String(\"us-west\"),\n\t\t\t\t\t\"env\":    pulumi.String(\"dev\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.NewResource(ctx, \"postgres-test\", \u0026sdm.ResourceArgs{\n\t\t\tPostgres: \u0026sdm.ResourcePostgresArgs{\n\t\t\t\tName:     pulumi.String(\"postgres-test\"),\n\t\t\t\tHostname: pulumi.String(\"example.com\"),\n\t\t\t\tDatabase: pulumi.String(\"my-db\"),\n\t\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t\t\tPassword: pulumi.String(\"hunter2\"),\n\t\t\t\tPort:     pulumi.Int(5432),\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"region\": pulumi.String(\"us-west\"),\n\t\t\t\t\t\"env\":    pulumi.String(\"dev\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.NewResource(ctx, \"aurora-mysql-test\", \u0026sdm.ResourceArgs{\n\t\t\tAuroraMysql: \u0026sdm.ResourceAuroraMysqlArgs{\n\t\t\t\tName:          pulumi.String(\"aurora-mysql-test\"),\n\t\t\t\tHostname:      pulumi.String(\"example.com\"),\n\t\t\t\tDatabase:      pulumi.String(\"my-db\"),\n\t\t\t\tPort:          pulumi.Int(3306),\n\t\t\t\tSecretStoreId: pulumi.String(\"se-109564346\"),\n\t\t\t\tUsername:      pulumi.String(\"path/to/credential?key=optionalKeyName\"),\n\t\t\t\tPassword:      pulumi.String(\"path/to/credential?key=optionalKeyName\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.Resource;\nimport com.pulumi.sdm.ResourceArgs;\nimport com.pulumi.sdm.inputs.ResourceRedisArgs;\nimport com.pulumi.sdm.inputs.ResourcePostgresArgs;\nimport com.pulumi.sdm.inputs.ResourceAuroraMysqlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var redis_test = new Resource(\"redis-test\", ResourceArgs.builder()\n            .redis(ResourceRedisArgs.builder()\n                .name(\"redis-test\")\n                .hostname(\"example.com\")\n                .portOverride(4020)\n                .tags(Map.ofEntries(\n                    Map.entry(\"region\", \"us-west\"),\n                    Map.entry(\"env\", \"dev\")\n                ))\n                .build())\n            .build());\n\n        var postgres_test = new Resource(\"postgres-test\", ResourceArgs.builder()\n            .postgres(ResourcePostgresArgs.builder()\n                .name(\"postgres-test\")\n                .hostname(\"example.com\")\n                .database(\"my-db\")\n                .username(\"admin\")\n                .password(\"hunter2\")\n                .port(5432)\n                .tags(Map.ofEntries(\n                    Map.entry(\"region\", \"us-west\"),\n                    Map.entry(\"env\", \"dev\")\n                ))\n                .build())\n            .build());\n\n        var aurora_mysql_test = new Resource(\"aurora-mysql-test\", ResourceArgs.builder()\n            .auroraMysql(ResourceAuroraMysqlArgs.builder()\n                .name(\"aurora-mysql-test\")\n                .hostname(\"example.com\")\n                .database(\"my-db\")\n                .port(3306)\n                .secretStoreId(\"se-109564346\")\n                .username(\"path/to/credential?key=optionalKeyName\")\n                .password(\"path/to/credential?key=optionalKeyName\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  redis-test:\n    type: sdm:Resource\n    properties:\n      redis:\n        name: redis-test\n        hostname: example.com\n        portOverride: 4020\n        tags:\n          region: us-west\n          env: dev\n  postgres-test:\n    type: sdm:Resource\n    properties:\n      postgres:\n        name: postgres-test\n        hostname: example.com\n        database: my-db\n        username: admin\n        password: hunter2\n        port: 5432\n        tags:\n          region: us-west\n          env: dev\n  aurora-mysql-test:\n    type: sdm:Resource\n    properties:\n      auroraMysql:\n        name: aurora-mysql-test\n        hostname: example.com\n        database: my-db\n        port: 3306\n        secretStoreId: se-109564346\n        username: path/to/credential?key=optionalKeyName\n        password: path/to/credential?key=optionalKeyName\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n## Providing Credentials\n\nCredentials can be provided to resources in two forms:\n- As raw text, which will not be returned to the terraform client on import or on loading state from StrongDM, but may be stored in the terraform state itself.\n- As a path to a credential in a Secret Store, which will be returned on import. e.g. /path/to/secret?key=password\u0026encoding=base64\n\nAll credentials must be either raw or Secret Store paths, depending on whether the resource has a Secret Store ID provided. In both cases, some credentials may be optional depending on the resource subtype.\n\n## Import\n\nA Resource can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/resource:Resource example rs-12345678\n```\n\n","properties":{"aerospike":{"$ref":"#/types/sdm:index/ResourceAerospike:ResourceAerospike"},"aks":{"$ref":"#/types/sdm:index/ResourceAks:ResourceAks"},"aksBasicAuth":{"$ref":"#/types/sdm:index/ResourceAksBasicAuth:ResourceAksBasicAuth","description":"AKSBasicAuth is currently unstable, and its API may change, or it may be removed, without a major version bump."},"aksServiceAccount":{"$ref":"#/types/sdm:index/ResourceAksServiceAccount:ResourceAksServiceAccount"},"aksServiceAccountUserImpersonation":{"$ref":"#/types/sdm:index/ResourceAksServiceAccountUserImpersonation:ResourceAksServiceAccountUserImpersonation","deprecationMessage":"aks_service_account_user_impersonation is deprecated, see docs for more info"},"aksUserImpersonation":{"$ref":"#/types/sdm:index/ResourceAksUserImpersonation:ResourceAksUserImpersonation","deprecationMessage":"aks_user_impersonation is deprecated, see docs for more info"},"amazonEks":{"$ref":"#/types/sdm:index/ResourceAmazonEks:ResourceAmazonEks"},"amazonEksInstanceProfile":{"$ref":"#/types/sdm:index/ResourceAmazonEksInstanceProfile:ResourceAmazonEksInstanceProfile"},"amazonEksInstanceProfileUserImpersonation":{"$ref":"#/types/sdm:index/ResourceAmazonEksInstanceProfileUserImpersonation:ResourceAmazonEksInstanceProfileUserImpersonation","deprecationMessage":"amazon_eks_instance_profile_user_impersonation is deprecated, see docs for more info"},"amazonEksUserImpersonation":{"$ref":"#/types/sdm:index/ResourceAmazonEksUserImpersonation:ResourceAmazonEksUserImpersonation","deprecationMessage":"amazon_eks_user_impersonation is deprecated, see docs for more info"},"amazonEs":{"$ref":"#/types/sdm:index/ResourceAmazonEs:ResourceAmazonEs"},"amazonEsiam":{"$ref":"#/types/sdm:index/ResourceAmazonEsiam:ResourceAmazonEsiam"},"amazonmqAmqp":{"$ref":"#/types/sdm:index/ResourceAmazonmqAmqp:ResourceAmazonmqAmqp","description":"AMQP is currently unstable, and its API may change, or it may be removed, without a major version bump."},"amazonmqAmqp091":{"$ref":"#/types/sdm:index/ResourceAmazonmqAmqp091:ResourceAmazonmqAmqp091"},"athena":{"$ref":"#/types/sdm:index/ResourceAthena:ResourceAthena"},"athenaIam":{"$ref":"#/types/sdm:index/ResourceAthenaIam:ResourceAthenaIam"},"auroraMysql":{"$ref":"#/types/sdm:index/ResourceAuroraMysql:ResourceAuroraMysql"},"auroraMysqlIam":{"$ref":"#/types/sdm:index/ResourceAuroraMysqlIam:ResourceAuroraMysqlIam"},"auroraPostgres":{"$ref":"#/types/sdm:index/ResourceAuroraPostgres:ResourceAuroraPostgres"},"auroraPostgresIam":{"$ref":"#/types/sdm:index/ResourceAuroraPostgresIam:ResourceAuroraPostgresIam"},"aws":{"$ref":"#/types/sdm:index/ResourceAws:ResourceAws"},"awsConsole":{"$ref":"#/types/sdm:index/ResourceAwsConsole:ResourceAwsConsole"},"awsConsoleStaticKeyPair":{"$ref":"#/types/sdm:index/ResourceAwsConsoleStaticKeyPair:ResourceAwsConsoleStaticKeyPair"},"awsInstanceProfile":{"$ref":"#/types/sdm:index/ResourceAwsInstanceProfile:ResourceAwsInstanceProfile"},"azure":{"$ref":"#/types/sdm:index/ResourceAzure:ResourceAzure"},"azureCertificate":{"$ref":"#/types/sdm:index/ResourceAzureCertificate:ResourceAzureCertificate"},"azureMysql":{"$ref":"#/types/sdm:index/ResourceAzureMysql:ResourceAzureMysql"},"azureMysqlManagedIdentity":{"$ref":"#/types/sdm:index/ResourceAzureMysqlManagedIdentity:ResourceAzureMysqlManagedIdentity"},"azurePostgres":{"$ref":"#/types/sdm:index/ResourceAzurePostgres:ResourceAzurePostgres"},"azurePostgresManagedIdentity":{"$ref":"#/types/sdm:index/ResourceAzurePostgresManagedIdentity:ResourceAzurePostgresManagedIdentity"},"bigQuery":{"$ref":"#/types/sdm:index/ResourceBigQuery:ResourceBigQuery"},"cassandra":{"$ref":"#/types/sdm:index/ResourceCassandra:ResourceCassandra"},"citus":{"$ref":"#/types/sdm:index/ResourceCitus:ResourceCitus"},"clickHouseHttp":{"$ref":"#/types/sdm:index/ResourceClickHouseHttp:ResourceClickHouseHttp"},"clickHouseMySql":{"$ref":"#/types/sdm:index/ResourceClickHouseMySql:ResourceClickHouseMySql"},"clickHouseTcp":{"$ref":"#/types/sdm:index/ResourceClickHouseTcp:ResourceClickHouseTcp"},"clustrix":{"$ref":"#/types/sdm:index/ResourceClustrix:ResourceClustrix"},"cockroach":{"$ref":"#/types/sdm:index/ResourceCockroach:ResourceCockroach"},"couchbaseDatabase":{"$ref":"#/types/sdm:index/ResourceCouchbaseDatabase:ResourceCouchbaseDatabase"},"couchbaseWebUi":{"$ref":"#/types/sdm:index/ResourceCouchbaseWebUi:ResourceCouchbaseWebUi"},"db2I":{"$ref":"#/types/sdm:index/ResourceDb2I:ResourceDb2I"},"db2Luw":{"$ref":"#/types/sdm:index/ResourceDb2Luw:ResourceDb2Luw"},"documentDbHost":{"$ref":"#/types/sdm:index/ResourceDocumentDbHost:ResourceDocumentDbHost"},"documentDbHostIam":{"$ref":"#/types/sdm:index/ResourceDocumentDbHostIam:ResourceDocumentDbHostIam"},"documentDbReplicaSet":{"$ref":"#/types/sdm:index/ResourceDocumentDbReplicaSet:ResourceDocumentDbReplicaSet"},"documentDbReplicaSetIam":{"$ref":"#/types/sdm:index/ResourceDocumentDbReplicaSetIam:ResourceDocumentDbReplicaSetIam","description":"DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed, without a major version bump."},"druid":{"$ref":"#/types/sdm:index/ResourceDruid:ResourceDruid"},"dynamoDb":{"$ref":"#/types/sdm:index/ResourceDynamoDb:ResourceDynamoDb"},"dynamoDbiam":{"$ref":"#/types/sdm:index/ResourceDynamoDbiam:ResourceDynamoDbiam"},"elastic":{"$ref":"#/types/sdm:index/ResourceElastic:ResourceElastic"},"elasticacheRedis":{"$ref":"#/types/sdm:index/ResourceElasticacheRedis:ResourceElasticacheRedis"},"elasticacheRedisIam":{"$ref":"#/types/sdm:index/ResourceElasticacheRedisIam:ResourceElasticacheRedisIam","description":"ElasticacheRedisIAM is currently unstable, and its API may change, or it may be removed, without a major version bump."},"entraId":{"$ref":"#/types/sdm:index/ResourceEntraId:ResourceEntraId"},"gcp":{"$ref":"#/types/sdm:index/ResourceGcp:ResourceGcp"},"gcpConsole":{"$ref":"#/types/sdm:index/ResourceGcpConsole:ResourceGcpConsole"},"gcpwif":{"$ref":"#/types/sdm:index/ResourceGcpwif:ResourceGcpwif"},"googleGke":{"$ref":"#/types/sdm:index/ResourceGoogleGke:ResourceGoogleGke"},"googleGkeUserImpersonation":{"$ref":"#/types/sdm:index/ResourceGoogleGkeUserImpersonation:ResourceGoogleGkeUserImpersonation","deprecationMessage":"google_gke_user_impersonation is deprecated, see docs for more info"},"googleSpanner":{"$ref":"#/types/sdm:index/ResourceGoogleSpanner:ResourceGoogleSpanner","description":"GoogleSpanner is currently unstable, and its API may change, or it may be removed, without a major version bump."},"greenplum":{"$ref":"#/types/sdm:index/ResourceGreenplum:ResourceGreenplum"},"httpAuth":{"$ref":"#/types/sdm:index/ResourceHttpAuth:ResourceHttpAuth"},"httpBasicAuth":{"$ref":"#/types/sdm:index/ResourceHttpBasicAuth:ResourceHttpBasicAuth"},"httpNoAuth":{"$ref":"#/types/sdm:index/ResourceHttpNoAuth:ResourceHttpNoAuth"},"kubernetes":{"$ref":"#/types/sdm:index/ResourceKubernetes:ResourceKubernetes"},"kubernetesBasicAuth":{"$ref":"#/types/sdm:index/ResourceKubernetesBasicAuth:ResourceKubernetesBasicAuth","description":"KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed, without a major version bump."},"kubernetesPodIdentity":{"$ref":"#/types/sdm:index/ResourceKubernetesPodIdentity:ResourceKubernetesPodIdentity"},"kubernetesServiceAccount":{"$ref":"#/types/sdm:index/ResourceKubernetesServiceAccount:ResourceKubernetesServiceAccount"},"kubernetesServiceAccountUserImpersonation":{"$ref":"#/types/sdm:index/ResourceKubernetesServiceAccountUserImpersonation:ResourceKubernetesServiceAccountUserImpersonation","deprecationMessage":"kubernetes_service_account_user_impersonation is deprecated, see docs for more info"},"kubernetesUserImpersonation":{"$ref":"#/types/sdm:index/ResourceKubernetesUserImpersonation:ResourceKubernetesUserImpersonation","deprecationMessage":"kubernetes_user_impersonation is deprecated, see docs for more info"},"maria":{"$ref":"#/types/sdm:index/ResourceMaria:ResourceMaria"},"mcp":{"$ref":"#/types/sdm:index/ResourceMcp:ResourceMcp","description":"MCP is currently unstable, and its API may change, or it may be removed, without a major version bump."},"memcached":{"$ref":"#/types/sdm:index/ResourceMemcached:ResourceMemcached"},"memsql":{"$ref":"#/types/sdm:index/ResourceMemsql:ResourceMemsql"},"mongoHost":{"$ref":"#/types/sdm:index/ResourceMongoHost:ResourceMongoHost"},"mongoLegacyHost":{"$ref":"#/types/sdm:index/ResourceMongoLegacyHost:ResourceMongoLegacyHost","description":"MongoLegacyHost is currently unstable, and its API may change, or it may be removed, without a major version bump."},"mongoLegacyReplicaset":{"$ref":"#/types/sdm:index/ResourceMongoLegacyReplicaset:ResourceMongoLegacyReplicaset","description":"MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed, without a major version bump."},"mongoReplicaSet":{"$ref":"#/types/sdm:index/ResourceMongoReplicaSet:ResourceMongoReplicaSet"},"mongoShardedCluster":{"$ref":"#/types/sdm:index/ResourceMongoShardedCluster:ResourceMongoShardedCluster"},"mtlsMysql":{"$ref":"#/types/sdm:index/ResourceMtlsMysql:ResourceMtlsMysql"},"mtlsPostgres":{"$ref":"#/types/sdm:index/ResourceMtlsPostgres:ResourceMtlsPostgres"},"mysql":{"$ref":"#/types/sdm:index/ResourceMysql:ResourceMysql"},"neptune":{"$ref":"#/types/sdm:index/ResourceNeptune:ResourceNeptune"},"neptuneIam":{"$ref":"#/types/sdm:index/ResourceNeptuneIam:ResourceNeptuneIam"},"oktaGroups":{"$ref":"#/types/sdm:index/ResourceOktaGroups:ResourceOktaGroups","description":"OktaGroups is currently unstable, and its API may change, or it may be removed, without a major version bump."},"oracle":{"$ref":"#/types/sdm:index/ResourceOracle:ResourceOracle"},"oracleNne":{"$ref":"#/types/sdm:index/ResourceOracleNne:ResourceOracleNne"},"postgres":{"$ref":"#/types/sdm:index/ResourcePostgres:ResourcePostgres"},"presto":{"$ref":"#/types/sdm:index/ResourcePresto:ResourcePresto"},"rabbitmqAmqp091":{"$ref":"#/types/sdm:index/ResourceRabbitmqAmqp091:ResourceRabbitmqAmqp091"},"rawTcp":{"$ref":"#/types/sdm:index/ResourceRawTcp:ResourceRawTcp"},"rdp":{"$ref":"#/types/sdm:index/ResourceRdp:ResourceRdp"},"rdpCert":{"$ref":"#/types/sdm:index/ResourceRdpCert:ResourceRdpCert"},"rdsPostgresIam":{"$ref":"#/types/sdm:index/ResourceRdsPostgresIam:ResourceRdsPostgresIam"},"redis":{"$ref":"#/types/sdm:index/ResourceRedis:ResourceRedis"},"redisCluster":{"$ref":"#/types/sdm:index/ResourceRedisCluster:ResourceRedisCluster"},"redshift":{"$ref":"#/types/sdm:index/ResourceRedshift:ResourceRedshift"},"redshiftIam":{"$ref":"#/types/sdm:index/ResourceRedshiftIam:ResourceRedshiftIam"},"redshiftServerlessIam":{"$ref":"#/types/sdm:index/ResourceRedshiftServerlessIam:ResourceRedshiftServerlessIam"},"singleStore":{"$ref":"#/types/sdm:index/ResourceSingleStore:ResourceSingleStore"},"snowflake":{"$ref":"#/types/sdm:index/ResourceSnowflake:ResourceSnowflake"},"snowsight":{"$ref":"#/types/sdm:index/ResourceSnowsight:ResourceSnowsight"},"sqlServer":{"$ref":"#/types/sdm:index/ResourceSqlServer:ResourceSqlServer"},"sqlServerAzureAd":{"$ref":"#/types/sdm:index/ResourceSqlServerAzureAd:ResourceSqlServerAzureAd"},"sqlServerKerberosAd":{"$ref":"#/types/sdm:index/ResourceSqlServerKerberosAd:ResourceSqlServerKerberosAd"},"ssh":{"$ref":"#/types/sdm:index/ResourceSsh:ResourceSsh"},"sshCert":{"$ref":"#/types/sdm:index/ResourceSshCert:ResourceSshCert"},"sshCustomerKey":{"$ref":"#/types/sdm:index/ResourceSshCustomerKey:ResourceSshCustomerKey"},"sshPassword":{"$ref":"#/types/sdm:index/ResourceSshPassword:ResourceSshPassword"},"sybase":{"$ref":"#/types/sdm:index/ResourceSybase:ResourceSybase"},"sybaseIq":{"$ref":"#/types/sdm:index/ResourceSybaseIq:ResourceSybaseIq"},"teradata":{"$ref":"#/types/sdm:index/ResourceTeradata:ResourceTeradata"},"trino":{"$ref":"#/types/sdm:index/ResourceTrino:ResourceTrino"},"vertica":{"$ref":"#/types/sdm:index/ResourceVertica:ResourceVertica"}},"inputProperties":{"aerospike":{"$ref":"#/types/sdm:index/ResourceAerospike:ResourceAerospike"},"aks":{"$ref":"#/types/sdm:index/ResourceAks:ResourceAks"},"aksBasicAuth":{"$ref":"#/types/sdm:index/ResourceAksBasicAuth:ResourceAksBasicAuth","description":"AKSBasicAuth is currently unstable, and its API may change, or it may be removed, without a major version bump."},"aksServiceAccount":{"$ref":"#/types/sdm:index/ResourceAksServiceAccount:ResourceAksServiceAccount"},"aksServiceAccountUserImpersonation":{"$ref":"#/types/sdm:index/ResourceAksServiceAccountUserImpersonation:ResourceAksServiceAccountUserImpersonation","deprecationMessage":"aks_service_account_user_impersonation is deprecated, see docs for more info"},"aksUserImpersonation":{"$ref":"#/types/sdm:index/ResourceAksUserImpersonation:ResourceAksUserImpersonation","deprecationMessage":"aks_user_impersonation is deprecated, see docs for more info"},"amazonEks":{"$ref":"#/types/sdm:index/ResourceAmazonEks:ResourceAmazonEks"},"amazonEksInstanceProfile":{"$ref":"#/types/sdm:index/ResourceAmazonEksInstanceProfile:ResourceAmazonEksInstanceProfile"},"amazonEksInstanceProfileUserImpersonation":{"$ref":"#/types/sdm:index/ResourceAmazonEksInstanceProfileUserImpersonation:ResourceAmazonEksInstanceProfileUserImpersonation","deprecationMessage":"amazon_eks_instance_profile_user_impersonation is deprecated, see docs for more info"},"amazonEksUserImpersonation":{"$ref":"#/types/sdm:index/ResourceAmazonEksUserImpersonation:ResourceAmazonEksUserImpersonation","deprecationMessage":"amazon_eks_user_impersonation is deprecated, see docs for more info"},"amazonEs":{"$ref":"#/types/sdm:index/ResourceAmazonEs:ResourceAmazonEs"},"amazonEsiam":{"$ref":"#/types/sdm:index/ResourceAmazonEsiam:ResourceAmazonEsiam"},"amazonmqAmqp":{"$ref":"#/types/sdm:index/ResourceAmazonmqAmqp:ResourceAmazonmqAmqp","description":"AMQP is currently unstable, and its API may change, or it may be removed, without a major version bump."},"amazonmqAmqp091":{"$ref":"#/types/sdm:index/ResourceAmazonmqAmqp091:ResourceAmazonmqAmqp091"},"athena":{"$ref":"#/types/sdm:index/ResourceAthena:ResourceAthena"},"athenaIam":{"$ref":"#/types/sdm:index/ResourceAthenaIam:ResourceAthenaIam"},"auroraMysql":{"$ref":"#/types/sdm:index/ResourceAuroraMysql:ResourceAuroraMysql"},"auroraMysqlIam":{"$ref":"#/types/sdm:index/ResourceAuroraMysqlIam:ResourceAuroraMysqlIam"},"auroraPostgres":{"$ref":"#/types/sdm:index/ResourceAuroraPostgres:ResourceAuroraPostgres"},"auroraPostgresIam":{"$ref":"#/types/sdm:index/ResourceAuroraPostgresIam:ResourceAuroraPostgresIam"},"aws":{"$ref":"#/types/sdm:index/ResourceAws:ResourceAws"},"awsConsole":{"$ref":"#/types/sdm:index/ResourceAwsConsole:ResourceAwsConsole"},"awsConsoleStaticKeyPair":{"$ref":"#/types/sdm:index/ResourceAwsConsoleStaticKeyPair:ResourceAwsConsoleStaticKeyPair"},"awsInstanceProfile":{"$ref":"#/types/sdm:index/ResourceAwsInstanceProfile:ResourceAwsInstanceProfile"},"azure":{"$ref":"#/types/sdm:index/ResourceAzure:ResourceAzure"},"azureCertificate":{"$ref":"#/types/sdm:index/ResourceAzureCertificate:ResourceAzureCertificate"},"azureMysql":{"$ref":"#/types/sdm:index/ResourceAzureMysql:ResourceAzureMysql"},"azureMysqlManagedIdentity":{"$ref":"#/types/sdm:index/ResourceAzureMysqlManagedIdentity:ResourceAzureMysqlManagedIdentity"},"azurePostgres":{"$ref":"#/types/sdm:index/ResourceAzurePostgres:ResourceAzurePostgres"},"azurePostgresManagedIdentity":{"$ref":"#/types/sdm:index/ResourceAzurePostgresManagedIdentity:ResourceAzurePostgresManagedIdentity"},"bigQuery":{"$ref":"#/types/sdm:index/ResourceBigQuery:ResourceBigQuery"},"cassandra":{"$ref":"#/types/sdm:index/ResourceCassandra:ResourceCassandra"},"citus":{"$ref":"#/types/sdm:index/ResourceCitus:ResourceCitus"},"clickHouseHttp":{"$ref":"#/types/sdm:index/ResourceClickHouseHttp:ResourceClickHouseHttp"},"clickHouseMySql":{"$ref":"#/types/sdm:index/ResourceClickHouseMySql:ResourceClickHouseMySql"},"clickHouseTcp":{"$ref":"#/types/sdm:index/ResourceClickHouseTcp:ResourceClickHouseTcp"},"clustrix":{"$ref":"#/types/sdm:index/ResourceClustrix:ResourceClustrix"},"cockroach":{"$ref":"#/types/sdm:index/ResourceCockroach:ResourceCockroach"},"couchbaseDatabase":{"$ref":"#/types/sdm:index/ResourceCouchbaseDatabase:ResourceCouchbaseDatabase"},"couchbaseWebUi":{"$ref":"#/types/sdm:index/ResourceCouchbaseWebUi:ResourceCouchbaseWebUi"},"db2I":{"$ref":"#/types/sdm:index/ResourceDb2I:ResourceDb2I"},"db2Luw":{"$ref":"#/types/sdm:index/ResourceDb2Luw:ResourceDb2Luw"},"documentDbHost":{"$ref":"#/types/sdm:index/ResourceDocumentDbHost:ResourceDocumentDbHost"},"documentDbHostIam":{"$ref":"#/types/sdm:index/ResourceDocumentDbHostIam:ResourceDocumentDbHostIam"},"documentDbReplicaSet":{"$ref":"#/types/sdm:index/ResourceDocumentDbReplicaSet:ResourceDocumentDbReplicaSet"},"documentDbReplicaSetIam":{"$ref":"#/types/sdm:index/ResourceDocumentDbReplicaSetIam:ResourceDocumentDbReplicaSetIam","description":"DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed, without a major version bump."},"druid":{"$ref":"#/types/sdm:index/ResourceDruid:ResourceDruid"},"dynamoDb":{"$ref":"#/types/sdm:index/ResourceDynamoDb:ResourceDynamoDb"},"dynamoDbiam":{"$ref":"#/types/sdm:index/ResourceDynamoDbiam:ResourceDynamoDbiam"},"elastic":{"$ref":"#/types/sdm:index/ResourceElastic:ResourceElastic"},"elasticacheRedis":{"$ref":"#/types/sdm:index/ResourceElasticacheRedis:ResourceElasticacheRedis"},"elasticacheRedisIam":{"$ref":"#/types/sdm:index/ResourceElasticacheRedisIam:ResourceElasticacheRedisIam","description":"ElasticacheRedisIAM is currently unstable, and its API may change, or it may be removed, without a major version bump."},"entraId":{"$ref":"#/types/sdm:index/ResourceEntraId:ResourceEntraId"},"gcp":{"$ref":"#/types/sdm:index/ResourceGcp:ResourceGcp"},"gcpConsole":{"$ref":"#/types/sdm:index/ResourceGcpConsole:ResourceGcpConsole"},"gcpwif":{"$ref":"#/types/sdm:index/ResourceGcpwif:ResourceGcpwif"},"googleGke":{"$ref":"#/types/sdm:index/ResourceGoogleGke:ResourceGoogleGke"},"googleGkeUserImpersonation":{"$ref":"#/types/sdm:index/ResourceGoogleGkeUserImpersonation:ResourceGoogleGkeUserImpersonation","deprecationMessage":"google_gke_user_impersonation is deprecated, see docs for more info"},"googleSpanner":{"$ref":"#/types/sdm:index/ResourceGoogleSpanner:ResourceGoogleSpanner","description":"GoogleSpanner is currently unstable, and its API may change, or it may be removed, without a major version bump."},"greenplum":{"$ref":"#/types/sdm:index/ResourceGreenplum:ResourceGreenplum"},"httpAuth":{"$ref":"#/types/sdm:index/ResourceHttpAuth:ResourceHttpAuth"},"httpBasicAuth":{"$ref":"#/types/sdm:index/ResourceHttpBasicAuth:ResourceHttpBasicAuth"},"httpNoAuth":{"$ref":"#/types/sdm:index/ResourceHttpNoAuth:ResourceHttpNoAuth"},"kubernetes":{"$ref":"#/types/sdm:index/ResourceKubernetes:ResourceKubernetes"},"kubernetesBasicAuth":{"$ref":"#/types/sdm:index/ResourceKubernetesBasicAuth:ResourceKubernetesBasicAuth","description":"KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed, without a major version bump."},"kubernetesPodIdentity":{"$ref":"#/types/sdm:index/ResourceKubernetesPodIdentity:ResourceKubernetesPodIdentity"},"kubernetesServiceAccount":{"$ref":"#/types/sdm:index/ResourceKubernetesServiceAccount:ResourceKubernetesServiceAccount"},"kubernetesServiceAccountUserImpersonation":{"$ref":"#/types/sdm:index/ResourceKubernetesServiceAccountUserImpersonation:ResourceKubernetesServiceAccountUserImpersonation","deprecationMessage":"kubernetes_service_account_user_impersonation is deprecated, see docs for more info"},"kubernetesUserImpersonation":{"$ref":"#/types/sdm:index/ResourceKubernetesUserImpersonation:ResourceKubernetesUserImpersonation","deprecationMessage":"kubernetes_user_impersonation is deprecated, see docs for more info"},"maria":{"$ref":"#/types/sdm:index/ResourceMaria:ResourceMaria"},"mcp":{"$ref":"#/types/sdm:index/ResourceMcp:ResourceMcp","description":"MCP is currently unstable, and its API may change, or it may be removed, without a major version bump."},"memcached":{"$ref":"#/types/sdm:index/ResourceMemcached:ResourceMemcached"},"memsql":{"$ref":"#/types/sdm:index/ResourceMemsql:ResourceMemsql"},"mongoHost":{"$ref":"#/types/sdm:index/ResourceMongoHost:ResourceMongoHost"},"mongoLegacyHost":{"$ref":"#/types/sdm:index/ResourceMongoLegacyHost:ResourceMongoLegacyHost","description":"MongoLegacyHost is currently unstable, and its API may change, or it may be removed, without a major version bump."},"mongoLegacyReplicaset":{"$ref":"#/types/sdm:index/ResourceMongoLegacyReplicaset:ResourceMongoLegacyReplicaset","description":"MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed, without a major version bump."},"mongoReplicaSet":{"$ref":"#/types/sdm:index/ResourceMongoReplicaSet:ResourceMongoReplicaSet"},"mongoShardedCluster":{"$ref":"#/types/sdm:index/ResourceMongoShardedCluster:ResourceMongoShardedCluster"},"mtlsMysql":{"$ref":"#/types/sdm:index/ResourceMtlsMysql:ResourceMtlsMysql"},"mtlsPostgres":{"$ref":"#/types/sdm:index/ResourceMtlsPostgres:ResourceMtlsPostgres"},"mysql":{"$ref":"#/types/sdm:index/ResourceMysql:ResourceMysql"},"neptune":{"$ref":"#/types/sdm:index/ResourceNeptune:ResourceNeptune"},"neptuneIam":{"$ref":"#/types/sdm:index/ResourceNeptuneIam:ResourceNeptuneIam"},"oktaGroups":{"$ref":"#/types/sdm:index/ResourceOktaGroups:ResourceOktaGroups","description":"OktaGroups is currently unstable, and its API may change, or it may be removed, without a major version bump."},"oracle":{"$ref":"#/types/sdm:index/ResourceOracle:ResourceOracle"},"oracleNne":{"$ref":"#/types/sdm:index/ResourceOracleNne:ResourceOracleNne"},"postgres":{"$ref":"#/types/sdm:index/ResourcePostgres:ResourcePostgres"},"presto":{"$ref":"#/types/sdm:index/ResourcePresto:ResourcePresto"},"rabbitmqAmqp091":{"$ref":"#/types/sdm:index/ResourceRabbitmqAmqp091:ResourceRabbitmqAmqp091"},"rawTcp":{"$ref":"#/types/sdm:index/ResourceRawTcp:ResourceRawTcp"},"rdp":{"$ref":"#/types/sdm:index/ResourceRdp:ResourceRdp"},"rdpCert":{"$ref":"#/types/sdm:index/ResourceRdpCert:ResourceRdpCert"},"rdsPostgresIam":{"$ref":"#/types/sdm:index/ResourceRdsPostgresIam:ResourceRdsPostgresIam"},"redis":{"$ref":"#/types/sdm:index/ResourceRedis:ResourceRedis"},"redisCluster":{"$ref":"#/types/sdm:index/ResourceRedisCluster:ResourceRedisCluster"},"redshift":{"$ref":"#/types/sdm:index/ResourceRedshift:ResourceRedshift"},"redshiftIam":{"$ref":"#/types/sdm:index/ResourceRedshiftIam:ResourceRedshiftIam"},"redshiftServerlessIam":{"$ref":"#/types/sdm:index/ResourceRedshiftServerlessIam:ResourceRedshiftServerlessIam"},"singleStore":{"$ref":"#/types/sdm:index/ResourceSingleStore:ResourceSingleStore"},"snowflake":{"$ref":"#/types/sdm:index/ResourceSnowflake:ResourceSnowflake"},"snowsight":{"$ref":"#/types/sdm:index/ResourceSnowsight:ResourceSnowsight"},"sqlServer":{"$ref":"#/types/sdm:index/ResourceSqlServer:ResourceSqlServer"},"sqlServerAzureAd":{"$ref":"#/types/sdm:index/ResourceSqlServerAzureAd:ResourceSqlServerAzureAd"},"sqlServerKerberosAd":{"$ref":"#/types/sdm:index/ResourceSqlServerKerberosAd:ResourceSqlServerKerberosAd"},"ssh":{"$ref":"#/types/sdm:index/ResourceSsh:ResourceSsh"},"sshCert":{"$ref":"#/types/sdm:index/ResourceSshCert:ResourceSshCert"},"sshCustomerKey":{"$ref":"#/types/sdm:index/ResourceSshCustomerKey:ResourceSshCustomerKey"},"sshPassword":{"$ref":"#/types/sdm:index/ResourceSshPassword:ResourceSshPassword"},"sybase":{"$ref":"#/types/sdm:index/ResourceSybase:ResourceSybase"},"sybaseIq":{"$ref":"#/types/sdm:index/ResourceSybaseIq:ResourceSybaseIq"},"teradata":{"$ref":"#/types/sdm:index/ResourceTeradata:ResourceTeradata"},"trino":{"$ref":"#/types/sdm:index/ResourceTrino:ResourceTrino"},"vertica":{"$ref":"#/types/sdm:index/ResourceVertica:ResourceVertica"}},"stateInputs":{"description":"Input properties used for looking up and filtering Resource resources.\n","properties":{"aerospike":{"$ref":"#/types/sdm:index/ResourceAerospike:ResourceAerospike"},"aks":{"$ref":"#/types/sdm:index/ResourceAks:ResourceAks"},"aksBasicAuth":{"$ref":"#/types/sdm:index/ResourceAksBasicAuth:ResourceAksBasicAuth","description":"AKSBasicAuth is currently unstable, and its API may change, or it may be removed, without a major version bump."},"aksServiceAccount":{"$ref":"#/types/sdm:index/ResourceAksServiceAccount:ResourceAksServiceAccount"},"aksServiceAccountUserImpersonation":{"$ref":"#/types/sdm:index/ResourceAksServiceAccountUserImpersonation:ResourceAksServiceAccountUserImpersonation","deprecationMessage":"aks_service_account_user_impersonation is deprecated, see docs for more info"},"aksUserImpersonation":{"$ref":"#/types/sdm:index/ResourceAksUserImpersonation:ResourceAksUserImpersonation","deprecationMessage":"aks_user_impersonation is deprecated, see docs for more info"},"amazonEks":{"$ref":"#/types/sdm:index/ResourceAmazonEks:ResourceAmazonEks"},"amazonEksInstanceProfile":{"$ref":"#/types/sdm:index/ResourceAmazonEksInstanceProfile:ResourceAmazonEksInstanceProfile"},"amazonEksInstanceProfileUserImpersonation":{"$ref":"#/types/sdm:index/ResourceAmazonEksInstanceProfileUserImpersonation:ResourceAmazonEksInstanceProfileUserImpersonation","deprecationMessage":"amazon_eks_instance_profile_user_impersonation is deprecated, see docs for more info"},"amazonEksUserImpersonation":{"$ref":"#/types/sdm:index/ResourceAmazonEksUserImpersonation:ResourceAmazonEksUserImpersonation","deprecationMessage":"amazon_eks_user_impersonation is deprecated, see docs for more info"},"amazonEs":{"$ref":"#/types/sdm:index/ResourceAmazonEs:ResourceAmazonEs"},"amazonEsiam":{"$ref":"#/types/sdm:index/ResourceAmazonEsiam:ResourceAmazonEsiam"},"amazonmqAmqp":{"$ref":"#/types/sdm:index/ResourceAmazonmqAmqp:ResourceAmazonmqAmqp","description":"AMQP is currently unstable, and its API may change, or it may be removed, without a major version bump."},"amazonmqAmqp091":{"$ref":"#/types/sdm:index/ResourceAmazonmqAmqp091:ResourceAmazonmqAmqp091"},"athena":{"$ref":"#/types/sdm:index/ResourceAthena:ResourceAthena"},"athenaIam":{"$ref":"#/types/sdm:index/ResourceAthenaIam:ResourceAthenaIam"},"auroraMysql":{"$ref":"#/types/sdm:index/ResourceAuroraMysql:ResourceAuroraMysql"},"auroraMysqlIam":{"$ref":"#/types/sdm:index/ResourceAuroraMysqlIam:ResourceAuroraMysqlIam"},"auroraPostgres":{"$ref":"#/types/sdm:index/ResourceAuroraPostgres:ResourceAuroraPostgres"},"auroraPostgresIam":{"$ref":"#/types/sdm:index/ResourceAuroraPostgresIam:ResourceAuroraPostgresIam"},"aws":{"$ref":"#/types/sdm:index/ResourceAws:ResourceAws"},"awsConsole":{"$ref":"#/types/sdm:index/ResourceAwsConsole:ResourceAwsConsole"},"awsConsoleStaticKeyPair":{"$ref":"#/types/sdm:index/ResourceAwsConsoleStaticKeyPair:ResourceAwsConsoleStaticKeyPair"},"awsInstanceProfile":{"$ref":"#/types/sdm:index/ResourceAwsInstanceProfile:ResourceAwsInstanceProfile"},"azure":{"$ref":"#/types/sdm:index/ResourceAzure:ResourceAzure"},"azureCertificate":{"$ref":"#/types/sdm:index/ResourceAzureCertificate:ResourceAzureCertificate"},"azureMysql":{"$ref":"#/types/sdm:index/ResourceAzureMysql:ResourceAzureMysql"},"azureMysqlManagedIdentity":{"$ref":"#/types/sdm:index/ResourceAzureMysqlManagedIdentity:ResourceAzureMysqlManagedIdentity"},"azurePostgres":{"$ref":"#/types/sdm:index/ResourceAzurePostgres:ResourceAzurePostgres"},"azurePostgresManagedIdentity":{"$ref":"#/types/sdm:index/ResourceAzurePostgresManagedIdentity:ResourceAzurePostgresManagedIdentity"},"bigQuery":{"$ref":"#/types/sdm:index/ResourceBigQuery:ResourceBigQuery"},"cassandra":{"$ref":"#/types/sdm:index/ResourceCassandra:ResourceCassandra"},"citus":{"$ref":"#/types/sdm:index/ResourceCitus:ResourceCitus"},"clickHouseHttp":{"$ref":"#/types/sdm:index/ResourceClickHouseHttp:ResourceClickHouseHttp"},"clickHouseMySql":{"$ref":"#/types/sdm:index/ResourceClickHouseMySql:ResourceClickHouseMySql"},"clickHouseTcp":{"$ref":"#/types/sdm:index/ResourceClickHouseTcp:ResourceClickHouseTcp"},"clustrix":{"$ref":"#/types/sdm:index/ResourceClustrix:ResourceClustrix"},"cockroach":{"$ref":"#/types/sdm:index/ResourceCockroach:ResourceCockroach"},"couchbaseDatabase":{"$ref":"#/types/sdm:index/ResourceCouchbaseDatabase:ResourceCouchbaseDatabase"},"couchbaseWebUi":{"$ref":"#/types/sdm:index/ResourceCouchbaseWebUi:ResourceCouchbaseWebUi"},"db2I":{"$ref":"#/types/sdm:index/ResourceDb2I:ResourceDb2I"},"db2Luw":{"$ref":"#/types/sdm:index/ResourceDb2Luw:ResourceDb2Luw"},"documentDbHost":{"$ref":"#/types/sdm:index/ResourceDocumentDbHost:ResourceDocumentDbHost"},"documentDbHostIam":{"$ref":"#/types/sdm:index/ResourceDocumentDbHostIam:ResourceDocumentDbHostIam"},"documentDbReplicaSet":{"$ref":"#/types/sdm:index/ResourceDocumentDbReplicaSet:ResourceDocumentDbReplicaSet"},"documentDbReplicaSetIam":{"$ref":"#/types/sdm:index/ResourceDocumentDbReplicaSetIam:ResourceDocumentDbReplicaSetIam","description":"DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed, without a major version bump."},"druid":{"$ref":"#/types/sdm:index/ResourceDruid:ResourceDruid"},"dynamoDb":{"$ref":"#/types/sdm:index/ResourceDynamoDb:ResourceDynamoDb"},"dynamoDbiam":{"$ref":"#/types/sdm:index/ResourceDynamoDbiam:ResourceDynamoDbiam"},"elastic":{"$ref":"#/types/sdm:index/ResourceElastic:ResourceElastic"},"elasticacheRedis":{"$ref":"#/types/sdm:index/ResourceElasticacheRedis:ResourceElasticacheRedis"},"elasticacheRedisIam":{"$ref":"#/types/sdm:index/ResourceElasticacheRedisIam:ResourceElasticacheRedisIam","description":"ElasticacheRedisIAM is currently unstable, and its API may change, or it may be removed, without a major version bump."},"entraId":{"$ref":"#/types/sdm:index/ResourceEntraId:ResourceEntraId"},"gcp":{"$ref":"#/types/sdm:index/ResourceGcp:ResourceGcp"},"gcpConsole":{"$ref":"#/types/sdm:index/ResourceGcpConsole:ResourceGcpConsole"},"gcpwif":{"$ref":"#/types/sdm:index/ResourceGcpwif:ResourceGcpwif"},"googleGke":{"$ref":"#/types/sdm:index/ResourceGoogleGke:ResourceGoogleGke"},"googleGkeUserImpersonation":{"$ref":"#/types/sdm:index/ResourceGoogleGkeUserImpersonation:ResourceGoogleGkeUserImpersonation","deprecationMessage":"google_gke_user_impersonation is deprecated, see docs for more info"},"googleSpanner":{"$ref":"#/types/sdm:index/ResourceGoogleSpanner:ResourceGoogleSpanner","description":"GoogleSpanner is currently unstable, and its API may change, or it may be removed, without a major version bump."},"greenplum":{"$ref":"#/types/sdm:index/ResourceGreenplum:ResourceGreenplum"},"httpAuth":{"$ref":"#/types/sdm:index/ResourceHttpAuth:ResourceHttpAuth"},"httpBasicAuth":{"$ref":"#/types/sdm:index/ResourceHttpBasicAuth:ResourceHttpBasicAuth"},"httpNoAuth":{"$ref":"#/types/sdm:index/ResourceHttpNoAuth:ResourceHttpNoAuth"},"kubernetes":{"$ref":"#/types/sdm:index/ResourceKubernetes:ResourceKubernetes"},"kubernetesBasicAuth":{"$ref":"#/types/sdm:index/ResourceKubernetesBasicAuth:ResourceKubernetesBasicAuth","description":"KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed, without a major version bump."},"kubernetesPodIdentity":{"$ref":"#/types/sdm:index/ResourceKubernetesPodIdentity:ResourceKubernetesPodIdentity"},"kubernetesServiceAccount":{"$ref":"#/types/sdm:index/ResourceKubernetesServiceAccount:ResourceKubernetesServiceAccount"},"kubernetesServiceAccountUserImpersonation":{"$ref":"#/types/sdm:index/ResourceKubernetesServiceAccountUserImpersonation:ResourceKubernetesServiceAccountUserImpersonation","deprecationMessage":"kubernetes_service_account_user_impersonation is deprecated, see docs for more info"},"kubernetesUserImpersonation":{"$ref":"#/types/sdm:index/ResourceKubernetesUserImpersonation:ResourceKubernetesUserImpersonation","deprecationMessage":"kubernetes_user_impersonation is deprecated, see docs for more info"},"maria":{"$ref":"#/types/sdm:index/ResourceMaria:ResourceMaria"},"mcp":{"$ref":"#/types/sdm:index/ResourceMcp:ResourceMcp","description":"MCP is currently unstable, and its API may change, or it may be removed, without a major version bump."},"memcached":{"$ref":"#/types/sdm:index/ResourceMemcached:ResourceMemcached"},"memsql":{"$ref":"#/types/sdm:index/ResourceMemsql:ResourceMemsql"},"mongoHost":{"$ref":"#/types/sdm:index/ResourceMongoHost:ResourceMongoHost"},"mongoLegacyHost":{"$ref":"#/types/sdm:index/ResourceMongoLegacyHost:ResourceMongoLegacyHost","description":"MongoLegacyHost is currently unstable, and its API may change, or it may be removed, without a major version bump."},"mongoLegacyReplicaset":{"$ref":"#/types/sdm:index/ResourceMongoLegacyReplicaset:ResourceMongoLegacyReplicaset","description":"MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed, without a major version bump."},"mongoReplicaSet":{"$ref":"#/types/sdm:index/ResourceMongoReplicaSet:ResourceMongoReplicaSet"},"mongoShardedCluster":{"$ref":"#/types/sdm:index/ResourceMongoShardedCluster:ResourceMongoShardedCluster"},"mtlsMysql":{"$ref":"#/types/sdm:index/ResourceMtlsMysql:ResourceMtlsMysql"},"mtlsPostgres":{"$ref":"#/types/sdm:index/ResourceMtlsPostgres:ResourceMtlsPostgres"},"mysql":{"$ref":"#/types/sdm:index/ResourceMysql:ResourceMysql"},"neptune":{"$ref":"#/types/sdm:index/ResourceNeptune:ResourceNeptune"},"neptuneIam":{"$ref":"#/types/sdm:index/ResourceNeptuneIam:ResourceNeptuneIam"},"oktaGroups":{"$ref":"#/types/sdm:index/ResourceOktaGroups:ResourceOktaGroups","description":"OktaGroups is currently unstable, and its API may change, or it may be removed, without a major version bump."},"oracle":{"$ref":"#/types/sdm:index/ResourceOracle:ResourceOracle"},"oracleNne":{"$ref":"#/types/sdm:index/ResourceOracleNne:ResourceOracleNne"},"postgres":{"$ref":"#/types/sdm:index/ResourcePostgres:ResourcePostgres"},"presto":{"$ref":"#/types/sdm:index/ResourcePresto:ResourcePresto"},"rabbitmqAmqp091":{"$ref":"#/types/sdm:index/ResourceRabbitmqAmqp091:ResourceRabbitmqAmqp091"},"rawTcp":{"$ref":"#/types/sdm:index/ResourceRawTcp:ResourceRawTcp"},"rdp":{"$ref":"#/types/sdm:index/ResourceRdp:ResourceRdp"},"rdpCert":{"$ref":"#/types/sdm:index/ResourceRdpCert:ResourceRdpCert"},"rdsPostgresIam":{"$ref":"#/types/sdm:index/ResourceRdsPostgresIam:ResourceRdsPostgresIam"},"redis":{"$ref":"#/types/sdm:index/ResourceRedis:ResourceRedis"},"redisCluster":{"$ref":"#/types/sdm:index/ResourceRedisCluster:ResourceRedisCluster"},"redshift":{"$ref":"#/types/sdm:index/ResourceRedshift:ResourceRedshift"},"redshiftIam":{"$ref":"#/types/sdm:index/ResourceRedshiftIam:ResourceRedshiftIam"},"redshiftServerlessIam":{"$ref":"#/types/sdm:index/ResourceRedshiftServerlessIam:ResourceRedshiftServerlessIam"},"singleStore":{"$ref":"#/types/sdm:index/ResourceSingleStore:ResourceSingleStore"},"snowflake":{"$ref":"#/types/sdm:index/ResourceSnowflake:ResourceSnowflake"},"snowsight":{"$ref":"#/types/sdm:index/ResourceSnowsight:ResourceSnowsight"},"sqlServer":{"$ref":"#/types/sdm:index/ResourceSqlServer:ResourceSqlServer"},"sqlServerAzureAd":{"$ref":"#/types/sdm:index/ResourceSqlServerAzureAd:ResourceSqlServerAzureAd"},"sqlServerKerberosAd":{"$ref":"#/types/sdm:index/ResourceSqlServerKerberosAd:ResourceSqlServerKerberosAd"},"ssh":{"$ref":"#/types/sdm:index/ResourceSsh:ResourceSsh"},"sshCert":{"$ref":"#/types/sdm:index/ResourceSshCert:ResourceSshCert"},"sshCustomerKey":{"$ref":"#/types/sdm:index/ResourceSshCustomerKey:ResourceSshCustomerKey"},"sshPassword":{"$ref":"#/types/sdm:index/ResourceSshPassword:ResourceSshPassword"},"sybase":{"$ref":"#/types/sdm:index/ResourceSybase:ResourceSybase"},"sybaseIq":{"$ref":"#/types/sdm:index/ResourceSybaseIq:ResourceSybaseIq"},"teradata":{"$ref":"#/types/sdm:index/ResourceTeradata:ResourceTeradata"},"trino":{"$ref":"#/types/sdm:index/ResourceTrino:ResourceTrino"},"vertica":{"$ref":"#/types/sdm:index/ResourceVertica:ResourceVertica"}},"type":"object"}},"sdm:index/role:Role":{"description":"A Role has a list of access rules which determine which Resources the members\n of the Role have access to. An Account can be a member of multiple Roles via\n AccountAttachments.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst engineers = new sdm.Role(\"engineers\", {\n    name: \"engineers\",\n    tags: {\n        foo: \"bar\",\n    },\n});\nconst example_role = new sdm.Role(\"example-role\", {\n    name: \"example-role\",\n    accessRules: JSON.stringify([\n        {\n            tags: {\n                env: \"staging\",\n            },\n        },\n        {\n            type: \"postgres\",\n            tags: {\n                region: \"us-west\",\n                env: \"dev\",\n            },\n        },\n        {\n            ids: [\"rs-093e6f3061eb4dad\"],\n        },\n    ]),\n});\nconst k8s_admin = new sdm.Role(\"k8s-admin\", {\n    name: \"k8s-admin\",\n    accessRules: JSON.stringify([{\n        tags: {\n            env: \"production\",\n        },\n        privileges: {\n            k8s: {\n                groups: [\"system:masters\"],\n            },\n        },\n    }]),\n});\nconst k8s_developers = new sdm.Role(\"k8s-developers\", {\n    name: \"k8s-developers\",\n    accessRules: JSON.stringify([\n        {\n            type: \"amazon_eks\",\n            tags: {\n                env: \"dev\",\n            },\n            privileges: {\n                k8s: {\n                    groups: [\n                        \"developers\",\n                        \"viewers\",\n                    ],\n                },\n            },\n        },\n        {\n            type: \"kubernetes\",\n            tags: {\n                region: \"us-west\",\n            },\n            privileges: {\n                k8s: {\n                    groups: [\"edit\"],\n                },\n            },\n        },\n    ]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pierskarsenbarg_pulumi_sdm as sdm\n\nengineers = sdm.Role(\"engineers\",\n    name=\"engineers\",\n    tags={\n        \"foo\": \"bar\",\n    })\nexample_role = sdm.Role(\"example-role\",\n    name=\"example-role\",\n    access_rules=json.dumps([\n        {\n            \"tags\": {\n                \"env\": \"staging\",\n            },\n        },\n        {\n            \"type\": \"postgres\",\n            \"tags\": {\n                \"region\": \"us-west\",\n                \"env\": \"dev\",\n            },\n        },\n        {\n            \"ids\": [\"rs-093e6f3061eb4dad\"],\n        },\n    ]))\nk8s_admin = sdm.Role(\"k8s-admin\",\n    name=\"k8s-admin\",\n    access_rules=json.dumps([{\n        \"tags\": {\n            \"env\": \"production\",\n        },\n        \"privileges\": {\n            \"k8s\": {\n                \"groups\": [\"system:masters\"],\n            },\n        },\n    }]))\nk8s_developers = sdm.Role(\"k8s-developers\",\n    name=\"k8s-developers\",\n    access_rules=json.dumps([\n        {\n            \"type\": \"amazon_eks\",\n            \"tags\": {\n                \"env\": \"dev\",\n            },\n            \"privileges\": {\n                \"k8s\": {\n                    \"groups\": [\n                        \"developers\",\n                        \"viewers\",\n                    ],\n                },\n            },\n        },\n        {\n            \"type\": \"kubernetes\",\n            \"tags\": {\n                \"region\": \"us-west\",\n            },\n            \"privileges\": {\n                \"k8s\": {\n                    \"groups\": [\"edit\"],\n                },\n            },\n        },\n    ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var engineers = new Sdm.Role(\"engineers\", new()\n    {\n        Name = \"engineers\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n    var example_role = new Sdm.Role(\"example-role\", new()\n    {\n        Name = \"example-role\",\n        AccessRules = JsonSerializer.Serialize(new[]\n        {\n            new Dictionary\u003cstring, object?\u003e\n            {\n                [\"tags\"] = new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"env\"] = \"staging\",\n                },\n            },\n            new Dictionary\u003cstring, object?\u003e\n            {\n                [\"type\"] = \"postgres\",\n                [\"tags\"] = new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"region\"] = \"us-west\",\n                    [\"env\"] = \"dev\",\n                },\n            },\n            new Dictionary\u003cstring, object?\u003e\n            {\n                [\"ids\"] = new[]\n                {\n                    \"rs-093e6f3061eb4dad\",\n                },\n            },\n        }),\n    });\n\n    var k8s_admin = new Sdm.Role(\"k8s-admin\", new()\n    {\n        Name = \"k8s-admin\",\n        AccessRules = JsonSerializer.Serialize(new[]\n        {\n            new Dictionary\u003cstring, object?\u003e\n            {\n                [\"tags\"] = new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"env\"] = \"production\",\n                },\n                [\"privileges\"] = new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"k8s\"] = new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"groups\"] = new[]\n                        {\n                            \"system:masters\",\n                        },\n                    },\n                },\n            },\n        }),\n    });\n\n    var k8s_developers = new Sdm.Role(\"k8s-developers\", new()\n    {\n        Name = \"k8s-developers\",\n        AccessRules = JsonSerializer.Serialize(new[]\n        {\n            new Dictionary\u003cstring, object?\u003e\n            {\n                [\"type\"] = \"amazon_eks\",\n                [\"tags\"] = new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"env\"] = \"dev\",\n                },\n                [\"privileges\"] = new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"k8s\"] = new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"groups\"] = new[]\n                        {\n                            \"developers\",\n                            \"viewers\",\n                        },\n                    },\n                },\n            },\n            new Dictionary\u003cstring, object?\u003e\n            {\n                [\"type\"] = \"kubernetes\",\n                [\"tags\"] = new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"region\"] = \"us-west\",\n                },\n                [\"privileges\"] = new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"k8s\"] = new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"groups\"] = new[]\n                        {\n                            \"edit\",\n                        },\n                    },\n                },\n            },\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewRole(ctx, \"engineers\", \u0026sdm.RoleArgs{\n\t\t\tName: pulumi.String(\"engineers\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"tags\": map[string]interface{}{\n\t\t\t\t\t\"env\": \"staging\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"type\": \"postgres\",\n\t\t\t\t\"tags\": map[string]interface{}{\n\t\t\t\t\t\"region\": \"us-west\",\n\t\t\t\t\t\"env\":    \"dev\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"ids\": []string{\n\t\t\t\t\t\"rs-093e6f3061eb4dad\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = sdm.NewRole(ctx, \"example-role\", \u0026sdm.RoleArgs{\n\t\t\tName:        pulumi.String(\"example-role\"),\n\t\t\tAccessRules: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"tags\": map[string]interface{}{\n\t\t\t\t\t\"env\": \"production\",\n\t\t\t\t},\n\t\t\t\t\"privileges\": map[string]interface{}{\n\t\t\t\t\t\"k8s\": map[string]interface{}{\n\t\t\t\t\t\t\"groups\": []string{\n\t\t\t\t\t\t\t\"system:masters\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = sdm.NewRole(ctx, \"k8s-admin\", \u0026sdm.RoleArgs{\n\t\t\tName:        pulumi.String(\"k8s-admin\"),\n\t\t\tAccessRules: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON2, err := json.Marshal([]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"type\": \"amazon_eks\",\n\t\t\t\t\"tags\": map[string]interface{}{\n\t\t\t\t\t\"env\": \"dev\",\n\t\t\t\t},\n\t\t\t\t\"privileges\": map[string]interface{}{\n\t\t\t\t\t\"k8s\": map[string]interface{}{\n\t\t\t\t\t\t\"groups\": []string{\n\t\t\t\t\t\t\t\"developers\",\n\t\t\t\t\t\t\t\"viewers\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"type\": \"kubernetes\",\n\t\t\t\t\"tags\": map[string]interface{}{\n\t\t\t\t\t\"region\": \"us-west\",\n\t\t\t\t},\n\t\t\t\t\"privileges\": map[string]interface{}{\n\t\t\t\t\t\"k8s\": map[string]interface{}{\n\t\t\t\t\t\t\"groups\": []string{\n\t\t\t\t\t\t\t\"edit\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson2 := string(tmpJSON2)\n\t\t_, err = sdm.NewRole(ctx, \"k8s-developers\", \u0026sdm.RoleArgs{\n\t\t\tName:        pulumi.String(\"k8s-developers\"),\n\t\t\tAccessRules: pulumi.String(json2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.Role;\nimport com.pulumi.sdm.RoleArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var engineers = new Role(\"engineers\", RoleArgs.builder()\n            .name(\"engineers\")\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n        var example_role = new Role(\"example-role\", RoleArgs.builder()\n            .name(\"example-role\")\n            .accessRules(serializeJson(\n                jsonArray(\n                    jsonObject(\n                        jsonProperty(\"tags\", jsonObject(\n                            jsonProperty(\"env\", \"staging\")\n                        ))\n                    ), \n                    jsonObject(\n                        jsonProperty(\"type\", \"postgres\"),\n                        jsonProperty(\"tags\", jsonObject(\n                            jsonProperty(\"region\", \"us-west\"),\n                            jsonProperty(\"env\", \"dev\")\n                        ))\n                    ), \n                    jsonObject(\n                        jsonProperty(\"ids\", jsonArray(\"rs-093e6f3061eb4dad\"))\n                    )\n                )))\n            .build());\n\n        var k8s_admin = new Role(\"k8s-admin\", RoleArgs.builder()\n            .name(\"k8s-admin\")\n            .accessRules(serializeJson(\n                jsonArray(jsonObject(\n                    jsonProperty(\"tags\", jsonObject(\n                        jsonProperty(\"env\", \"production\")\n                    )),\n                    jsonProperty(\"privileges\", jsonObject(\n                        jsonProperty(\"k8s\", jsonObject(\n                            jsonProperty(\"groups\", jsonArray(\"system:masters\"))\n                        ))\n                    ))\n                ))))\n            .build());\n\n        var k8s_developers = new Role(\"k8s-developers\", RoleArgs.builder()\n            .name(\"k8s-developers\")\n            .accessRules(serializeJson(\n                jsonArray(\n                    jsonObject(\n                        jsonProperty(\"type\", \"amazon_eks\"),\n                        jsonProperty(\"tags\", jsonObject(\n                            jsonProperty(\"env\", \"dev\")\n                        )),\n                        jsonProperty(\"privileges\", jsonObject(\n                            jsonProperty(\"k8s\", jsonObject(\n                                jsonProperty(\"groups\", jsonArray(\n                                    \"developers\", \n                                    \"viewers\"\n                                ))\n                            ))\n                        ))\n                    ), \n                    jsonObject(\n                        jsonProperty(\"type\", \"kubernetes\"),\n                        jsonProperty(\"tags\", jsonObject(\n                            jsonProperty(\"region\", \"us-west\")\n                        )),\n                        jsonProperty(\"privileges\", jsonObject(\n                            jsonProperty(\"k8s\", jsonObject(\n                                jsonProperty(\"groups\", jsonArray(\"edit\"))\n                            ))\n                        ))\n                    )\n                )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  engineers:\n    type: sdm:Role\n    properties:\n      name: engineers\n      tags:\n        foo: bar\n  example-role:\n    type: sdm:Role\n    properties:\n      name: example-role\n      accessRules:\n        fn::toJSON:\n          - tags:\n              env: staging\n          - type: postgres\n            tags:\n              region: us-west\n              env: dev\n          - ids:\n              - rs-093e6f3061eb4dad\n  k8s-admin:\n    type: sdm:Role\n    properties:\n      name: k8s-admin\n      accessRules:\n        fn::toJSON:\n          - tags:\n              env: production\n            privileges:\n              k8s:\n                groups:\n                  - system:masters\n  k8s-developers:\n    type: sdm:Role\n    properties:\n      name: k8s-developers\n      accessRules:\n        fn::toJSON:\n          - type: amazon_eks\n            tags:\n              env: dev\n            privileges:\n              k8s:\n                groups:\n                  - developers\n                  - viewers\n          - type: kubernetes\n            tags:\n              region: us-west\n            privileges:\n              k8s:\n                groups:\n                  - edit\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA Role can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/role:Role example r-12345678\n```\n\n","properties":{"accessRules":{"type":"string","description":"AccessRules is a list of access rules defining the resources this Role has access to.\n"},"managedBy":{"type":"string","description":"Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure."},"name":{"type":"string","description":"Unique human-readable name of the Role.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"required":["accessRules","managedBy","name"],"inputProperties":{"accessRules":{"type":"string","description":"AccessRules is a list of access rules defining the resources this Role has access to.\n"},"name":{"type":"string","description":"Unique human-readable name of the Role.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Role resources.\n","properties":{"accessRules":{"type":"string","description":"AccessRules is a list of access rules defining the resources this Role has access to.\n"},"managedBy":{"type":"string","description":"Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure."},"name":{"type":"string","description":"Unique human-readable name of the Role.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"}},"sdm:index/secretEngine:SecretEngine":{"description":"A SecretEngine is managing secrets in SecretStores.\nThis resource can be imported using the import command.\n\n## Import\n\nA SecretEngine can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/secretEngine:SecretEngine example eng-12345678\n```\n\n","properties":{"activeDirectory":{"$ref":"#/types/sdm:index/SecretEngineActiveDirectory:SecretEngineActiveDirectory"},"keyValue":{"$ref":"#/types/sdm:index/SecretEngineKeyValue:SecretEngineKeyValue"},"mysqlSecretEngine":{"$ref":"#/types/sdm:index/SecretEngineMysqlSecretEngine:SecretEngineMysqlSecretEngine"},"postgresSecretEngine":{"$ref":"#/types/sdm:index/SecretEnginePostgresSecretEngine:SecretEnginePostgresSecretEngine"},"sqlserverSecretEngine":{"$ref":"#/types/sdm:index/SecretEngineSqlserverSecretEngine:SecretEngineSqlserverSecretEngine"}},"inputProperties":{"activeDirectory":{"$ref":"#/types/sdm:index/SecretEngineActiveDirectory:SecretEngineActiveDirectory"},"keyValue":{"$ref":"#/types/sdm:index/SecretEngineKeyValue:SecretEngineKeyValue"},"mysqlSecretEngine":{"$ref":"#/types/sdm:index/SecretEngineMysqlSecretEngine:SecretEngineMysqlSecretEngine"},"postgresSecretEngine":{"$ref":"#/types/sdm:index/SecretEnginePostgresSecretEngine:SecretEnginePostgresSecretEngine"},"sqlserverSecretEngine":{"$ref":"#/types/sdm:index/SecretEngineSqlserverSecretEngine:SecretEngineSqlserverSecretEngine"}},"stateInputs":{"description":"Input properties used for looking up and filtering SecretEngine resources.\n","properties":{"activeDirectory":{"$ref":"#/types/sdm:index/SecretEngineActiveDirectory:SecretEngineActiveDirectory"},"keyValue":{"$ref":"#/types/sdm:index/SecretEngineKeyValue:SecretEngineKeyValue"},"mysqlSecretEngine":{"$ref":"#/types/sdm:index/SecretEngineMysqlSecretEngine:SecretEngineMysqlSecretEngine"},"postgresSecretEngine":{"$ref":"#/types/sdm:index/SecretEnginePostgresSecretEngine:SecretEnginePostgresSecretEngine"},"sqlserverSecretEngine":{"$ref":"#/types/sdm:index/SecretEngineSqlserverSecretEngine:SecretEngineSqlserverSecretEngine"}},"type":"object"}},"sdm:index/secretStore:SecretStore":{"description":"A SecretStore is a server where resource secrets (passwords, keys) are stored.\n Coming soon support for HashiCorp Vault and AWS Secret Store.\nThis resource can be imported using the import command.\n\n## Import\n\nA SecretStore can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/secretStore:SecretStore example se-12345678\n```\n\n","properties":{"activeDirectoryStore":{"$ref":"#/types/sdm:index/SecretStoreActiveDirectoryStore:SecretStoreActiveDirectoryStore"},"aws":{"$ref":"#/types/sdm:index/SecretStoreAws:SecretStoreAws"},"awsCertX509":{"$ref":"#/types/sdm:index/SecretStoreAwsCertX509:SecretStoreAwsCertX509"},"azureStore":{"$ref":"#/types/sdm:index/SecretStoreAzureStore:SecretStoreAzureStore"},"cyberarkConjur":{"$ref":"#/types/sdm:index/SecretStoreCyberarkConjur:SecretStoreCyberarkConjur"},"cyberarkPam":{"$ref":"#/types/sdm:index/SecretStoreCyberarkPam:SecretStoreCyberarkPam"},"cyberarkPamExperimental":{"$ref":"#/types/sdm:index/SecretStoreCyberarkPamExperimental:SecretStoreCyberarkPamExperimental","description":"CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed, without a major version bump."},"delineaStore":{"$ref":"#/types/sdm:index/SecretStoreDelineaStore:SecretStoreDelineaStore"},"gcpCertX509Store":{"$ref":"#/types/sdm:index/SecretStoreGcpCertX509Store:SecretStoreGcpCertX509Store"},"gcpStore":{"$ref":"#/types/sdm:index/SecretStoreGcpStore:SecretStoreGcpStore"},"keyfactorSshStore":{"$ref":"#/types/sdm:index/SecretStoreKeyfactorSshStore:SecretStoreKeyfactorSshStore"},"keyfactorX509Store":{"$ref":"#/types/sdm:index/SecretStoreKeyfactorX509Store:SecretStoreKeyfactorX509Store"},"strongVault":{"$ref":"#/types/sdm:index/SecretStoreStrongVault:SecretStoreStrongVault"},"vaultApprole":{"$ref":"#/types/sdm:index/SecretStoreVaultApprole:SecretStoreVaultApprole"},"vaultApproleCertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultApproleCertSsh:SecretStoreVaultApproleCertSsh"},"vaultApproleCertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultApproleCertX509:SecretStoreVaultApproleCertX509"},"vaultAwsEc2":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsEc2:SecretStoreVaultAwsEc2"},"vaultAwsEc2CertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsEc2CertSsh:SecretStoreVaultAwsEc2CertSsh"},"vaultAwsEc2CertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsEc2CertX509:SecretStoreVaultAwsEc2CertX509"},"vaultAwsIam":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsIam:SecretStoreVaultAwsIam"},"vaultAwsIamCertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsIamCertSsh:SecretStoreVaultAwsIamCertSsh"},"vaultAwsIamCertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsIamCertX509:SecretStoreVaultAwsIamCertX509"},"vaultTls":{"$ref":"#/types/sdm:index/SecretStoreVaultTls:SecretStoreVaultTls"},"vaultTlsCertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultTlsCertSsh:SecretStoreVaultTlsCertSsh"},"vaultTlsCertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultTlsCertX509:SecretStoreVaultTlsCertX509"},"vaultToken":{"$ref":"#/types/sdm:index/SecretStoreVaultToken:SecretStoreVaultToken"},"vaultTokenCertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultTokenCertSsh:SecretStoreVaultTokenCertSsh"},"vaultTokenCertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultTokenCertX509:SecretStoreVaultTokenCertX509"}},"inputProperties":{"activeDirectoryStore":{"$ref":"#/types/sdm:index/SecretStoreActiveDirectoryStore:SecretStoreActiveDirectoryStore"},"aws":{"$ref":"#/types/sdm:index/SecretStoreAws:SecretStoreAws"},"awsCertX509":{"$ref":"#/types/sdm:index/SecretStoreAwsCertX509:SecretStoreAwsCertX509"},"azureStore":{"$ref":"#/types/sdm:index/SecretStoreAzureStore:SecretStoreAzureStore"},"cyberarkConjur":{"$ref":"#/types/sdm:index/SecretStoreCyberarkConjur:SecretStoreCyberarkConjur"},"cyberarkPam":{"$ref":"#/types/sdm:index/SecretStoreCyberarkPam:SecretStoreCyberarkPam"},"cyberarkPamExperimental":{"$ref":"#/types/sdm:index/SecretStoreCyberarkPamExperimental:SecretStoreCyberarkPamExperimental","description":"CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed, without a major version bump."},"delineaStore":{"$ref":"#/types/sdm:index/SecretStoreDelineaStore:SecretStoreDelineaStore"},"gcpCertX509Store":{"$ref":"#/types/sdm:index/SecretStoreGcpCertX509Store:SecretStoreGcpCertX509Store"},"gcpStore":{"$ref":"#/types/sdm:index/SecretStoreGcpStore:SecretStoreGcpStore"},"keyfactorSshStore":{"$ref":"#/types/sdm:index/SecretStoreKeyfactorSshStore:SecretStoreKeyfactorSshStore"},"keyfactorX509Store":{"$ref":"#/types/sdm:index/SecretStoreKeyfactorX509Store:SecretStoreKeyfactorX509Store"},"strongVault":{"$ref":"#/types/sdm:index/SecretStoreStrongVault:SecretStoreStrongVault"},"vaultApprole":{"$ref":"#/types/sdm:index/SecretStoreVaultApprole:SecretStoreVaultApprole"},"vaultApproleCertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultApproleCertSsh:SecretStoreVaultApproleCertSsh"},"vaultApproleCertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultApproleCertX509:SecretStoreVaultApproleCertX509"},"vaultAwsEc2":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsEc2:SecretStoreVaultAwsEc2"},"vaultAwsEc2CertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsEc2CertSsh:SecretStoreVaultAwsEc2CertSsh"},"vaultAwsEc2CertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsEc2CertX509:SecretStoreVaultAwsEc2CertX509"},"vaultAwsIam":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsIam:SecretStoreVaultAwsIam"},"vaultAwsIamCertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsIamCertSsh:SecretStoreVaultAwsIamCertSsh"},"vaultAwsIamCertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsIamCertX509:SecretStoreVaultAwsIamCertX509"},"vaultTls":{"$ref":"#/types/sdm:index/SecretStoreVaultTls:SecretStoreVaultTls"},"vaultTlsCertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultTlsCertSsh:SecretStoreVaultTlsCertSsh"},"vaultTlsCertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultTlsCertX509:SecretStoreVaultTlsCertX509"},"vaultToken":{"$ref":"#/types/sdm:index/SecretStoreVaultToken:SecretStoreVaultToken"},"vaultTokenCertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultTokenCertSsh:SecretStoreVaultTokenCertSsh"},"vaultTokenCertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultTokenCertX509:SecretStoreVaultTokenCertX509"}},"stateInputs":{"description":"Input properties used for looking up and filtering SecretStore resources.\n","properties":{"activeDirectoryStore":{"$ref":"#/types/sdm:index/SecretStoreActiveDirectoryStore:SecretStoreActiveDirectoryStore"},"aws":{"$ref":"#/types/sdm:index/SecretStoreAws:SecretStoreAws"},"awsCertX509":{"$ref":"#/types/sdm:index/SecretStoreAwsCertX509:SecretStoreAwsCertX509"},"azureStore":{"$ref":"#/types/sdm:index/SecretStoreAzureStore:SecretStoreAzureStore"},"cyberarkConjur":{"$ref":"#/types/sdm:index/SecretStoreCyberarkConjur:SecretStoreCyberarkConjur"},"cyberarkPam":{"$ref":"#/types/sdm:index/SecretStoreCyberarkPam:SecretStoreCyberarkPam"},"cyberarkPamExperimental":{"$ref":"#/types/sdm:index/SecretStoreCyberarkPamExperimental:SecretStoreCyberarkPamExperimental","description":"CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed, without a major version bump."},"delineaStore":{"$ref":"#/types/sdm:index/SecretStoreDelineaStore:SecretStoreDelineaStore"},"gcpCertX509Store":{"$ref":"#/types/sdm:index/SecretStoreGcpCertX509Store:SecretStoreGcpCertX509Store"},"gcpStore":{"$ref":"#/types/sdm:index/SecretStoreGcpStore:SecretStoreGcpStore"},"keyfactorSshStore":{"$ref":"#/types/sdm:index/SecretStoreKeyfactorSshStore:SecretStoreKeyfactorSshStore"},"keyfactorX509Store":{"$ref":"#/types/sdm:index/SecretStoreKeyfactorX509Store:SecretStoreKeyfactorX509Store"},"strongVault":{"$ref":"#/types/sdm:index/SecretStoreStrongVault:SecretStoreStrongVault"},"vaultApprole":{"$ref":"#/types/sdm:index/SecretStoreVaultApprole:SecretStoreVaultApprole"},"vaultApproleCertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultApproleCertSsh:SecretStoreVaultApproleCertSsh"},"vaultApproleCertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultApproleCertX509:SecretStoreVaultApproleCertX509"},"vaultAwsEc2":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsEc2:SecretStoreVaultAwsEc2"},"vaultAwsEc2CertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsEc2CertSsh:SecretStoreVaultAwsEc2CertSsh"},"vaultAwsEc2CertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsEc2CertX509:SecretStoreVaultAwsEc2CertX509"},"vaultAwsIam":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsIam:SecretStoreVaultAwsIam"},"vaultAwsIamCertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsIamCertSsh:SecretStoreVaultAwsIamCertSsh"},"vaultAwsIamCertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultAwsIamCertX509:SecretStoreVaultAwsIamCertX509"},"vaultTls":{"$ref":"#/types/sdm:index/SecretStoreVaultTls:SecretStoreVaultTls"},"vaultTlsCertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultTlsCertSsh:SecretStoreVaultTlsCertSsh"},"vaultTlsCertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultTlsCertX509:SecretStoreVaultTlsCertX509"},"vaultToken":{"$ref":"#/types/sdm:index/SecretStoreVaultToken:SecretStoreVaultToken"},"vaultTokenCertSsh":{"$ref":"#/types/sdm:index/SecretStoreVaultTokenCertSsh:SecretStoreVaultTokenCertSsh"},"vaultTokenCertX509":{"$ref":"#/types/sdm:index/SecretStoreVaultTokenCertX509:SecretStoreVaultTokenCertX509"}},"type":"object"}},"sdm:index/workflow:Workflow":{"description":"Workflows are the collection of rules that define the resources to which access can be requested,\n the users that can request that access, and the mechanism for approving those requests which can either\n but automatic approval or a set of users authorized to approve the requests.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\n// Create approval workflows first\nconst autoGrant = new sdm.ApprovalWorkflow(\"auto_grant\", {\n    name: \"Auto Grant Example\",\n    approvalMode: \"automatic\",\n});\nconst manualApproval = new sdm.ApprovalWorkflow(\"manual_approval\", {\n    name: \"Manual Approval Example\",\n    approvalMode: \"manual\",\n    approvalSteps: [{\n        quantifier: \"any\",\n        skipAfter: \"2h0m0s\",\n        approvers: [{\n            reference: \"manager-of-requester\",\n        }],\n    }],\n});\n// Create workflows that reference the approval workflows\nconst autoGrantWorkflow = new sdm.Workflow(\"auto_grant_workflow\", {\n    name: \"auto grant workflow example\",\n    approvalFlowId: autoGrant.id,\n    enabled: true,\n    accessRules: JSON.stringify([{\n        type: \"redis\",\n        tags: {\n            region: \"us-east\",\n        },\n    }]),\n});\nconst manualApprovalWorkflow = new sdm.Workflow(\"manual_approval_workflow\", {\n    name: \"manual approval workflow example\",\n    approvalFlowId: manualApproval.id,\n    enabled: true,\n    accessRules: JSON.stringify([{\n        type: \"redis\",\n        tags: {\n            region: \"us-east\",\n        },\n    }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pierskarsenbarg_pulumi_sdm as sdm\n\n# Create approval workflows first\nauto_grant = sdm.ApprovalWorkflow(\"auto_grant\",\n    name=\"Auto Grant Example\",\n    approval_mode=\"automatic\")\nmanual_approval = sdm.ApprovalWorkflow(\"manual_approval\",\n    name=\"Manual Approval Example\",\n    approval_mode=\"manual\",\n    approval_steps=[{\n        \"quantifier\": \"any\",\n        \"skip_after\": \"2h0m0s\",\n        \"approvers\": [{\n            \"reference\": \"manager-of-requester\",\n        }],\n    }])\n# Create workflows that reference the approval workflows\nauto_grant_workflow = sdm.Workflow(\"auto_grant_workflow\",\n    name=\"auto grant workflow example\",\n    approval_flow_id=auto_grant.id,\n    enabled=True,\n    access_rules=json.dumps([{\n        \"type\": \"redis\",\n        \"tags\": {\n            \"region\": \"us-east\",\n        },\n    }]))\nmanual_approval_workflow = sdm.Workflow(\"manual_approval_workflow\",\n    name=\"manual approval workflow example\",\n    approval_flow_id=manual_approval.id,\n    enabled=True,\n    access_rules=json.dumps([{\n        \"type\": \"redis\",\n        \"tags\": {\n            \"region\": \"us-east\",\n        },\n    }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create approval workflows first\n    var autoGrant = new Sdm.ApprovalWorkflow(\"auto_grant\", new()\n    {\n        Name = \"Auto Grant Example\",\n        ApprovalMode = \"automatic\",\n    });\n\n    var manualApproval = new Sdm.ApprovalWorkflow(\"manual_approval\", new()\n    {\n        Name = \"Manual Approval Example\",\n        ApprovalMode = \"manual\",\n        ApprovalSteps = new[]\n        {\n            new Sdm.Inputs.ApprovalWorkflowApprovalStepArgs\n            {\n                Quantifier = \"any\",\n                SkipAfter = \"2h0m0s\",\n                Approvers = new[]\n                {\n                    new Sdm.Inputs.ApprovalWorkflowApprovalStepApproverArgs\n                    {\n                        Reference = \"manager-of-requester\",\n                    },\n                },\n            },\n        },\n    });\n\n    // Create workflows that reference the approval workflows\n    var autoGrantWorkflow = new Sdm.Workflow(\"auto_grant_workflow\", new()\n    {\n        Name = \"auto grant workflow example\",\n        ApprovalFlowId = autoGrant.Id,\n        Enabled = true,\n        AccessRules = JsonSerializer.Serialize(new[]\n        {\n            new Dictionary\u003cstring, object?\u003e\n            {\n                [\"type\"] = \"redis\",\n                [\"tags\"] = new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"region\"] = \"us-east\",\n                },\n            },\n        }),\n    });\n\n    var manualApprovalWorkflow = new Sdm.Workflow(\"manual_approval_workflow\", new()\n    {\n        Name = \"manual approval workflow example\",\n        ApprovalFlowId = manualApproval.Id,\n        Enabled = true,\n        AccessRules = JsonSerializer.Serialize(new[]\n        {\n            new Dictionary\u003cstring, object?\u003e\n            {\n                [\"type\"] = \"redis\",\n                [\"tags\"] = new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"region\"] = \"us-east\",\n                },\n            },\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create approval workflows first\n\t\tautoGrant, err := sdm.NewApprovalWorkflow(ctx, \"auto_grant\", \u0026sdm.ApprovalWorkflowArgs{\n\t\t\tName:         pulumi.String(\"Auto Grant Example\"),\n\t\t\tApprovalMode: pulumi.String(\"automatic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmanualApproval, err := sdm.NewApprovalWorkflow(ctx, \"manual_approval\", \u0026sdm.ApprovalWorkflowArgs{\n\t\t\tName:         pulumi.String(\"Manual Approval Example\"),\n\t\t\tApprovalMode: pulumi.String(\"manual\"),\n\t\t\tApprovalSteps: sdm.ApprovalWorkflowApprovalStepArray{\n\t\t\t\t\u0026sdm.ApprovalWorkflowApprovalStepArgs{\n\t\t\t\t\tQuantifier: pulumi.String(\"any\"),\n\t\t\t\t\tSkipAfter:  pulumi.String(\"2h0m0s\"),\n\t\t\t\t\tApprovers: sdm.ApprovalWorkflowApprovalStepApproverArray{\n\t\t\t\t\t\t\u0026sdm.ApprovalWorkflowApprovalStepApproverArgs{\n\t\t\t\t\t\t\tReference: pulumi.String(\"manager-of-requester\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"type\": \"redis\",\n\t\t\t\t\"tags\": map[string]interface{}{\n\t\t\t\t\t\"region\": \"us-east\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t// Create workflows that reference the approval workflows\n\t\t_, err = sdm.NewWorkflow(ctx, \"auto_grant_workflow\", \u0026sdm.WorkflowArgs{\n\t\t\tName:           pulumi.String(\"auto grant workflow example\"),\n\t\t\tApprovalFlowId: autoGrant.ID(),\n\t\t\tEnabled:        pulumi.Bool(true),\n\t\t\tAccessRules:    pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"type\": \"redis\",\n\t\t\t\t\"tags\": map[string]interface{}{\n\t\t\t\t\t\"region\": \"us-east\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = sdm.NewWorkflow(ctx, \"manual_approval_workflow\", \u0026sdm.WorkflowArgs{\n\t\t\tName:           pulumi.String(\"manual approval workflow example\"),\n\t\t\tApprovalFlowId: manualApproval.ID(),\n\t\t\tEnabled:        pulumi.Bool(true),\n\t\t\tAccessRules:    pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.ApprovalWorkflow;\nimport com.pulumi.sdm.ApprovalWorkflowArgs;\nimport com.pulumi.sdm.inputs.ApprovalWorkflowApprovalStepArgs;\nimport com.pulumi.sdm.Workflow;\nimport com.pulumi.sdm.WorkflowArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create approval workflows first\n        var autoGrant = new ApprovalWorkflow(\"autoGrant\", ApprovalWorkflowArgs.builder()\n            .name(\"Auto Grant Example\")\n            .approvalMode(\"automatic\")\n            .build());\n\n        var manualApproval = new ApprovalWorkflow(\"manualApproval\", ApprovalWorkflowArgs.builder()\n            .name(\"Manual Approval Example\")\n            .approvalMode(\"manual\")\n            .approvalSteps(ApprovalWorkflowApprovalStepArgs.builder()\n                .quantifier(\"any\")\n                .skipAfter(\"2h0m0s\")\n                .approvers(ApprovalWorkflowApprovalStepApproverArgs.builder()\n                    .reference(\"manager-of-requester\")\n                    .build())\n                .build())\n            .build());\n\n        // Create workflows that reference the approval workflows\n        var autoGrantWorkflow = new Workflow(\"autoGrantWorkflow\", WorkflowArgs.builder()\n            .name(\"auto grant workflow example\")\n            .approvalFlowId(autoGrant.id())\n            .enabled(true)\n            .accessRules(serializeJson(\n                jsonArray(jsonObject(\n                    jsonProperty(\"type\", \"redis\"),\n                    jsonProperty(\"tags\", jsonObject(\n                        jsonProperty(\"region\", \"us-east\")\n                    ))\n                ))))\n            .build());\n\n        var manualApprovalWorkflow = new Workflow(\"manualApprovalWorkflow\", WorkflowArgs.builder()\n            .name(\"manual approval workflow example\")\n            .approvalFlowId(manualApproval.id())\n            .enabled(true)\n            .accessRules(serializeJson(\n                jsonArray(jsonObject(\n                    jsonProperty(\"type\", \"redis\"),\n                    jsonProperty(\"tags\", jsonObject(\n                        jsonProperty(\"region\", \"us-east\")\n                    ))\n                ))))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create approval workflows first\n  autoGrant:\n    type: sdm:ApprovalWorkflow\n    name: auto_grant\n    properties:\n      name: Auto Grant Example\n      approvalMode: automatic\n  manualApproval:\n    type: sdm:ApprovalWorkflow\n    name: manual_approval\n    properties:\n      name: Manual Approval Example\n      approvalMode: manual\n      approvalSteps:\n        - quantifier: any\n          skipAfter: 2h0m0s\n          approvers:\n            - reference: manager-of-requester\n  # Create workflows that reference the approval workflows\n  autoGrantWorkflow:\n    type: sdm:Workflow\n    name: auto_grant_workflow\n    properties:\n      name: auto grant workflow example\n      approvalFlowId: ${autoGrant.id}\n      enabled: true\n      accessRules:\n        fn::toJSON:\n          - type: redis\n            tags:\n              region: us-east\n  manualApprovalWorkflow:\n    type: sdm:Workflow\n    name: manual_approval_workflow\n    properties:\n      name: manual approval workflow example\n      approvalFlowId: ${manualApproval.id}\n      enabled: true\n      accessRules:\n        fn::toJSON:\n          - type: redis\n            tags:\n              region: us-east\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA Workflow can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/workflow:Workflow example aw-12345678\n```\n\n","properties":{"accessRequestFixedDuration":{"type":"string","description":"Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.\n"},"accessRequestMaxDuration":{"type":"string","description":"Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.\n"},"accessRules":{"type":"string","description":"AccessRules is a list of access rules defining the resources this Workflow provides access to.\n"},"approvalFlowId":{"type":"string","description":"Optional approval flow ID identifies an approval flow that linked to the workflow\n"},"autoGrant":{"type":"boolean","description":"Optional auto grant setting to automatically approve requests or not, defaults to false.\n","deprecationMessage":"auto_grant is deprecated, see docs for more info"},"description":{"type":"string","description":"Optional description of the Workflow.\n"},"enabled":{"type":"boolean","description":"Optional enabled state for workflow. This setting may be overridden by the system if the workflow doesn't meet the requirements to be enabled or if other conditions prevent enabling the workflow. The requirements to enable a workflow are that the workflow must be either set up for with auto grant enabled or have one or more WorkflowApprovers created for the workflow.\n"},"name":{"type":"string","description":"Unique human-readable name of the Workflow.\n"},"weight":{"type":"integer","description":"Optional weight for workflow to specify it's priority in matching a request.\n"}},"required":["accessRules","name","weight"],"inputProperties":{"accessRequestFixedDuration":{"type":"string","description":"Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.\n"},"accessRequestMaxDuration":{"type":"string","description":"Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.\n"},"accessRules":{"type":"string","description":"AccessRules is a list of access rules defining the resources this Workflow provides access to.\n"},"approvalFlowId":{"type":"string","description":"Optional approval flow ID identifies an approval flow that linked to the workflow\n"},"autoGrant":{"type":"boolean","description":"Optional auto grant setting to automatically approve requests or not, defaults to false.\n","deprecationMessage":"auto_grant is deprecated, see docs for more info"},"description":{"type":"string","description":"Optional description of the Workflow.\n"},"enabled":{"type":"boolean","description":"Optional enabled state for workflow. This setting may be overridden by the system if the workflow doesn't meet the requirements to be enabled or if other conditions prevent enabling the workflow. The requirements to enable a workflow are that the workflow must be either set up for with auto grant enabled or have one or more WorkflowApprovers created for the workflow.\n"},"name":{"type":"string","description":"Unique human-readable name of the Workflow.\n"},"weight":{"type":"integer","description":"Optional weight for workflow to specify it's priority in matching a request.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Workflow resources.\n","properties":{"accessRequestFixedDuration":{"type":"string","description":"Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.\n"},"accessRequestMaxDuration":{"type":"string","description":"Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.\n"},"accessRules":{"type":"string","description":"AccessRules is a list of access rules defining the resources this Workflow provides access to.\n"},"approvalFlowId":{"type":"string","description":"Optional approval flow ID identifies an approval flow that linked to the workflow\n"},"autoGrant":{"type":"boolean","description":"Optional auto grant setting to automatically approve requests or not, defaults to false.\n","deprecationMessage":"auto_grant is deprecated, see docs for more info"},"description":{"type":"string","description":"Optional description of the Workflow.\n"},"enabled":{"type":"boolean","description":"Optional enabled state for workflow. This setting may be overridden by the system if the workflow doesn't meet the requirements to be enabled or if other conditions prevent enabling the workflow. The requirements to enable a workflow are that the workflow must be either set up for with auto grant enabled or have one or more WorkflowApprovers created for the workflow.\n"},"name":{"type":"string","description":"Unique human-readable name of the Workflow.\n"},"weight":{"type":"integer","description":"Optional weight for workflow to specify it's priority in matching a request.\n"}},"type":"object"}},"sdm:index/workflowApprover:WorkflowApprover":{"description":"WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.\nThis resource is deprecated.\nThis resource can be imported using the import command.\n\n## Import\n\nA WorkflowApprover can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/workflowApprover:WorkflowApprover example nt-12345678\n```\n\n","properties":{"accountId":{"type":"string","description":"The approver account id.\n"},"roleId":{"type":"string","description":"The approver role id\n"},"workflowId":{"type":"string","description":"The workflow id.\n"}},"required":["workflowId"],"inputProperties":{"accountId":{"type":"string","description":"The approver account id.\n","willReplaceOnChanges":true},"roleId":{"type":"string","description":"The approver role id\n","willReplaceOnChanges":true},"workflowId":{"type":"string","description":"The workflow id.\n","willReplaceOnChanges":true}},"requiredInputs":["workflowId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkflowApprover resources.\n","properties":{"accountId":{"type":"string","description":"The approver account id.\n","willReplaceOnChanges":true},"roleId":{"type":"string","description":"The approver role id\n","willReplaceOnChanges":true},"workflowId":{"type":"string","description":"The workflow id.\n","willReplaceOnChanges":true}},"type":"object"}},"sdm:index/workflowRole:WorkflowRole":{"description":"WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of\n to request access to a resource via the workflow.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst workflowRoleExample = new sdm.WorkflowRole(\"workflow_role_example\", {\n    workflowId: manualApprovalWorkflow.id,\n    roleId: developers.id,\n});\nconst workflowRoleWithIds = new sdm.WorkflowRole(\"workflow_role_with_ids\", {\n    workflowId: \"w-1234567890abcdef\",\n    roleId: \"r-1234567890abcdef\",\n});\n```\n```python\nimport pulumi\nimport pierskarsenbarg_pulumi_sdm as sdm\n\nworkflow_role_example = sdm.WorkflowRole(\"workflow_role_example\",\n    workflow_id=manual_approval_workflow[\"id\"],\n    role_id=developers[\"id\"])\nworkflow_role_with_ids = sdm.WorkflowRole(\"workflow_role_with_ids\",\n    workflow_id=\"w-1234567890abcdef\",\n    role_id=\"r-1234567890abcdef\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var workflowRoleExample = new Sdm.WorkflowRole(\"workflow_role_example\", new()\n    {\n        WorkflowId = manualApprovalWorkflow.Id,\n        RoleId = developers.Id,\n    });\n\n    var workflowRoleWithIds = new Sdm.WorkflowRole(\"workflow_role_with_ids\", new()\n    {\n        WorkflowId = \"w-1234567890abcdef\",\n        RoleId = \"r-1234567890abcdef\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.NewWorkflowRole(ctx, \"workflow_role_example\", \u0026sdm.WorkflowRoleArgs{\n\t\t\tWorkflowId: pulumi.Any(manualApprovalWorkflow.Id),\n\t\t\tRoleId:     pulumi.Any(developers.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.NewWorkflowRole(ctx, \"workflow_role_with_ids\", \u0026sdm.WorkflowRoleArgs{\n\t\t\tWorkflowId: pulumi.String(\"w-1234567890abcdef\"),\n\t\t\tRoleId:     pulumi.String(\"r-1234567890abcdef\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.WorkflowRole;\nimport com.pulumi.sdm.WorkflowRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var workflowRoleExample = new WorkflowRole(\"workflowRoleExample\", WorkflowRoleArgs.builder()\n            .workflowId(manualApprovalWorkflow.id())\n            .roleId(developers.id())\n            .build());\n\n        var workflowRoleWithIds = new WorkflowRole(\"workflowRoleWithIds\", WorkflowRoleArgs.builder()\n            .workflowId(\"w-1234567890abcdef\")\n            .roleId(\"r-1234567890abcdef\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  workflowRoleExample:\n    type: sdm:WorkflowRole\n    name: workflow_role_example\n    properties:\n      workflowId: ${manualApprovalWorkflow.id}\n      roleId: ${developers.id}\n  workflowRoleWithIds:\n    type: sdm:WorkflowRole\n    name: workflow_role_with_ids\n    properties:\n      workflowId: w-1234567890abcdef\n      roleId: r-1234567890abcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThis resource can be imported using the import command.\n\n## Import\n\nA WorkflowRole can be imported using the id, e.g.,\n\n```sh\n$ pulumi import sdm:index/workflowRole:WorkflowRole example wr-12345678\n```\n\n","properties":{"roleId":{"type":"string","description":"The role id.\n"},"workflowId":{"type":"string","description":"The workflow id.\n"}},"required":["roleId","workflowId"],"inputProperties":{"roleId":{"type":"string","description":"The role id.\n","willReplaceOnChanges":true},"workflowId":{"type":"string","description":"The workflow id.\n","willReplaceOnChanges":true}},"requiredInputs":["roleId","workflowId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkflowRole resources.\n","properties":{"roleId":{"type":"string","description":"The role id.\n","willReplaceOnChanges":true},"workflowId":{"type":"string","description":"The workflow id.\n","willReplaceOnChanges":true}},"type":"object"}}},"functions":{"pulumi:providers:sdm/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"type":"ref","$ref":"#/provider"}},"type":"pulumi:providers:sdm/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}},"sdm:index/getAccount:getAccount":{"description":"Accounts are users that have access to strongDM. The types of accounts are:\n 1. **Users:** humans who are authenticated through username and password or SSO.\n 2. **Service Accounts:** machines that are authenticated using a service token.\n 3. **Tokens** are access keys with permissions that can be used for authentication.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst user_queries = sdm.getAccount({\n    type: \"user\",\n    email: \"*@strongdm.com\",\n    tags: {\n        region: \"us-west\",\n        env: \"dev\",\n    },\n});\nconst api_key_queries = sdm.getAccount({\n    type: \"api\",\n    name: \"*-dev\",\n});\nconst admin_token_queries = sdm.getAccount({\n    type: \"admin-token\",\n    name: \"*-prod\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\nuser_queries = sdm.get_account(type=\"user\",\n    email=\"*@strongdm.com\",\n    tags={\n        \"region\": \"us-west\",\n        \"env\": \"dev\",\n    })\napi_key_queries = sdm.get_account(type=\"api\",\n    name=\"*-dev\")\nadmin_token_queries = sdm.get_account(type=\"admin-token\",\n    name=\"*-prod\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user_queries = Sdm.GetAccount.Invoke(new()\n    {\n        Type = \"user\",\n        Email = \"*@strongdm.com\",\n        Tags = \n        {\n            { \"region\", \"us-west\" },\n            { \"env\", \"dev\" },\n        },\n    });\n\n    var api_key_queries = Sdm.GetAccount.Invoke(new()\n    {\n        Type = \"api\",\n        Name = \"*-dev\",\n    });\n\n    var admin_token_queries = Sdm.GetAccount.Invoke(new()\n    {\n        Type = \"admin-token\",\n        Name = \"*-prod\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.LookupAccount(ctx, \u0026sdm.LookupAccountArgs{\n\t\t\tType:  pulumi.StringRef(\"user\"),\n\t\t\tEmail: pulumi.StringRef(\"*@strongdm.com\"),\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"region\": \"us-west\",\n\t\t\t\t\"env\":    \"dev\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.LookupAccount(ctx, \u0026sdm.LookupAccountArgs{\n\t\t\tType: pulumi.StringRef(\"api\"),\n\t\t\tName: pulumi.StringRef(\"*-dev\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.LookupAccount(ctx, \u0026sdm.LookupAccountArgs{\n\t\t\tType: pulumi.StringRef(\"admin-token\"),\n\t\t\tName: pulumi.StringRef(\"*-prod\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var user-queries = SdmFunctions.getAccount(GetAccountArgs.builder()\n            .type(\"user\")\n            .email(\"*@strongdm.com\")\n            .tags(Map.ofEntries(\n                Map.entry(\"region\", \"us-west\"),\n                Map.entry(\"env\", \"dev\")\n            ))\n            .build());\n\n        final var api-key-queries = SdmFunctions.getAccount(GetAccountArgs.builder()\n            .type(\"api\")\n            .name(\"*-dev\")\n            .build());\n\n        final var admin-token-queries = SdmFunctions.getAccount(GetAccountArgs.builder()\n            .type(\"admin-token\")\n            .name(\"*-prod\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  user-queries:\n    fn::invoke:\n      function: sdm:getAccount\n      arguments:\n        type: user\n        email: '*@strongdm.com'\n        tags:\n          region: us-west\n          env: dev\n  api-key-queries:\n    fn::invoke:\n      function: sdm:getAccount\n      arguments:\n        type: api\n        name: '*-dev'\n  admin-token-queries:\n    fn::invoke:\n      function: sdm:getAccount\n      arguments:\n        type: admin-token\n        name: '*-prod'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"accountType":{"type":"string","description":"Corresponds to the type of token, e.g. api or admin-token.\n"},"email":{"type":"string","description":"The User's email address. Must be unique.\n"},"employeeNumber":{"type":"string","description":"Internal employee ID used to identify the user.\n"},"externalId":{"type":"string","description":"External ID is an alternative unique ID this user is represented by within an external service.\n"},"firstName":{"type":"string","description":"The User's first name.\n"},"id":{"type":"string","description":"Unique identifier of the User.\n"},"lastName":{"type":"string","description":"The User's last name.\n"},"managerId":{"type":"string","description":"Manager ID is the ID of the user's manager. This field is empty when the user has no manager.\n"},"name":{"type":"string","description":"Unique human-readable name of the Token.\n"},"permissionLevel":{"type":"string","description":"PermissionLevel is the user's permission level e.g. admin, DBA, user.\n"},"permissions":{"type":"string","description":"Permissions assigned to the token, e.g. role:create.\n"},"suspended":{"type":"boolean","description":"Reserved for future use.  Always false for tokens.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"type":{"type":"string","description":"a filter to select all items of a certain subtype. See the [filter documentation](https://docs.strongdm.com/references/cli/filters/) for more information.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"accountType":{"description":"Corresponds to the type of token, e.g. api or admin-token.\n","type":"string"},"accounts":{"description":"A single element list containing a map, where each key lists one of the following objects:\n* service:\n","items":{"$ref":"#/types/sdm:index/getAccountAccount:getAccountAccount"},"type":"array"},"email":{"description":"The User's email address. Must be unique.\n","type":"string"},"employeeNumber":{"description":"Internal employee ID used to identify the user.\n","type":"string"},"externalId":{"description":"External ID is an alternative unique ID this user is represented by within an external service.\n","type":"string"},"firstName":{"description":"The User's first name.\n","type":"string"},"id":{"description":"Unique identifier of the User.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"lastName":{"description":"The User's last name.\n","type":"string"},"managerId":{"description":"Manager ID is the ID of the user's manager. This field is empty when the user has no manager.\n","type":"string"},"name":{"description":"Unique human-readable name of the Token.\n","type":"string"},"permissionLevel":{"description":"PermissionLevel is the user's permission level e.g. admin, DBA, user.\n","type":"string"},"permissions":{"description":"Permissions assigned to the token, e.g. role:create.\n","type":"string"},"suspended":{"description":"Suspended is a read only field for the User's suspended state.\n","type":"boolean"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n","type":"object"},"type":{"type":"string"}},"required":["accounts","ids"],"type":"object"}},"sdm:index/getAccountAttachment:getAccountAttachment":{"description":"AccountAttachments assign an account to a role.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst accountAttachmentQuery = sdm.getAccountAttachment({\n    accountId: \"a-00000054\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\naccount_attachment_query = sdm.get_account_attachment(account_id=\"a-00000054\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var accountAttachmentQuery = Sdm.GetAccountAttachment.Invoke(new()\n    {\n        AccountId = \"a-00000054\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.LookupAccountAttachment(ctx, \u0026sdm.LookupAccountAttachmentArgs{\n\t\t\tAccountId: pulumi.StringRef(\"a-00000054\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetAccountAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var accountAttachmentQuery = SdmFunctions.getAccountAttachment(GetAccountAttachmentArgs.builder()\n            .accountId(\"a-00000054\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  accountAttachmentQuery:\n    fn::invoke:\n      function: sdm:getAccountAttachment\n      arguments:\n        accountId: a-00000054\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccountAttachment.\n","properties":{"accountId":{"type":"string","description":"The id of the account of this AccountAttachment.\n"},"id":{"type":"string","description":"Unique identifier of the AccountAttachment.\n"},"roleId":{"type":"string","description":"The id of the attached role of this AccountAttachment.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAccountAttachment.\n","properties":{"accountAttachments":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getAccountAttachmentAccountAttachment:getAccountAttachmentAccountAttachment"},"type":"array"},"accountId":{"description":"The id of the account of this AccountAttachment.\n","type":"string"},"id":{"description":"Unique identifier of the AccountAttachment.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"roleId":{"description":"The id of the attached role of this AccountAttachment.\n","type":"string"}},"required":["accountAttachments","ids"],"type":"object"}},"sdm:index/getAccountGroup:getAccountGroup":{"description":"An AccountGroup is a link between an Account and a Group.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst securityLeadGroups = sdm.getAccountGroup({\n    accountId: securityLead.id,\n});\nconst specificRelationship = sdm.getAccountGroup({\n    id: \"accountgroup-1234567890abcdef\",\n});\nconst usersInGroup = sdm.getAccountGroup({\n    groupId: devopsGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\nsecurity_lead_groups = sdm.get_account_group(account_id=security_lead[\"id\"])\nspecific_relationship = sdm.get_account_group(id=\"accountgroup-1234567890abcdef\")\nusers_in_group = sdm.get_account_group(group_id=devops_group[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var securityLeadGroups = Sdm.GetAccountGroup.Invoke(new()\n    {\n        AccountId = securityLead.Id,\n    });\n\n    var specificRelationship = Sdm.GetAccountGroup.Invoke(new()\n    {\n        Id = \"accountgroup-1234567890abcdef\",\n    });\n\n    var usersInGroup = Sdm.GetAccountGroup.Invoke(new()\n    {\n        GroupId = devopsGroup.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.LookupAccountGroup(ctx, \u0026sdm.LookupAccountGroupArgs{\n\t\t\tAccountId: pulumi.StringRef(securityLead.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.LookupAccountGroup(ctx, \u0026sdm.LookupAccountGroupArgs{\n\t\t\tId: pulumi.StringRef(\"accountgroup-1234567890abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.LookupAccountGroup(ctx, \u0026sdm.LookupAccountGroupArgs{\n\t\t\tGroupId: pulumi.StringRef(devopsGroup.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetAccountGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var securityLeadGroups = SdmFunctions.getAccountGroup(GetAccountGroupArgs.builder()\n            .accountId(securityLead.id())\n            .build());\n\n        final var specificRelationship = SdmFunctions.getAccountGroup(GetAccountGroupArgs.builder()\n            .id(\"accountgroup-1234567890abcdef\")\n            .build());\n\n        final var usersInGroup = SdmFunctions.getAccountGroup(GetAccountGroupArgs.builder()\n            .groupId(devopsGroup.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  securityLeadGroups:\n    fn::invoke:\n      function: sdm:getAccountGroup\n      arguments:\n        accountId: ${securityLead.id}\n  specificRelationship:\n    fn::invoke:\n      function: sdm:getAccountGroup\n      arguments:\n        id: accountgroup-1234567890abcdef\n  usersInGroup:\n    fn::invoke:\n      function: sdm:getAccountGroup\n      arguments:\n        groupId: ${devopsGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccountGroup.\n","properties":{"accountId":{"type":"string","description":"Unique identifier of the Account.\n"},"groupId":{"type":"string","description":"Unique identifier of the Group.\n"},"id":{"type":"string","description":"Unique identifier of the AccountGroup.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAccountGroup.\n","properties":{"accountId":{"description":"Unique identifier of the Account.\n","type":"string"},"accountsGroups":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getAccountGroupAccountsGroup:getAccountGroupAccountsGroup"},"type":"array"},"groupId":{"description":"Unique identifier of the Group.\n","type":"string"},"id":{"description":"Unique identifier of the AccountGroup.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"}},"required":["accountsGroups","ids"],"type":"object"}},"sdm:index/getApprovalWorkflow:getApprovalWorkflow":{"description":"ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized\n approvers and be approved or denied.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst manualApprovalWorkflowQuery = sdm.getApprovalWorkflow({\n    name: \"approval workflow manual\",\n    approvalMode: \"manual\",\n});\nconst autoGrantApprovalWorkflowQuery = sdm.getApprovalWorkflow({\n    name: \"approval workflow auto\",\n    approvalMode: \"automatic\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\nmanual_approval_workflow_query = sdm.get_approval_workflow(name=\"approval workflow manual\",\n    approval_mode=\"manual\")\nauto_grant_approval_workflow_query = sdm.get_approval_workflow(name=\"approval workflow auto\",\n    approval_mode=\"automatic\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var manualApprovalWorkflowQuery = Sdm.GetApprovalWorkflow.Invoke(new()\n    {\n        Name = \"approval workflow manual\",\n        ApprovalMode = \"manual\",\n    });\n\n    var autoGrantApprovalWorkflowQuery = Sdm.GetApprovalWorkflow.Invoke(new()\n    {\n        Name = \"approval workflow auto\",\n        ApprovalMode = \"automatic\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.LookupApprovalWorkflow(ctx, \u0026sdm.LookupApprovalWorkflowArgs{\n\t\t\tName:         pulumi.StringRef(\"approval workflow manual\"),\n\t\t\tApprovalMode: pulumi.StringRef(\"manual\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.LookupApprovalWorkflow(ctx, \u0026sdm.LookupApprovalWorkflowArgs{\n\t\t\tName:         pulumi.StringRef(\"approval workflow auto\"),\n\t\t\tApprovalMode: pulumi.StringRef(\"automatic\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetApprovalWorkflowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var manualApprovalWorkflowQuery = SdmFunctions.getApprovalWorkflow(GetApprovalWorkflowArgs.builder()\n            .name(\"approval workflow manual\")\n            .approvalMode(\"manual\")\n            .build());\n\n        final var autoGrantApprovalWorkflowQuery = SdmFunctions.getApprovalWorkflow(GetApprovalWorkflowArgs.builder()\n            .name(\"approval workflow auto\")\n            .approvalMode(\"automatic\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  manualApprovalWorkflowQuery:\n    fn::invoke:\n      function: sdm:getApprovalWorkflow\n      arguments:\n        name: approval workflow manual\n        approvalMode: manual\n  autoGrantApprovalWorkflowQuery:\n    fn::invoke:\n      function: sdm:getApprovalWorkflow\n      arguments:\n        name: approval workflow auto\n        approvalMode: automatic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApprovalWorkflow.\n","properties":{"approvalMode":{"type":"string","description":"Approval mode of the ApprovalWorkflow\n"},"approvalSteps":{"type":"array","items":{"$ref":"#/types/sdm:index/getApprovalWorkflowApprovalStep:getApprovalWorkflowApprovalStep"},"description":"The approval steps of this approval workflow\n"},"description":{"type":"string","description":"Optional description of the ApprovalWorkflow.\n"},"id":{"type":"string","description":"Unique identifier of the ApprovalWorkflow.\n"},"name":{"type":"string","description":"Unique human-readable name of the ApprovalWorkflow.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getApprovalWorkflow.\n","properties":{"approvalMode":{"description":"Approval mode of the ApprovalWorkflow\n","type":"string"},"approvalSteps":{"description":"The approval steps of this approval workflow\n","items":{"$ref":"#/types/sdm:index/getApprovalWorkflowApprovalStep:getApprovalWorkflowApprovalStep"},"type":"array"},"approvalWorkflows":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getApprovalWorkflowApprovalWorkflow:getApprovalWorkflowApprovalWorkflow"},"type":"array"},"description":{"description":"Optional description of the ApprovalWorkflow.\n","type":"string"},"id":{"description":"Unique identifier of the ApprovalWorkflow.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"name":{"description":"Unique human-readable name of the ApprovalWorkflow.\n","type":"string"}},"required":["approvalWorkflows","ids"],"type":"object"}},"sdm:index/getConnector:getConnector":{"description":"A Connector configures scanning for a given system.\n","inputs":{"description":"A collection of arguments for invoking getConnector.\n","properties":{"accountIds":{"type":"string","description":"AccountIds is the list of AWS Accounts to scan\n"},"clientId":{"type":"string","description":"ClientId is the ID of the Application / Service Account we're acting as\n"},"cloud":{"type":"string","description":"a filter to select all items of a certain subtype. See the [filter documentation](https://docs.strongdm.com/references/cli/filters/) for more information.\n"},"description":{"type":"string","description":"Description of the Connector.\n"},"id":{"type":"string","description":"Unique identifier of the Connector.\n"},"name":{"type":"string","description":"Unique human-readable name of the Connector.\n"},"projectIds":{"type":"string","description":"ProjectIds is the list of GCP Projects the connector will scan\n"},"roleName":{"type":"string","description":"RoleName is the Role we're assuming into for an account\n"},"scanPeriod":{"type":"string","description":"ScanPeriod identifies which remote system this Connector discovers\n"},"services":{"type":"string","description":"Services is a list of services this connector should scan.\n"},"subscriptionIds":{"type":"string","description":"SubscriptionIds are the targets of discovery.\n"},"tenantId":{"type":"string","description":"TenantId is the Azure Tenant we're discovering in\n"},"workloadPoolId":{"type":"string","description":"WorkloadPoolId is the GCP Workload Pool Identifier used to authenticate our JWT\n"},"workloadProjectId":{"type":"string","description":"WorkloadProjectId is the GCP Project ID where the Workload Pool is defined\n"},"workloadProjectNumber":{"type":"string","description":"WorkloadProjectNumber is the GCP Project Number where the Workload Pool is defined\n"},"workloadProviderId":{"type":"string","description":"WorkloadProviderId is the GCP Workload Provider Identifier used to authenticate our JWT\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getConnector.\n","properties":{"accountIds":{"description":"AccountIds is the list of AWS Accounts to scan\n","type":"string"},"clientId":{"description":"ClientId is the ID of the Application / Service Account we're acting as\n","type":"string"},"cloud":{"type":"string"},"description":{"description":"Description of the Connector.\n","type":"string"},"discoveryConnectors":{"description":"A single element list containing a map, where each key lists one of the following objects:\n* aws:\n","items":{"$ref":"#/types/sdm:index/getConnectorDiscoveryConnector:getConnectorDiscoveryConnector"},"type":"array"},"id":{"description":"Unique identifier of the Connector.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"name":{"description":"Unique human-readable name of the Connector.\n","type":"string"},"projectIds":{"description":"ProjectIds is the list of GCP Projects the connector will scan\n","type":"string"},"roleName":{"description":"RoleName is the Role we're assuming into for an account\n","type":"string"},"scanPeriod":{"description":"ScanPeriod identifies which remote system this Connector discovers\n","type":"string"},"services":{"description":"Services is a list of services this connector should scan.\n","type":"string"},"subscriptionIds":{"description":"SubscriptionIds are the targets of discovery.\n","type":"string"},"tenantId":{"description":"TenantId is the Azure Tenant we're discovering in\n* gcp:\n","type":"string"},"workloadPoolId":{"description":"WorkloadPoolId is the GCP Workload Pool Identifier used to authenticate our JWT\n","type":"string"},"workloadProjectId":{"description":"WorkloadProjectId is the GCP Project ID where the Workload Pool is defined\n","type":"string"},"workloadProjectNumber":{"description":"WorkloadProjectNumber is the GCP Project Number where the Workload Pool is defined\n","type":"string"},"workloadProviderId":{"description":"WorkloadProviderId is the GCP Workload Provider Identifier used to authenticate our JWT\n","type":"string"}},"required":["discoveryConnectors","ids"],"type":"object"}},"sdm:index/getGroup:getGroup":{"description":"A Group is a named set of principals.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst securityTeam = sdm.getGroup({\n    name: \"Security Team\",\n});\nconst administrators = sdm.getGroup({\n    id: \"group-1234567890abcdef\",\n});\nconst adminTeams = sdm.getGroup({\n    tags: {\n        admin: \"true\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\nsecurity_team = sdm.get_group(name=\"Security Team\")\nadministrators = sdm.get_group(id=\"group-1234567890abcdef\")\nadmin_teams = sdm.get_group(tags={\n    \"admin\": \"true\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var securityTeam = Sdm.GetGroup.Invoke(new()\n    {\n        Name = \"Security Team\",\n    });\n\n    var administrators = Sdm.GetGroup.Invoke(new()\n    {\n        Id = \"group-1234567890abcdef\",\n    });\n\n    var adminTeams = Sdm.GetGroup.Invoke(new()\n    {\n        Tags = \n        {\n            { \"admin\", \"true\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.LookupGroup(ctx, \u0026sdm.LookupGroupArgs{\n\t\t\tName: pulumi.StringRef(\"Security Team\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.LookupGroup(ctx, \u0026sdm.LookupGroupArgs{\n\t\t\tId: pulumi.StringRef(\"group-1234567890abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.LookupGroup(ctx, \u0026sdm.LookupGroupArgs{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"admin\": \"true\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var securityTeam = SdmFunctions.getGroup(GetGroupArgs.builder()\n            .name(\"Security Team\")\n            .build());\n\n        final var administrators = SdmFunctions.getGroup(GetGroupArgs.builder()\n            .id(\"group-1234567890abcdef\")\n            .build());\n\n        final var adminTeams = SdmFunctions.getGroup(GetGroupArgs.builder()\n            .tags(Map.of(\"admin\", \"true\"))\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  securityTeam:\n    fn::invoke:\n      function: sdm:getGroup\n      arguments:\n        name: Security Team\n  administrators:\n    fn::invoke:\n      function: sdm:getGroup\n      arguments:\n        id: group-1234567890abcdef\n  adminTeams:\n    fn::invoke:\n      function: sdm:getGroup\n      arguments:\n        tags:\n          admin: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGroup.\n","properties":{"description":{"type":"string","description":"Description of the Group.\n"},"id":{"type":"string","description":"Unique identifier of the Group.\n"},"name":{"type":"string","description":"Unique human-readable name of the Group.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key/value pairs that can be attached to a Group.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getGroup.\n","properties":{"description":{"description":"Description of the Group.\n","type":"string"},"groups":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getGroupGroup:getGroupGroup"},"type":"array"},"id":{"description":"Unique identifier of the Group.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"name":{"description":"Unique human-readable name of the Group.\n","type":"string"},"source":{"description":"Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags is a map of key/value pairs that can be attached to a Group.\n","type":"object"}},"required":["groups","ids","source"],"type":"object"}},"sdm:index/getGroupRole:getGroupRole":{"description":"A GroupRole assigns a Group to a Role.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst securityTeamRoles = sdm.getGroupRole({\n    groupId: securityTeam.id,\n});\nconst specificRelationship = sdm.getGroupRole({\n    id: \"grouprole-1234567890abcdef\",\n});\nconst groupsWithRole = sdm.getGroupRole({\n    roleId: adminRole.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\nsecurity_team_roles = sdm.get_group_role(group_id=security_team[\"id\"])\nspecific_relationship = sdm.get_group_role(id=\"grouprole-1234567890abcdef\")\ngroups_with_role = sdm.get_group_role(role_id=admin_role[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var securityTeamRoles = Sdm.GetGroupRole.Invoke(new()\n    {\n        GroupId = securityTeam.Id,\n    });\n\n    var specificRelationship = Sdm.GetGroupRole.Invoke(new()\n    {\n        Id = \"grouprole-1234567890abcdef\",\n    });\n\n    var groupsWithRole = Sdm.GetGroupRole.Invoke(new()\n    {\n        RoleId = adminRole.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.LookupGroupRole(ctx, \u0026sdm.LookupGroupRoleArgs{\n\t\t\tGroupId: pulumi.StringRef(securityTeam.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.LookupGroupRole(ctx, \u0026sdm.LookupGroupRoleArgs{\n\t\t\tId: pulumi.StringRef(\"grouprole-1234567890abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sdm.LookupGroupRole(ctx, \u0026sdm.LookupGroupRoleArgs{\n\t\t\tRoleId: pulumi.StringRef(adminRole.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetGroupRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var securityTeamRoles = SdmFunctions.getGroupRole(GetGroupRoleArgs.builder()\n            .groupId(securityTeam.id())\n            .build());\n\n        final var specificRelationship = SdmFunctions.getGroupRole(GetGroupRoleArgs.builder()\n            .id(\"grouprole-1234567890abcdef\")\n            .build());\n\n        final var groupsWithRole = SdmFunctions.getGroupRole(GetGroupRoleArgs.builder()\n            .roleId(adminRole.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  securityTeamRoles:\n    fn::invoke:\n      function: sdm:getGroupRole\n      arguments:\n        groupId: ${securityTeam.id}\n  specificRelationship:\n    fn::invoke:\n      function: sdm:getGroupRole\n      arguments:\n        id: grouprole-1234567890abcdef\n  groupsWithRole:\n    fn::invoke:\n      function: sdm:getGroupRole\n      arguments:\n        roleId: ${adminRole.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGroupRole.\n","properties":{"groupId":{"type":"string","description":"The assigned Group ID.\n"},"id":{"type":"string","description":"Unique identifier of the GroupRole.\n"},"roleId":{"type":"string","description":"The assigned Role ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getGroupRole.\n","properties":{"groupId":{"description":"The assigned Group ID.\n","type":"string"},"groupsRoles":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getGroupRoleGroupsRole:getGroupRoleGroupsRole"},"type":"array"},"id":{"description":"Unique identifier of the GroupRole.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"roleId":{"description":"The assigned Role ID.\n","type":"string"}},"required":["groupsRoles","ids"],"type":"object"}},"sdm:index/getIdentityAlias:getIdentityAlias":{"description":"IdentityAliases define the username to be used for a specific account\n when connecting to a remote resource using that identity set.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst user = sdm.getIdentityAlias({\n    id: \"i-0900909\",\n    username: \"user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\nuser = sdm.get_identity_alias(id=\"i-0900909\",\n    username=\"user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user = Sdm.GetIdentityAlias.Invoke(new()\n    {\n        Id = \"i-0900909\",\n        Username = \"user\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.LookupIdentityAlias(ctx, \u0026sdm.LookupIdentityAliasArgs{\n\t\t\tId:       pulumi.StringRef(\"i-0900909\"),\n\t\t\tUsername: pulumi.StringRef(\"user\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetIdentityAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var user = SdmFunctions.getIdentityAlias(GetIdentityAliasArgs.builder()\n            .id(\"i-0900909\")\n            .username(\"user\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  user:\n    fn::invoke:\n      function: sdm:getIdentityAlias\n      arguments:\n        id: i-0900909\n        username: user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIdentityAlias.\n","properties":{"accountId":{"type":"string","description":"The account for this identity alias.\n"},"id":{"type":"string","description":"Unique identifier of the IdentityAlias.\n"},"identitySetId":{"type":"string","description":"The identity set.\n"},"username":{"type":"string","description":"The username to be used as the identity alias for this account.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIdentityAlias.\n","properties":{"accountId":{"description":"The account for this identity alias.\n","type":"string"},"id":{"description":"Unique identifier of the IdentityAlias.\n","type":"string"},"identityAliases":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getIdentityAliasIdentityAlias:getIdentityAliasIdentityAlias"},"type":"array"},"identitySetId":{"description":"The identity set.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"username":{"description":"The username to be used as the identity alias for this account.\n","type":"string"}},"required":["identityAliases","ids"],"type":"object"}},"sdm:index/getIdentitySet:getIdentitySet":{"description":"A IdentitySet defines a group of identity aliases.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst _default = sdm.getIdentitySet({\n    name: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\ndefault = sdm.get_identity_set(name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Sdm.GetIdentitySet.Invoke(new()\n    {\n        Name = \"default\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.LookupIdentitySet(ctx, \u0026sdm.LookupIdentitySetArgs{\n\t\t\tName: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetIdentitySetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = SdmFunctions.getIdentitySet(GetIdentitySetArgs.builder()\n            .name(\"default\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  default:\n    fn::invoke:\n      function: sdm:getIdentitySet\n      arguments:\n        name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIdentitySet.\n","properties":{"id":{"type":"string","description":"Unique identifier of the IdentitySet.\n"},"name":{"type":"string","description":"Unique human-readable name of the IdentitySet.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIdentitySet.\n","properties":{"id":{"description":"Unique identifier of the IdentitySet.\n","type":"string"},"identitySets":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getIdentitySetIdentitySet:getIdentitySetIdentitySet"},"type":"array"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"name":{"description":"Unique human-readable name of the IdentitySet.\n","type":"string"}},"required":["identitySets","ids"],"type":"object"}},"sdm:index/getManagedSecret:getManagedSecret":{"description":"ManagedSecret contains details about managed secret\n","inputs":{"description":"A collection of arguments for invoking getManagedSecret.\n","properties":{"id":{"type":"string","description":"Unique identifier of the Managed Secret.\n"},"name":{"type":"string","description":"Unique human-readable name of the Managed Secret.\n"},"secretEngineId":{"type":"string","description":"An ID of a Secret Engine linked with the Managed Secret.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"value":{"type":"string","description":"Sensitive value of the secret.\n","secret":true}},"type":"object"},"outputs":{"description":"A collection of values returned by getManagedSecret.\n","properties":{"config":{"description":"public part of the secret value\n","type":"string"},"expiresAt":{"description":"Timestamp of when secret is going to be rotated\n","type":"string"},"id":{"description":"Unique identifier of the Managed Secret.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"lastRotatedAt":{"description":"Timestamp of when secret was last rotated\n","type":"string"},"managedSecrets":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getManagedSecretManagedSecret:getManagedSecretManagedSecret"},"type":"array"},"name":{"description":"Unique human-readable name of the Managed Secret.\n","type":"string"},"secretEngineId":{"description":"An ID of a Secret Engine linked with the Managed Secret.\n","type":"string"},"secretStorePath":{"description":"Path in a secret store.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n","type":"object"},"value":{"description":"Sensitive value of the secret.\n","secret":true,"type":"string"}},"required":["config","expiresAt","ids","lastRotatedAt","managedSecrets","secretStorePath"],"type":"object"}},"sdm:index/getNode:getNode":{"description":"Nodes make up the StrongDM network, and allow your users to connect securely to your resources.\n There are three types of nodes:\n 1. **Relay:** creates connectivity to your datasources, while maintaining the egress-only nature of your firewall\n 2. **Gateway:** a relay that also listens for connections from StrongDM clients\n 3. **Proxy Cluster:** a cluster of workers that together mediate access from clients to resources\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst gatewayQuery = sdm.getNode({\n    type: \"gateway\",\n    tags: {\n        region: \"us-west\",\n        env: \"dev\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\ngateway_query = sdm.get_node(type=\"gateway\",\n    tags={\n        \"region\": \"us-west\",\n        \"env\": \"dev\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var gatewayQuery = Sdm.GetNode.Invoke(new()\n    {\n        Type = \"gateway\",\n        Tags = \n        {\n            { \"region\", \"us-west\" },\n            { \"env\", \"dev\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.LookupNode(ctx, \u0026sdm.LookupNodeArgs{\n\t\t\tType: pulumi.StringRef(\"gateway\"),\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"region\": \"us-west\",\n\t\t\t\t\"env\":    \"dev\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var gatewayQuery = SdmFunctions.getNode(GetNodeArgs.builder()\n            .type(\"gateway\")\n            .tags(Map.ofEntries(\n                Map.entry(\"region\", \"us-west\"),\n                Map.entry(\"env\", \"dev\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  gatewayQuery:\n    fn::invoke:\n      function: sdm:getNode\n      arguments:\n        type: gateway\n        tags:\n          region: us-west\n          env: dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNode.\n","properties":{"bindAddress":{"type":"string","description":"The hostname/port tuple which the gateway daemon will bind to. If not provided on create, set to \"0.0.0.0:listen_address_port\".\n"},"id":{"type":"string","description":"Unique identifier of the Relay.\n"},"listenAddress":{"type":"string","description":"The public hostname/port tuple at which the gateway will be accessible to clients.\n"},"name":{"type":"string","description":"Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"type":{"type":"string","description":"a filter to select all items of a certain subtype. See the [filter documentation](https://docs.strongdm.com/references/cli/filters/) for more information.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNode.\n","properties":{"bindAddress":{"description":"The hostname/port tuple which the gateway daemon will bind to. If not provided on create, set to \"0.0.0.0:listen_address_port\".\n","type":"string"},"id":{"description":"Unique identifier of the Relay.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"listenAddress":{"description":"The public hostname/port tuple at which the gateway will be accessible to clients.\n","type":"string"},"name":{"description":"Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.\n","type":"string"},"nodes":{"description":"A single element list containing a map, where each key lists one of the following objects:\n* gateway:\n","items":{"$ref":"#/types/sdm:index/getNodeNode:getNodeNode"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n","type":"object"},"type":{"type":"string"}},"required":["ids","nodes"],"type":"object"}},"sdm:index/getPeeringGroup:getPeeringGroup":{"description":"PeeringGroups are the building blocks used for explicit network topology making.\n They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.\n","inputs":{"description":"A collection of arguments for invoking getPeeringGroup.\n","properties":{"id":{"type":"string","description":"Unique identifier of the PeeringGroup.\n"},"name":{"type":"string","description":"Unique human-readable name of the PeeringGroup.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPeeringGroup.\n","properties":{"id":{"description":"Unique identifier of the PeeringGroup.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"name":{"description":"Unique human-readable name of the PeeringGroup.\n","type":"string"},"peeringGroups":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getPeeringGroupPeeringGroup:getPeeringGroupPeeringGroup"},"type":"array"}},"required":["ids","peeringGroups"],"type":"object"}},"sdm:index/getPeeringGroupNode:getPeeringGroupNode":{"description":"PeeringGroupNode represents the attachment between a PeeringGroup and a Node.\n","inputs":{"description":"A collection of arguments for invoking getPeeringGroupNode.\n","properties":{"groupId":{"type":"string","description":"Peering Group ID to which the node will be attached to.\n"},"id":{"type":"string","description":"Unique identifier of the Attachment.\n"},"nodeId":{"type":"string","description":"Node ID to be attached.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPeeringGroupNode.\n","properties":{"groupId":{"description":"Peering Group ID to which the node will be attached to.\n","type":"string"},"id":{"description":"Unique identifier of the Attachment.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"nodeId":{"description":"Node ID to be attached.\n","type":"string"},"peeringGroupNodes":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getPeeringGroupNodePeeringGroupNode:getPeeringGroupNodePeeringGroupNode"},"type":"array"}},"required":["ids","peeringGroupNodes"],"type":"object"}},"sdm:index/getPeeringGroupPeer:getPeeringGroupPeer":{"description":"PeeringGroupPeer represents the link between two PeeringGroups\n","inputs":{"description":"A collection of arguments for invoking getPeeringGroupPeer.\n","properties":{"groupId":{"type":"string","description":"Group ID from which the link will originate.\n"},"id":{"type":"string","description":"Unique identifier of the Attachment.\n"},"peersWithGroupId":{"type":"string","description":"Peering Group ID to which Group ID will link.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPeeringGroupPeer.\n","properties":{"groupId":{"description":"Group ID from which the link will originate.\n","type":"string"},"id":{"description":"Unique identifier of the Attachment.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"peeringGroupPeers":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getPeeringGroupPeerPeeringGroupPeer:getPeeringGroupPeerPeeringGroupPeer"},"type":"array"},"peersWithGroupId":{"description":"Peering Group ID to which Group ID will link.\n","type":"string"}},"required":["ids","peeringGroupPeers"],"type":"object"}},"sdm:index/getPeeringGroupResource:getPeeringGroupResource":{"description":"PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.\n","inputs":{"description":"A collection of arguments for invoking getPeeringGroupResource.\n","properties":{"groupId":{"type":"string","description":"Peering Group ID to which the resource will be attached to.\n"},"id":{"type":"string","description":"Unique identifier of the Attachment.\n"},"resourceId":{"type":"string","description":"Resource ID to be attached.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPeeringGroupResource.\n","properties":{"groupId":{"description":"Peering Group ID to which the resource will be attached to.\n","type":"string"},"id":{"description":"Unique identifier of the Attachment.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"peeringGroupResources":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getPeeringGroupResourcePeeringGroupResource:getPeeringGroupResourcePeeringGroupResource"},"type":"array"},"resourceId":{"description":"Resource ID to be attached.\n","type":"string"}},"required":["ids","peeringGroupResources"],"type":"object"}},"sdm:index/getPolicy:getPolicy":{"description":"Policy is a collection of one or more statements that enforce fine-grained access control\n for the users of an organization.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst policy = sdm.getPolicy({\n    name: \"policy-query\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\npolicy = sdm.get_policy(name=\"policy-query\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy = Sdm.GetPolicy.Invoke(new()\n    {\n        Name = \"policy-query\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.LookupPolicy(ctx, \u0026sdm.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"policy-query\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var policy = SdmFunctions.getPolicy(GetPolicyArgs.builder()\n            .name(\"policy-query\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  policy:\n    fn::invoke:\n      function: sdm:getPolicy\n      arguments:\n        name: policy-query\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPolicy.\n","properties":{"description":{"type":"string","description":"Optional description of the Policy.\n"},"id":{"type":"string","description":"Unique identifier of the Policy.\n"},"name":{"type":"string","description":"Unique human-readable name of the Policy.\n"},"policy":{"type":"string","description":"The content of the Policy, in Cedar policy language.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPolicy.\n","properties":{"description":{"description":"Optional description of the Policy.\n","type":"string"},"id":{"description":"Unique identifier of the Policy.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"name":{"description":"Unique human-readable name of the Policy.\n","type":"string"},"policies":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getPolicyPolicy:getPolicyPolicy"},"type":"array"},"policy":{"description":"The content of the Policy, in Cedar policy language.\n","type":"string"}},"required":["ids","policies"],"type":"object"}},"sdm:index/getProxyClusterKey:getProxyClusterKey":{"description":"Proxy Cluster Keys are authentication keys for all proxies within a cluster.\n The proxies within a cluster share the same key. One cluster can have\n multiple keys in order to facilitate key rotation.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst proxyClusterKeyQuery = sdm.getProxyClusterKey({\n    proxyClusterId: \"n-233332245\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\nproxy_cluster_key_query = sdm.get_proxy_cluster_key(proxy_cluster_id=\"n-233332245\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var proxyClusterKeyQuery = Sdm.GetProxyClusterKey.Invoke(new()\n    {\n        ProxyClusterId = \"n-233332245\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.LookupProxyClusterKey(ctx, \u0026sdm.LookupProxyClusterKeyArgs{\n\t\t\tProxyClusterId: pulumi.StringRef(\"n-233332245\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetProxyClusterKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var proxyClusterKeyQuery = SdmFunctions.getProxyClusterKey(GetProxyClusterKeyArgs.builder()\n            .proxyClusterId(\"n-233332245\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  proxyClusterKeyQuery:\n    fn::invoke:\n      function: sdm:getProxyClusterKey\n      arguments:\n        proxyClusterId: n-233332245\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getProxyClusterKey.\n","properties":{"id":{"type":"string","description":"Unique identifier of the Relay.\n"},"proxyClusterId":{"type":"string","description":"The ID of the proxy cluster which this key authenticates to.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getProxyClusterKey.\n","properties":{"id":{"description":"Unique identifier of the Relay.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"proxyClusterId":{"description":"The ID of the proxy cluster which this key authenticates to.\n","type":"string"},"proxyClusterKeys":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getProxyClusterKeyProxyClusterKey:getProxyClusterKeyProxyClusterKey"},"type":"array"}},"required":["ids","proxyClusterKeys"],"type":"object"}},"sdm:index/getRdpCaPubkey:getRdpCaPubkey":{"description":"The RDP CA Pubkey is a public key used for setting up a trusted CA on Active Directiory Domain Controllers.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst rdpPubkeyQuery = sdm.getRdpCaPubkey({});\nexport const rdpca = rdpPubkeyQuery.then(rdpPubkeyQuery =\u003e rdpPubkeyQuery.publicKey);\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\nrdp_pubkey_query = sdm.get_rdp_ca_pubkey()\npulumi.export(\"rdpca\", rdp_pubkey_query.public_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rdpPubkeyQuery = Sdm.GetRdpCaPubkey.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"rdpca\"] = rdpPubkeyQuery.Apply(getRdpCaPubkeyResult =\u003e getRdpCaPubkeyResult.PublicKey),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trdpPubkeyQuery, err := sdm.GetRdpCaPubkey(ctx, \u0026sdm.GetRdpCaPubkeyArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"rdpca\", rdpPubkeyQuery.PublicKey)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetRdpCaPubkeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var rdpPubkeyQuery = SdmFunctions.getRdpCaPubkey(GetRdpCaPubkeyArgs.builder()\n            .build());\n\n        ctx.export(\"rdpca\", rdpPubkeyQuery.publicKey());\n    }\n}\n```\n```yaml\nvariables:\n  rdpPubkeyQuery:\n    fn::invoke:\n      function: sdm:getRdpCaPubkey\n      arguments: {}\noutputs:\n  rdpca: ${rdpPubkeyQuery.publicKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRdpCaPubkey.\n","properties":{"id":{"type":"string","description":"a generated id representing this request.\n"},"publicKey":{"type":"string","description":"the RDP Certificate Authority public key.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRdpCaPubkey.\n","properties":{"id":{"description":"a generated id representing this request.\n","type":"string"},"publicKey":{"description":"the RDP Certificate Authority public key.\n","type":"string"}},"type":"object"}},"sdm:index/getRemoteIdentity:getRemoteIdentity":{"description":"RemoteIdentities define the username to be used for a specific account\n when connecting to a remote resource using that group.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst user = sdm.getRemoteIdentity({\n    id: \"i-0900909\",\n    username: \"user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\nuser = sdm.get_remote_identity(id=\"i-0900909\",\n    username=\"user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user = Sdm.GetRemoteIdentity.Invoke(new()\n    {\n        Id = \"i-0900909\",\n        Username = \"user\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.LookupRemoteIdentity(ctx, \u0026sdm.LookupRemoteIdentityArgs{\n\t\t\tId:       pulumi.StringRef(\"i-0900909\"),\n\t\t\tUsername: pulumi.StringRef(\"user\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetRemoteIdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var user = SdmFunctions.getRemoteIdentity(GetRemoteIdentityArgs.builder()\n            .id(\"i-0900909\")\n            .username(\"user\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  user:\n    fn::invoke:\n      function: sdm:getRemoteIdentity\n      arguments:\n        id: i-0900909\n        username: user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRemoteIdentity.\n","properties":{"accountId":{"type":"string","description":"The account for this remote identity.\n"},"id":{"type":"string","description":"Unique identifier of the RemoteIdentity.\n"},"remoteIdentityGroupId":{"type":"string","description":"The remote identity group.\n"},"username":{"type":"string","description":"The username to be used as the remote identity for this account.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRemoteIdentity.\n","properties":{"accountId":{"description":"The account for this remote identity.\n","type":"string"},"id":{"description":"Unique identifier of the RemoteIdentity.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"remoteIdentities":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getRemoteIdentityRemoteIdentity:getRemoteIdentityRemoteIdentity"},"type":"array"},"remoteIdentityGroupId":{"description":"The remote identity group.\n","type":"string"},"username":{"description":"The username to be used as the remote identity for this account.\n","type":"string"}},"required":["ids","remoteIdentities"],"type":"object"}},"sdm:index/getRemoteIdentityGroup:getRemoteIdentityGroup":{"description":"A RemoteIdentityGroup defines a group of remote identities.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst _default = sdm.getRemoteIdentityGroup({\n    name: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\ndefault = sdm.get_remote_identity_group(name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Sdm.GetRemoteIdentityGroup.Invoke(new()\n    {\n        Name = \"default\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.GetRemoteIdentityGroup(ctx, \u0026sdm.GetRemoteIdentityGroupArgs{\n\t\t\tName: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetRemoteIdentityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = SdmFunctions.getRemoteIdentityGroup(GetRemoteIdentityGroupArgs.builder()\n            .name(\"default\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  default:\n    fn::invoke:\n      function: sdm:getRemoteIdentityGroup\n      arguments:\n        name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRemoteIdentityGroup.\n","properties":{"id":{"type":"string","description":"Unique identifier of the RemoteIdentityGroup.\n"},"name":{"type":"string","description":"Unique human-readable name of the RemoteIdentityGroup.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRemoteIdentityGroup.\n","properties":{"id":{"description":"Unique identifier of the RemoteIdentityGroup.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"name":{"description":"Unique human-readable name of the RemoteIdentityGroup.\n","type":"string"},"remoteIdentityGroups":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getRemoteIdentityGroupRemoteIdentityGroup:getRemoteIdentityGroupRemoteIdentityGroup"},"type":"array"}},"required":["ids","remoteIdentityGroups"],"type":"object"}},"sdm:index/getResource:getResource":{"description":"A Resource is a database, server, cluster, website, or cloud that strongDM\n delegates access to.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst mysqlDatasources = sdm.getResource({\n    name: \"us-west*\",\n    type: \"mysql\",\n    tags: {\n        region: \"us-west\",\n        env: \"dev\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\nmysql_datasources = sdm.get_resource(name=\"us-west*\",\n    type=\"mysql\",\n    tags={\n        \"region\": \"us-west\",\n        \"env\": \"dev\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mysqlDatasources = Sdm.GetResource.Invoke(new()\n    {\n        Name = \"us-west*\",\n        Type = \"mysql\",\n        Tags = \n        {\n            { \"region\", \"us-west\" },\n            { \"env\", \"dev\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sdm.LookupResource(ctx, \u0026sdm.LookupResourceArgs{\n\t\t\tName: pulumi.StringRef(\"us-west*\"),\n\t\t\tType: pulumi.StringRef(\"mysql\"),\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"region\": \"us-west\",\n\t\t\t\t\"env\":    \"dev\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var mysqlDatasources = SdmFunctions.getResource(GetResourceArgs.builder()\n            .name(\"us-west*\")\n            .type(\"mysql\")\n            .tags(Map.ofEntries(\n                Map.entry(\"region\", \"us-west\"),\n                Map.entry(\"env\", \"dev\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  mysqlDatasources:\n    fn::invoke:\n      function: sdm:getResource\n      arguments:\n        name: us-west*\n        type: mysql\n        tags:\n          region: us-west\n          env: dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getResource.\n","properties":{"hostname":{"type":"string","description":"The host to dial to initiate a connection from the egress node to this resource.\n"},"id":{"type":"string","description":"Unique identifier of the Resource.\n"},"name":{"type":"string","description":"Unique human-readable name of the Resource.\n"},"port":{"type":"integer","description":"The port to dial to initiate a connection from the egress node to this resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"type":{"type":"string","description":"a filter to select all items of a certain subtype. See the [filter documentation](https://docs.strongdm.com/references/cli/filters/) for more information.\n"},"username":{"type":"string","description":"The username to authenticate with.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getResource.\n","properties":{"hostname":{"description":"The host to dial to initiate a connection from the egress node to this resource.\n","type":"string"},"id":{"description":"Unique identifier of the Resource.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"name":{"description":"Unique human-readable name of the Resource.\n","type":"string"},"port":{"description":"The port to dial to initiate a connection from the egress node to this resource.\n","type":"integer"},"resources":{"description":"A single element list containing a map, where each key lists one of the following objects:\n* aerospike:\n","items":{"$ref":"#/types/sdm:index/getResourceResource:getResourceResource"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n","type":"object"},"type":{"type":"string"},"username":{"description":"The username to authenticate with.\n","type":"string"}},"required":["ids","resources"],"type":"object"}},"sdm:index/getRole:getRole":{"description":"A Role has a list of access rules which determine which Resources the members\n of the Role have access to. An Account can be a member of multiple Roles via\n AccountAttachments.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  compositeRoleQuery:\n    fn::invoke:\n      function: sdm:getRole\n      arguments:\n        composite: true\n        tags:\n          region: us-west\n          env: dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRole.\n","properties":{"id":{"type":"string","description":"Unique identifier of the Role.\n"},"name":{"type":"string","description":"Unique human-readable name of the Role.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRole.\n","properties":{"id":{"description":"Unique identifier of the Role.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"managedBy":{"description":"Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.\n","type":"string"},"name":{"description":"Unique human-readable name of the Role.\n","type":"string"},"roles":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getRoleRole:getRoleRole"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n","type":"object"}},"required":["ids","managedBy","roles"],"type":"object"}},"sdm:index/getSecretEngine:getSecretEngine":{"description":"A SecretEngine is managing secrets in SecretStores.\n","inputs":{"description":"A collection of arguments for invoking getSecretEngine.\n","properties":{"binddn":{"type":"string","description":"Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com\n"},"bindpass":{"type":"string","description":"Password to use along with binddn when performing user search.\n"},"certificate":{"type":"string","description":"CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.\n"},"connectionTimeout":{"type":"integer","description":"Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.\n"},"database":{"type":"string","description":"Database is the database to verify credential against.\n"},"doNotValidateTimestamps":{"type":"boolean","description":"If set to true this will prevent password change timestamp validation in Active Directory when validating credentials\n"},"hostname":{"type":"string","description":"Hostname is the hostname or IP address of the SQL Server.\n"},"id":{"type":"string","description":"Unique identifier of the Secret Engine.\n"},"insecureTls":{"type":"boolean","description":"If true, skips LDAP server SSL certificate verification - insecure, use with caution!\n"},"keyRotationIntervalDays":{"type":"integer","description":"An interval of public/private key rotation for secret engine in days\n"},"name":{"type":"string","description":"Unique human-readable name of the Secret Engine.\n"},"password":{"type":"string","description":"Password is the password to connect to the SQL Server server.\n"},"port":{"type":"integer","description":"Port is the port number of the SQL Server server.\n"},"requestTimeout":{"type":"integer","description":"Timeout, in seconds, for the connection when making requests against the server before returning back an error.\n"},"secretStoreId":{"type":"string","description":"Backing secret store identifier\n"},"secretStoreRootPath":{"type":"string","description":"Backing Secret Store root path where managed secrets are going to be stored\n"},"startTls":{"type":"boolean","description":"If true, issues a StartTLS command after establishing an unencrypted connection.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"tls":{"type":"boolean","description":"TLS enables TLS/SSL when connecting to the SQL Server server.\n"},"tlsSkipVerify":{"type":"boolean","description":"TLS disable certificate verification\n"},"type":{"type":"string","description":"a filter to select all items of a certain subtype. See the [filter documentation](https://docs.strongdm.com/references/cli/filters/) for more information.\n"},"upndomain":{"type":"string","description":"The domain (userPrincipalDomain) used to construct a UPN string for authentication.\n"},"url":{"type":"string","description":"The LDAP server to connect to.\n"},"userdn":{"type":"string","description":"Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com\n"},"username":{"type":"string","description":"Username is the username to connect to the SQL Server.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSecretEngine.\n","properties":{"binddn":{"description":"Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com\n","type":"string"},"bindpass":{"description":"Password to use along with binddn when performing user search.\n","type":"string"},"certificate":{"description":"CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.\n","type":"string"},"connectionTimeout":{"description":"Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.\n","type":"integer"},"database":{"description":"Database is the database to verify credential against.\n","type":"string"},"doNotValidateTimestamps":{"description":"If set to true this will prevent password change timestamp validation in Active Directory when validating credentials\n","type":"boolean"},"hostname":{"description":"Hostname is the hostname or IP address of the SQL Server.\n","type":"string"},"id":{"description":"Unique identifier of the Secret Engine.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"insecureTls":{"description":"If true, skips LDAP server SSL certificate verification - insecure, use with caution!\n","type":"boolean"},"keyRotationIntervalDays":{"description":"An interval of public/private key rotation for secret engine in days\n","type":"integer"},"name":{"description":"Unique human-readable name of the Secret Engine.\n","type":"string"},"password":{"description":"Password is the password to connect to the SQL Server server.\n","type":"string"},"port":{"description":"Port is the port number of the SQL Server server.\n","type":"integer"},"requestTimeout":{"description":"Timeout, in seconds, for the connection when making requests against the server before returning back an error.\n","type":"integer"},"secretEngines":{"description":"A single element list containing a map, where each key lists one of the following objects:\n* active_directory:\n","items":{"$ref":"#/types/sdm:index/getSecretEngineSecretEngine:getSecretEngineSecretEngine"},"type":"array"},"secretStoreId":{"description":"Backing secret store identifier\n","type":"string"},"secretStoreRootPath":{"description":"Backing Secret Store root path where managed secrets are going to be stored\n","type":"string"},"startTls":{"description":"If true, issues a StartTLS command after establishing an unencrypted connection.\n","type":"boolean"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n","type":"object"},"tls":{"description":"TLS enables TLS/SSL when connecting to the SQL Server server.\n","type":"boolean"},"tlsSkipVerify":{"description":"TLS disable certificate verification\n","type":"boolean"},"type":{"type":"string"},"upndomain":{"description":"The domain (userPrincipalDomain) used to construct a UPN string for authentication.\n","type":"string"},"url":{"description":"The LDAP server to connect to.\n","type":"string"},"userdn":{"description":"Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com\n* key_value:\n","type":"string"},"username":{"description":"Username is the username to connect to the SQL Server.\n","type":"string"}},"required":["ids","secretEngines"],"type":"object"}},"sdm:index/getSecretStore:getSecretStore":{"description":"A SecretStore is a server where resource secrets (passwords, keys) are stored.\n Coming soon support for HashiCorp Vault and AWS Secret Store.\n","inputs":{"description":"A collection of arguments for invoking getSecretStore.\n","properties":{"id":{"type":"string","description":"Unique identifier of the SecretStore.\n"},"name":{"type":"string","description":"Unique human-readable name of the SecretStore.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n"},"type":{"type":"string","description":"a filter to select all items of a certain subtype. See the [filter documentation](https://docs.strongdm.com/references/cli/filters/) for more information.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSecretStore.\n","properties":{"id":{"description":"Unique identifier of the SecretStore.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"name":{"description":"Unique human-readable name of the SecretStore.\n","type":"string"},"secretStores":{"description":"A single element list containing a map, where each key lists one of the following objects:\n* active_directory_store:\n","items":{"$ref":"#/types/sdm:index/getSecretStoreSecretStore:getSecretStoreSecretStore"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags is a map of key, value pairs.\n","type":"object"},"type":{"type":"string"}},"required":["ids","secretStores"],"type":"object"}},"sdm:index/getSshCaPubkey:getSshCaPubkey":{"description":"The SSH CA Pubkey is a public key used for setting up SSH resources.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\nconst sshPubkeyQuery = sdm.getSshCaPubkey({});\nexport const sshca = sshPubkeyQuery.then(sshPubkeyQuery =\u003e sshPubkeyQuery.publicKey);\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\nssh_pubkey_query = sdm.get_ssh_ca_pubkey()\npulumi.export(\"sshca\", ssh_pubkey_query.public_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sshPubkeyQuery = Sdm.GetSshCaPubkey.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"sshca\"] = sshPubkeyQuery.Apply(getSshCaPubkeyResult =\u003e getSshCaPubkeyResult.PublicKey),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsshPubkeyQuery, err := sdm.GetSshCaPubkey(ctx, \u0026sdm.GetSshCaPubkeyArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"sshca\", sshPubkeyQuery.PublicKey)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetSshCaPubkeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var sshPubkeyQuery = SdmFunctions.getSshCaPubkey(GetSshCaPubkeyArgs.builder()\n            .build());\n\n        ctx.export(\"sshca\", sshPubkeyQuery.publicKey());\n    }\n}\n```\n```yaml\nvariables:\n  sshPubkeyQuery:\n    fn::invoke:\n      function: sdm:getSshCaPubkey\n      arguments: {}\noutputs:\n  sshca: ${sshPubkeyQuery.publicKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSshCaPubkey.\n","properties":{"id":{"type":"string","description":"a generated id representing this request.\n"},"publicKey":{"type":"string","description":"the SSH Certificate Authority public key.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSshCaPubkey.\n","properties":{"id":{"description":"a generated id representing this request.\n","type":"string"},"publicKey":{"description":"the SSH Certificate Authority public key.\n","type":"string"}},"type":"object"}},"sdm:index/getWorkflow:getWorkflow":{"description":"Workflows are the collection of rules that define the resources to which access can be requested,\n the users that can request that access, and the mechanism for approving those requests which can either\n but automatic approval or a set of users authorized to approve the requests.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\n// Query workflow by name\nconst workflowByName = sdm.getWorkflow({\n    name: \"workflow example\",\n});\n// Query workflow by ID\nconst workflowById = sdm.getWorkflow({\n    id: \"w-1234567890abcdef\",\n});\n// Query workflow by approval flow ID\nconst workflowByApprovalFlow = sdm.getWorkflow({\n    approvalFlowId: \"aw-1234567890abcdef\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\n# Query workflow by name\nworkflow_by_name = sdm.get_workflow(name=\"workflow example\")\n# Query workflow by ID\nworkflow_by_id = sdm.get_workflow(id=\"w-1234567890abcdef\")\n# Query workflow by approval flow ID\nworkflow_by_approval_flow = sdm.get_workflow(approval_flow_id=\"aw-1234567890abcdef\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Query workflow by name\n    var workflowByName = Sdm.GetWorkflow.Invoke(new()\n    {\n        Name = \"workflow example\",\n    });\n\n    // Query workflow by ID\n    var workflowById = Sdm.GetWorkflow.Invoke(new()\n    {\n        Id = \"w-1234567890abcdef\",\n    });\n\n    // Query workflow by approval flow ID\n    var workflowByApprovalFlow = Sdm.GetWorkflow.Invoke(new()\n    {\n        ApprovalFlowId = \"aw-1234567890abcdef\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Query workflow by name\n\t\t_, err := sdm.LookupWorkflow(ctx, \u0026sdm.LookupWorkflowArgs{\n\t\t\tName: pulumi.StringRef(\"workflow example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Query workflow by ID\n\t\t_, err = sdm.LookupWorkflow(ctx, \u0026sdm.LookupWorkflowArgs{\n\t\t\tId: pulumi.StringRef(\"w-1234567890abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Query workflow by approval flow ID\n\t\t_, err = sdm.LookupWorkflow(ctx, \u0026sdm.LookupWorkflowArgs{\n\t\t\tApprovalFlowId: pulumi.StringRef(\"aw-1234567890abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetWorkflowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Query workflow by name\n        final var workflowByName = SdmFunctions.getWorkflow(GetWorkflowArgs.builder()\n            .name(\"workflow example\")\n            .build());\n\n        // Query workflow by ID\n        final var workflowById = SdmFunctions.getWorkflow(GetWorkflowArgs.builder()\n            .id(\"w-1234567890abcdef\")\n            .build());\n\n        // Query workflow by approval flow ID\n        final var workflowByApprovalFlow = SdmFunctions.getWorkflow(GetWorkflowArgs.builder()\n            .approvalFlowId(\"aw-1234567890abcdef\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Query workflow by name\n  workflowByName:\n    fn::invoke:\n      function: sdm:getWorkflow\n      arguments:\n        name: workflow example\n  # Query workflow by ID\n  workflowById:\n    fn::invoke:\n      function: sdm:getWorkflow\n      arguments:\n        id: w-1234567890abcdef\n  # Query workflow by approval flow ID\n  workflowByApprovalFlow:\n    fn::invoke:\n      function: sdm:getWorkflow\n      arguments:\n        approvalFlowId: aw-1234567890abcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWorkflow.\n","properties":{"accessRequestFixedDuration":{"type":"string","description":"Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.\n"},"accessRequestMaxDuration":{"type":"string","description":"Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.\n"},"approvalFlowId":{"type":"string","description":"Optional approval flow ID identifies an approval flow that linked to the workflow\n"},"autoGrant":{"type":"boolean","description":"Optional auto grant setting to automatically approve requests or not, defaults to false.\n","deprecationMessage":"auto_grant is deprecated, see docs for more info"},"description":{"type":"string","description":"Optional description of the Workflow.\n"},"enabled":{"type":"boolean","description":"Optional enabled state for workflow. This setting may be overridden by the system if the workflow doesn't meet the requirements to be enabled or if other conditions prevent enabling the workflow. The requirements to enable a workflow are that the workflow must be either set up for with auto grant enabled or have one or more WorkflowApprovers created for the workflow.\n"},"id":{"type":"string","description":"Unique identifier of the Workflow.\n"},"name":{"type":"string","description":"Unique human-readable name of the Workflow.\n"},"weight":{"type":"integer","description":"Optional weight for workflow to specify it's priority in matching a request.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getWorkflow.\n","properties":{"accessRequestFixedDuration":{"description":"Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.\n","type":"string"},"accessRequestMaxDuration":{"description":"Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.\n","type":"string"},"approvalFlowId":{"description":"Optional approval flow ID identifies an approval flow that linked to the workflow\n","type":"string"},"autoGrant":{"deprecationMessage":"auto_grant is deprecated, see docs for more info","description":"Optional auto grant setting to automatically approve requests or not, defaults to false.\n","type":"boolean"},"description":{"description":"Optional description of the Workflow.\n","type":"string"},"enabled":{"description":"Optional enabled state for workflow. This setting may be overridden by the system if the workflow doesn't meet the requirements to be enabled or if other conditions prevent enabling the workflow. The requirements to enable a workflow are that the workflow must be either set up for with auto grant enabled or have one or more WorkflowApprovers created for the workflow.\n","type":"boolean"},"id":{"description":"Unique identifier of the Workflow.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"name":{"description":"Unique human-readable name of the Workflow.\n","type":"string"},"weight":{"description":"Optional weight for workflow to specify it's priority in matching a request.\n","type":"integer"},"workflows":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getWorkflowWorkflow:getWorkflowWorkflow"},"type":"array"}},"required":["ids","workflows"],"type":"object"}},"sdm:index/getWorkflowApprover:getWorkflowApprover":{"description":"WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.\nThis data source is deprecated.\n","inputs":{"description":"A collection of arguments for invoking getWorkflowApprover.\n","properties":{"accountId":{"type":"string","description":"The approver account id.\n"},"id":{"type":"string","description":"Unique identifier of the WorkflowApprover.\n"},"roleId":{"type":"string","description":"The approver role id\n"},"workflowId":{"type":"string","description":"The workflow id.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getWorkflowApprover.\n","properties":{"accountId":{"description":"The approver account id.\n","type":"string"},"id":{"description":"Unique identifier of the WorkflowApprover.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"roleId":{"description":"The approver role id\n","type":"string"},"workflowApprovers":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getWorkflowApproverWorkflowApprover:getWorkflowApproverWorkflowApprover"},"type":"array"},"workflowId":{"description":"The workflow id.\n","type":"string"}},"required":["ids","workflowApprovers"],"type":"object"}},"sdm:index/getWorkflowRole:getWorkflowRole":{"description":"WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of\n to request access to a resource via the workflow.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sdm from \"@pierskarsenbarg/sdm\";\n\n// Query workflow role by workflow and role IDs\nconst workflowRoleQuery = sdm.getWorkflowRole({\n    workflowId: \"w-1234567890abcdef\",\n    roleId: \"r-1234567890abcdef\",\n});\n// Query workflow role by specific ID\nconst workflowRoleById = sdm.getWorkflowRole({\n    id: \"wr-1234567890abcdef\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sdm as sdm\n\n# Query workflow role by workflow and role IDs\nworkflow_role_query = sdm.get_workflow_role(workflow_id=\"w-1234567890abcdef\",\n    role_id=\"r-1234567890abcdef\")\n# Query workflow role by specific ID\nworkflow_role_by_id = sdm.get_workflow_role(id=\"wr-1234567890abcdef\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Sdm = PiersKarsenbarg.Sdm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Query workflow role by workflow and role IDs\n    var workflowRoleQuery = Sdm.GetWorkflowRole.Invoke(new()\n    {\n        WorkflowId = \"w-1234567890abcdef\",\n        RoleId = \"r-1234567890abcdef\",\n    });\n\n    // Query workflow role by specific ID\n    var workflowRoleById = Sdm.GetWorkflowRole.Invoke(new()\n    {\n        Id = \"wr-1234567890abcdef\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pierskarsenbarg/pulumi-sdm/sdk/go/sdm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Query workflow role by workflow and role IDs\n\t\t_, err := sdm.LookupWorkflowRole(ctx, \u0026sdm.LookupWorkflowRoleArgs{\n\t\t\tWorkflowId: pulumi.StringRef(\"w-1234567890abcdef\"),\n\t\t\tRoleId:     pulumi.StringRef(\"r-1234567890abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Query workflow role by specific ID\n\t\t_, err = sdm.LookupWorkflowRole(ctx, \u0026sdm.LookupWorkflowRoleArgs{\n\t\t\tId: pulumi.StringRef(\"wr-1234567890abcdef\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sdm.SdmFunctions;\nimport com.pulumi.sdm.inputs.GetWorkflowRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Query workflow role by workflow and role IDs\n        final var workflowRoleQuery = SdmFunctions.getWorkflowRole(GetWorkflowRoleArgs.builder()\n            .workflowId(\"w-1234567890abcdef\")\n            .roleId(\"r-1234567890abcdef\")\n            .build());\n\n        // Query workflow role by specific ID\n        final var workflowRoleById = SdmFunctions.getWorkflowRole(GetWorkflowRoleArgs.builder()\n            .id(\"wr-1234567890abcdef\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Query workflow role by workflow and role IDs\n  workflowRoleQuery:\n    fn::invoke:\n      function: sdm:getWorkflowRole\n      arguments:\n        workflowId: w-1234567890abcdef\n        roleId: r-1234567890abcdef\n  # Query workflow role by specific ID\n  workflowRoleById:\n    fn::invoke:\n      function: sdm:getWorkflowRole\n      arguments:\n        id: wr-1234567890abcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWorkflowRole.\n","properties":{"id":{"type":"string","description":"Unique identifier of the WorkflowRole.\n"},"roleId":{"type":"string","description":"The role id.\n"},"workflowId":{"type":"string","description":"The workflow id.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getWorkflowRole.\n","properties":{"id":{"description":"Unique identifier of the WorkflowRole.\n","type":"string"},"ids":{"description":"a list of strings of ids of data sources that match the given arguments.\n","items":{"type":"string"},"type":"array"},"roleId":{"description":"The role id.\n","type":"string"},"workflowId":{"description":"The workflow id.\n","type":"string"},"workflowRoles":{"description":"A list where each element has the following attributes:\n","items":{"$ref":"#/types/sdm:index/getWorkflowRoleWorkflowRole:getWorkflowRoleWorkflowRole"},"type":"array"}},"required":["ids","workflowRoles"],"type":"object"}}}}