// Copyright 2020 StrongDM Inc // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // Code generated by protogen. DO NOT EDIT. package sdm import ( "time" ) type Tags map[string]string func (t Tags) clone() Tags { res := Tags{} for k, v := range t { res[k] = v } return res } // Tag clone creates a deep copy of a Tag pointer. // This method is required for proper handling of repeated Tag fields in oneof common_fields, // specifically for include_tags and exclude_tags in discovery connectors which need to // support duplicate tag names and require deep copying of slice elements. func (tag *Tag) clone() *Tag { if tag == nil { return nil } return &Tag{ Name: tag.Name, Value: tag.Value, } } type LogCategoryConfigMap map[string]*LogCategoryConfig type ResourceType string const ( ResourceTypeUnspecified ResourceType = "RESOURCE_TYPE_UNSPECIFIED" ResourceTypeAks ResourceType = "RESOURCE_TYPE_AKS" ResourceTypeAksBasicAuth ResourceType = "RESOURCE_TYPE_AKS_BASIC_AUTH" ResourceTypeAksServiceAccount ResourceType = "RESOURCE_TYPE_AKS_SERVICE_ACCOUNT" ResourceTypeAksServiceAccountUserImpersonation ResourceType = "RESOURCE_TYPE_AKS_SERVICE_ACCOUNT_USER_IMPERSONATION" ResourceTypeAksUserImpersonation ResourceType = "RESOURCE_TYPE_AKS_USER_IMPERSONATION" ResourceTypeAmazonMqamqp ResourceType = "RESOURCE_TYPE_AMAZON_MQAMQP" ResourceTypeAws ResourceType = "RESOURCE_TYPE_AWS" ResourceTypeAwsConsole ResourceType = "RESOURCE_TYPE_AWS_CONSOLE" ResourceTypeAwsConsoleStaticKeyPair ResourceType = "RESOURCE_TYPE_AWS_CONSOLE_STATIC_KEY_PAIR" ResourceTypeAwsInstanceProfile ResourceType = "RESOURCE_TYPE_AWS_INSTANCE_PROFILE" ResourceTypeAerospike ResourceType = "RESOURCE_TYPE_AEROSPIKE" ResourceTypeAmazonEks ResourceType = "RESOURCE_TYPE_AMAZON_EKS" ResourceTypeAmazonEksInstanceProfile ResourceType = "RESOURCE_TYPE_AMAZON_EKS_INSTANCE_PROFILE" ResourceTypeAmazonEksInstanceProfileUserImpersonation ResourceType = "RESOURCE_TYPE_AMAZON_EKS_INSTANCE_PROFILE_USER_IMPERSONATION" ResourceTypeAmazonEksUserImpersonation ResourceType = "RESOURCE_TYPE_AMAZON_EKS_USER_IMPERSONATION" ResourceTypeAmazonEs ResourceType = "RESOURCE_TYPE_AMAZON_ES" ResourceTypeAmazonEsiam ResourceType = "RESOURCE_TYPE_AMAZON_ESIAM" ResourceTypeAmazonMqamqp091 ResourceType = "RESOURCE_TYPE_AMAZON_MQAMQP_091" ResourceTypeAthena ResourceType = "RESOURCE_TYPE_ATHENA" ResourceTypeAthenaIam ResourceType = "RESOURCE_TYPE_ATHENA_IAM" ResourceTypeAuroraMySql ResourceType = "RESOURCE_TYPE_AURORA_MY_SQL" ResourceTypeAuroraMySqliam ResourceType = "RESOURCE_TYPE_AURORA_MY_SQLIAM" ResourceTypeAuroraPostgres ResourceType = "RESOURCE_TYPE_AURORA_POSTGRES" ResourceTypeAuroraPostgresIam ResourceType = "RESOURCE_TYPE_AURORA_POSTGRES_IAM" ResourceTypeAzure ResourceType = "RESOURCE_TYPE_AZURE" ResourceTypeAzureCert ResourceType = "RESOURCE_TYPE_AZURE_CERT" ResourceTypeAzureMySql ResourceType = "RESOURCE_TYPE_AZURE_MY_SQL" ResourceTypeAzureMySqlManagedIdentity ResourceType = "RESOURCE_TYPE_AZURE_MY_SQL_MANAGED_IDENTITY" ResourceTypeAzurePostgres ResourceType = "RESOURCE_TYPE_AZURE_POSTGRES" ResourceTypeAzurePostgresManagedIdentity ResourceType = "RESOURCE_TYPE_AZURE_POSTGRES_MANAGED_IDENTITY" ResourceTypeBigquery ResourceType = "RESOURCE_TYPE_BIGQUERY" ResourceTypeCassandra ResourceType = "RESOURCE_TYPE_CASSANDRA" ResourceTypeCitus ResourceType = "RESOURCE_TYPE_CITUS" ResourceTypeClickHouseHttp ResourceType = "RESOURCE_TYPE_CLICK_HOUSE_HTTP" ResourceTypeClickHouseMySql ResourceType = "RESOURCE_TYPE_CLICK_HOUSE_MY_SQL" ResourceTypeClickHouseTcp ResourceType = "RESOURCE_TYPE_CLICK_HOUSE_TCP" ResourceTypeClustrix ResourceType = "RESOURCE_TYPE_CLUSTRIX" ResourceTypeCockroach ResourceType = "RESOURCE_TYPE_COCKROACH" ResourceTypeCouchbaseDatabase ResourceType = "RESOURCE_TYPE_COUCHBASE_DATABASE" ResourceTypeCouchbaseWebUi ResourceType = "RESOURCE_TYPE_COUCHBASE_WEB_UI" ResourceTypeDb2I ResourceType = "RESOURCE_TYPE_DB_2_I" ResourceTypeDb2Luw ResourceType = "RESOURCE_TYPE_DB_2_LUW" ResourceTypeDatabricks ResourceType = "RESOURCE_TYPE_DATABRICKS" ResourceTypeDocumentDbHost ResourceType = "RESOURCE_TYPE_DOCUMENT_DB_HOST" ResourceTypeDocumentDbHostIam ResourceType = "RESOURCE_TYPE_DOCUMENT_DB_HOST_IAM" ResourceTypeDocumentDbReplicaSet ResourceType = "RESOURCE_TYPE_DOCUMENT_DB_REPLICA_SET" ResourceTypeDocumentDbReplicaSetIam ResourceType = "RESOURCE_TYPE_DOCUMENT_DB_REPLICA_SET_IAM" ResourceTypeDruID ResourceType = "RESOURCE_TYPE_DRUID" ResourceTypeDynamoDb ResourceType = "RESOURCE_TYPE_DYNAMO_DB" ResourceTypeDynamoDbiam ResourceType = "RESOURCE_TYPE_DYNAMO_DBIAM" ResourceTypeElastic ResourceType = "RESOURCE_TYPE_ELASTIC" ResourceTypeElastiCacheRedis ResourceType = "RESOURCE_TYPE_ELASTI_CACHE_REDIS" ResourceTypeElastiCacheRedisIam ResourceType = "RESOURCE_TYPE_ELASTI_CACHE_REDIS_IAM" ResourceTypeEntraID ResourceType = "RESOURCE_TYPE_ENTRA_ID" ResourceTypeGcp ResourceType = "RESOURCE_TYPE_GCP" ResourceTypeGcpConsole ResourceType = "RESOURCE_TYPE_GCP_CONSOLE" ResourceTypeGcpwif ResourceType = "RESOURCE_TYPE_GCPWIF" ResourceTypeGitHub ResourceType = "RESOURCE_TYPE_GIT_HUB" ResourceTypeGoogleAdmin ResourceType = "RESOURCE_TYPE_GOOGLE_ADMIN" ResourceTypeGoogleGke ResourceType = "RESOURCE_TYPE_GOOGLE_GKE" ResourceTypeGoogleGkeUserImpersonation ResourceType = "RESOURCE_TYPE_GOOGLE_GKE_USER_IMPERSONATION" ResourceTypeGoogleGroups ResourceType = "RESOURCE_TYPE_GOOGLE_GROUPS" ResourceTypeGoogleSpanner ResourceType = "RESOURCE_TYPE_GOOGLE_SPANNER" ResourceTypeGreenplum ResourceType = "RESOURCE_TYPE_GREENPLUM" ResourceTypeHttpAuth ResourceType = "RESOURCE_TYPE_HTTP_AUTH" ResourceTypeHttpBasic ResourceType = "RESOURCE_TYPE_HTTP_BASIC" ResourceTypeHttpNoAuth ResourceType = "RESOURCE_TYPE_HTTP_NO_AUTH" ResourceTypeKubernetes ResourceType = "RESOURCE_TYPE_KUBERNETES" ResourceTypeKubernetesBasicAuth ResourceType = "RESOURCE_TYPE_KUBERNETES_BASIC_AUTH" ResourceTypeKubernetesPodIdentity ResourceType = "RESOURCE_TYPE_KUBERNETES_POD_IDENTITY" ResourceTypeKubernetesServiceAccount ResourceType = "RESOURCE_TYPE_KUBERNETES_SERVICE_ACCOUNT" ResourceTypeKubernetesServiceAccountUserImpersonation ResourceType = "RESOURCE_TYPE_KUBERNETES_SERVICE_ACCOUNT_USER_IMPERSONATION" ResourceTypeKubernetesUserImpersonation ResourceType = "RESOURCE_TYPE_KUBERNETES_USER_IMPERSONATION" ResourceTypeLlm ResourceType = "RESOURCE_TYPE_LLM" ResourceTypeMcpNoAuth ResourceType = "RESOURCE_TYPE_MCP_NO_AUTH" ResourceTypeMcp ResourceType = "RESOURCE_TYPE_MCP" ResourceTypeMcpdcr ResourceType = "RESOURCE_TYPE_MCPDCR" ResourceTypeMcppat ResourceType = "RESOURCE_TYPE_MCPPAT" ResourceTypeMtlsMySql ResourceType = "RESOURCE_TYPE_MTLS_MY_SQL" ResourceTypeMtlsPostgres ResourceType = "RESOURCE_TYPE_MTLS_POSTGRES" ResourceTypeMaria ResourceType = "RESOURCE_TYPE_MARIA" ResourceTypeMemcached ResourceType = "RESOURCE_TYPE_MEMCACHED" ResourceTypeMemSql ResourceType = "RESOURCE_TYPE_MEM_SQL" ResourceTypeMicrosoft365 ResourceType = "RESOURCE_TYPE_MICROSOFT_365" ResourceTypeMongoDbHost ResourceType = "RESOURCE_TYPE_MONGO_DB_HOST" ResourceTypeMongoDb ResourceType = "RESOURCE_TYPE_MONGO_DB" ResourceTypeMongoDbLegacyReplicaSet ResourceType = "RESOURCE_TYPE_MONGO_DB_LEGACY_REPLICA_SET" ResourceTypeMongoDbReplicaSet ResourceType = "RESOURCE_TYPE_MONGO_DB_REPLICA_SET" ResourceTypeMongoDbShardedCluster ResourceType = "RESOURCE_TYPE_MONGO_DB_SHARDED_CLUSTER" ResourceTypeMySql ResourceType = "RESOURCE_TYPE_MY_SQL" ResourceTypeNeptune ResourceType = "RESOURCE_TYPE_NEPTUNE" ResourceTypeNeptuneIam ResourceType = "RESOURCE_TYPE_NEPTUNE_IAM" ResourceTypeOktaAdmin ResourceType = "RESOURCE_TYPE_OKTA_ADMIN" ResourceTypeOktaGroups ResourceType = "RESOURCE_TYPE_OKTA_GROUPS" ResourceTypeOracle ResourceType = "RESOURCE_TYPE_ORACLE" ResourceTypeOracleNne ResourceType = "RESOURCE_TYPE_ORACLE_NNE" ResourceTypePostgres ResourceType = "RESOURCE_TYPE_POSTGRES" ResourceTypePresto ResourceType = "RESOURCE_TYPE_PRESTO" ResourceTypeRdp ResourceType = "RESOURCE_TYPE_RDP" ResourceTypeRdpCert ResourceType = "RESOURCE_TYPE_RDP_CERT" ResourceTypeRdsPostgresIam ResourceType = "RESOURCE_TYPE_RDS_POSTGRES_IAM" ResourceTypeRabbitMqamqp091 ResourceType = "RESOURCE_TYPE_RABBIT_MQAMQP_091" ResourceTypeTcp ResourceType = "RESOURCE_TYPE_TCP" ResourceTypeRedis ResourceType = "RESOURCE_TYPE_REDIS" ResourceTypeRedisCluster ResourceType = "RESOURCE_TYPE_REDIS_CLUSTER" ResourceTypeRedshift ResourceType = "RESOURCE_TYPE_REDSHIFT" ResourceTypeRedshiftIam ResourceType = "RESOURCE_TYPE_REDSHIFT_IAM" ResourceTypeRedshiftServerlessIam ResourceType = "RESOURCE_TYPE_REDSHIFT_SERVERLESS_IAM" ResourceTypeSqlServer ResourceType = "RESOURCE_TYPE_SQL_SERVER" ResourceTypeSqlServerAzureAd ResourceType = "RESOURCE_TYPE_SQL_SERVER_AZURE_AD" ResourceTypeSqlServerKerberos ResourceType = "RESOURCE_TYPE_SQL_SERVER_KERBEROS" ResourceTypeSsh ResourceType = "RESOURCE_TYPE_SSH" ResourceTypeSshCert ResourceType = "RESOURCE_TYPE_SSH_CERT" ResourceTypeSshCertUserProvision ResourceType = "RESOURCE_TYPE_SSH_CERT_USER_PROVISION" ResourceTypeSshCustomerKey ResourceType = "RESOURCE_TYPE_SSH_CUSTOMER_KEY" ResourceTypeSshPassword ResourceType = "RESOURCE_TYPE_SSH_PASSWORD" ResourceTypeSalesforce ResourceType = "RESOURCE_TYPE_SALESFORCE" ResourceTypeSingleStore ResourceType = "RESOURCE_TYPE_SINGLE_STORE" ResourceTypeSnowflake ResourceType = "RESOURCE_TYPE_SNOWFLAKE" ResourceTypeSnowsight ResourceType = "RESOURCE_TYPE_SNOWSIGHT" ResourceTypeSybaseAse ResourceType = "RESOURCE_TYPE_SYBASE_ASE" ResourceTypeSybaseIq ResourceType = "RESOURCE_TYPE_SYBASE_IQ" ResourceTypeTeradata ResourceType = "RESOURCE_TYPE_TERADATA" ResourceTypeTrino ResourceType = "RESOURCE_TYPE_TRINO" ResourceTypeVertica ResourceType = "RESOURCE_TYPE_VERTICA" ) type AKS struct { // If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) // when a resource role is not provided. AllowResourceRoleBypass bool `json:"allowResourceRoleBypass"` // 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. BindInterface string `json:"bindInterface"` // The CA to authenticate TLS connections with. CertificateAuthority string `json:"certificateAuthority"` // The certificate to authenticate TLS connections with. ClientCertificate string `json:"clientCertificate"` // The key to authenticate TLS connections with. ClientKey string `json:"clientKey"` // If true, configures discovery of a cluster to be run from a node. DiscoveryEnabled bool `json:"discoveryEnabled"` // If a cluster is configured for user impersonation, this is the user to impersonate when // running discovery. DiscoveryUsername string `json:"discoveryUsername"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // AKSBasicAuth is currently unstable, and its API may change, or it may be removed, // without a major version bump. type AKSBasicAuth struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type AKSServiceAccount struct { // If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) // when a resource role is not provided. AllowResourceRoleBypass bool `json:"allowResourceRoleBypass"` // 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. BindInterface string `json:"bindInterface"` // If true, configures discovery of a cluster to be run from a node. DiscoveryEnabled bool `json:"discoveryEnabled"` // If a cluster is configured for user impersonation, this is the user to impersonate when // running discovery. DiscoveryUsername string `json:"discoveryUsername"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The API token to authenticate with. Token string `json:"token"` } // Deprecated: see docs for more info. type AKSServiceAccountUserImpersonation struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The API token to authenticate with. Token string `json:"token"` } // Deprecated: see docs for more info. type AKSUserImpersonation struct { // 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. BindInterface string `json:"bindInterface"` // The CA to authenticate TLS connections with. CertificateAuthority string `json:"certificateAuthority"` // The certificate to authenticate TLS connections with. ClientCertificate string `json:"clientCertificate"` // The key to authenticate TLS connections with. ClientKey string `json:"clientKey"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type AMQP struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type AWS struct { // The Access Key ID to use to authenticate. AccessKey string `json:"accessKey"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The AWS region healthcheck requests should attempt to connect to. HealthcheckRegion string `json:"healthcheckRegion"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // The Secret Access Key to use to authenticate. SecretAccessKey string `json:"secretAccessKey"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type AWSCertX509Store struct { // The ARN of the CA in AWS Private CA CaArn string `json:"caArn"` // The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR CertificateTemplateArn string `json:"certificateTemplateArn"` // Unique identifier of the SecretStore. ID string `json:"id"` // The lifetime of certificates issued by this CA represented in minutes. IssuedCertTTLMinutes int32 `json:"issuedCertTtlMinutes"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The AWS region to target e.g. us-east-1 Region string `json:"region"` // The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA SigningAlgo string `json:"signingAlgo"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type AWSConnector struct { // AccountIds is the list of AWS Accounts to scan AccountIDs []string `json:"accountIds"` // Description of the Connector. Description string `json:"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. ExcludeTags []*Tag `json:"excludeTags"` // Unique identifier of the Connector. ID string `json:"id"` // IncludeTags only discovers cloud resources that have one of the included tags. // We do not allow duplicate tag names for IncludeTags IncludeTags []*Tag `json:"includeTags"` // Unique human-readable name of the Connector. Name string `json:"name"` // RoleName is the Role we're assuming into for an account RoleName string `json:"roleName"` // ScanPeriod identifies which remote system this Connector discovers ScanPeriod string `json:"scanPeriod"` // Services is a list of services this connector should scan. Services []string `json:"services"` } type AWSConsole struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // If true, prefer environment variables to authenticate connection even if EC2 roles are configured. EnableEnvVariables bool `json:"enableEnvVariables"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to. Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // The length of time in seconds AWS console sessions will live before needing to reauthenticate. SessionExpiry int32 `json:"sessionExpiry"` // Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network) Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // This option enforces HTTPS on the client, not resource connection. UseHttps bool `json:"useHttps"` } type AWSConsoleStaticKeyPair struct { // The Access Key ID to authenticate with. AccessKey string `json:"accessKey"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to. Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // The Secret Access Key to authenticate with. SecretAccessKey string `json:"secretAccessKey"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // The length of time in seconds AWS console sessions will live before needing to reauthenticate. SessionExpiry int32 `json:"sessionExpiry"` // Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network) Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // This option enforces HTTPS on the client, not resource connection UseHttps bool `json:"useHttps"` } type AWSInstanceProfile struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // If true, prefer environment variables to authenticate connection even if EC2 roles are configured. EnableEnvVariables bool `json:"enableEnvVariables"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to. Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type AWSStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The AWS region to target e.g. us-east-1 Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // AccessRequests are requests for access to a resource that may match a Workflow. type AccessRequest struct { // The account that initiated the request. AccountID string `json:"accountId"` // Duration of the access request. // Deprecated: use requested/result duration instead Duration int64 `json:"duration"` // The account grant created, if it exists. GrantID string `json:"grantId"` // The access request id. ID string `json:"id"` // The reason the access was requested. Reason string `json:"reason"` // The duration that access was requested for, if any. RequestedDuration time.Duration `json:"requestedDuration"` // The resource id. ResourceID string `json:"resourceId"` // The duration that results from an approved request. ResultDuration time.Duration `json:"resultDuration"` // The timestamp when the requested access will be granted. // If this field is not specified it will default to the current time. StartFrom time.Time `json:"startFrom"` // The status of the access request. Status string `json:"status"` // The timestamp when the status changed. StatusAt time.Time `json:"statusAt"` // The timestamp when the requested access will expire. ValidUntil time.Time `json:"validUntil"` // The workflow the request bound to. WorkflowID string `json:"workflowId"` } // AccessRequestConfig holds the information required to request access to a resource type AccessRequestConfig struct { // The time access should end, defaults to the next occurance of 5 pm Duration string `json:"duration"` // The reason for access Reason string `json:"reason"` // The resource for which access is being requested ResourceID string `json:"resourceId"` // The time access should start, defaults to now StartFrom time.Time `json:"startFrom"` } // AccessRequestEvents hold information about events related to an access // request such as creation, approval and denial. type AccessRequestEvent struct { // The account responsible for the event. ActorID string `json:"actorId"` // The access request event id. ID string `json:"id"` // The metadata about the event Metadata string `json:"metadata"` // The request that the event is bound to. RequestID string `json:"requestId"` // The type of event. Type string `json:"type"` } // AccessRequestEventHistory records the state of a AccessRequest at a given point in time, // where every change (create, update and delete) to a AccessRequest produces an // AccessRequestEventHistory record. type AccessRequestEventHistory struct { // The complete AccessRequestEvent state at this time. AccessRequestEvent *AccessRequestEvent `json:"accessRequestEvent"` // The unique identifier of the Activity that produced this change to the AccessRequest. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this Workflow was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The time at which the AccessRequest state was recorded. Timestamp time.Time `json:"timestamp"` } // AccessRequestHistory records the state of a AccessRequest at a given point in time, // where every change (create, update and delete) to a AccessRequest produces an // AccessRequestHistory record. type AccessRequestHistory struct { // The complete AccessRequest state at this time. AccessRequest *AccessRequest `json:"accessRequest"` // The unique identifier of the Activity that produced this change to the AccessRequest. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this Workflow was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The time at which the AccessRequest state was recorded. Timestamp time.Time `json:"timestamp"` } // AccessRequestListRequest specifies criteria for retrieving a list of // AccessRequest records type AccessRequestListRequest struct { // A human-readable filter query string. Filter string `json:"filter"` } // AccessRequestListResponse returns a list of access requests records that meet // the criteria of a AccessRequestListRequest. type AccessRequestListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // Accounts are users that have access to strongDM. The types of accounts are: // 1. **Users:** humans who are authenticated through username and password or SSO. // 2. **Service Accounts:** machines that are authenticated using a service token. // 3. **Tokens** are access keys with permissions that can be used for authentication. type Account interface { // GetID returns the unique identifier of the Account. GetID() string // IsSuspended returns whether the Account is suspended. IsSuspended() bool // SetSuspended sets the suspended of the Account. SetSuspended(bool) // GetTags returns the tags of the Account. GetTags() Tags // SetTags sets the tags of the Account. SetTags(Tags) // GetCreatedAt returns the created at of the Account. GetCreatedAt() time.Time // SetCreatedAt sets the created at of the Account. SetCreatedAt(time.Time) isOneOf_Account() } func (*Service) isOneOf_Account() {} // GetID returns the unique identifier of the Service. func (m *Service) GetID() string { return m.ID } // IsSuspended returns whether the Service is suspended. func (m *Service) IsSuspended() bool { return m.Suspended } // SetSuspended sets the suspended of the Service. func (m *Service) SetSuspended(v bool) { m.Suspended = v } // GetTags returns the tags of the Service. func (m *Service) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Service. func (m *Service) SetTags(v Tags) { m.Tags = v.clone() } // GetCreatedAt returns the created at of the Service. func (m *Service) GetCreatedAt() time.Time { return m.CreatedAt } // SetCreatedAt sets the created at of the Service. func (m *Service) SetCreatedAt(v time.Time) { m.CreatedAt = v } func (*Token) isOneOf_Account() {} // GetID returns the unique identifier of the Token. func (m *Token) GetID() string { return m.ID } // IsSuspended returns whether the Token is suspended. func (m *Token) IsSuspended() bool { return m.Suspended } // SetSuspended sets the suspended of the Token. func (m *Token) SetSuspended(v bool) { m.Suspended = v } // GetTags returns the tags of the Token. func (m *Token) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Token. func (m *Token) SetTags(v Tags) { m.Tags = v.clone() } // GetCreatedAt returns the created at of the Token. func (m *Token) GetCreatedAt() time.Time { return m.CreatedAt } // SetCreatedAt sets the created at of the Token. func (m *Token) SetCreatedAt(v time.Time) { m.CreatedAt = v } func (*User) isOneOf_Account() {} // GetID returns the unique identifier of the User. func (m *User) GetID() string { return m.ID } // IsSuspended returns whether the User is suspended. func (m *User) IsSuspended() bool { return m.Suspended } // SetSuspended sets the suspended of the User. func (m *User) SetSuspended(v bool) { m.Suspended = v } // GetTags returns the tags of the User. func (m *User) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the User. func (m *User) SetTags(v Tags) { m.Tags = v.clone() } // GetCreatedAt returns the created at of the User. func (m *User) GetCreatedAt() time.Time { return m.CreatedAt } // SetCreatedAt sets the created at of the User. func (m *User) SetCreatedAt(v time.Time) { m.CreatedAt = v } // AccountAttachments assign an account to a role. type AccountAttachment struct { // The id of the account of this AccountAttachment. AccountID string `json:"accountId"` // Unique identifier of the AccountAttachment. ID string `json:"id"` // The id of the attached role of this AccountAttachment. RoleID string `json:"roleId"` } // AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system. type AccountAttachmentCreateResponse struct { // The created AccountAttachment. AccountAttachment *AccountAttachment `json:"accountAttachment"` // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted. type AccountAttachmentDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // AccountAttachmentGetResponse returns a requested AccountAttachment. type AccountAttachmentGetResponse struct { // The requested AccountAttachment. AccountAttachment *AccountAttachment `json:"accountAttachment"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // AccountAttachmentHistory records the state of an AccountAttachment at a given point in time, // where every change (create or delete) to an AccountAttachment produces an // AccountAttachmentHistory record. type AccountAttachmentHistory struct { // The complete AccountAttachment state at this time. AccountAttachment *AccountAttachment `json:"accountAttachment"` // The unique identifier of the Activity that produced this change to the AccountAttachment. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this AccountAttachment was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The time at which the AccountAttachment state was recorded. Timestamp time.Time `json:"timestamp"` } // AccountCreateResponse reports how the Accounts were created in the system. type AccountCreateResponse struct { // ID part of the API key. AccessKey string `json:"accessKey"` // The created Account. Account Account `json:"account"` // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // Secret part of the API key. SecretKey string `json:"secretKey"` // The auth token generated for the Account. The Account will use this token to // authenticate with the strongDM API. Token string `json:"token"` } // AccountDeleteResponse returns information about a Account that was deleted. type AccountDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // AccountGetResponse returns a requested Account. type AccountGetResponse struct { // The requested Account. Account Account `json:"account"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // AccountGrants connect a resource directly to an account, giving the account the permission to connect to that resource. type AccountGrant struct { // The access request ID that created this AccountGrant, if any. AccessRequestID string `json:"accessRequestId"` // The access rule associated with this AccountGrant. AccessRule AccessRule `json:"accessRule"` // The account ID of this AccountGrant. AccountID string `json:"accountId"` // Unique identifier of the AccountGrant. ID string `json:"id"` // The resource ID of this AccountGrant. ResourceID string `json:"resourceId"` // The timestamp when the resource will be granted. When creating an AccountGrant, if this field is not specified, it will default to the current time. StartFrom time.Time `json:"startFrom"` // The timestamp when the resource grant will expire. ValidUntil time.Time `json:"validUntil"` } // AccountGrantCreateResponse reports how the AccountGrants were created in the system. type AccountGrantCreateResponse struct { // The created AccountGrant. AccountGrant *AccountGrant `json:"accountGrant"` // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // AccountGrantDeleteResponse returns information about a AccountGrant that was deleted. type AccountGrantDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // AccountGrantGetResponse returns a requested AccountGrant. type AccountGrantGetResponse struct { // The requested AccountGrant. AccountGrant *AccountGrant `json:"accountGrant"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // AccountGrantHistory records the state of an AccountGrant at a given point in time, // where every change (create or delete) to an AccountGrant produces an // AccountGrantHistory record. type AccountGrantHistory struct { // The complete AccountGrant state at this time. AccountGrant *AccountGrant `json:"accountGrant"` // The unique identifier of the Activity that produced this change to the AccountGrant. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this AccountGrant was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The time at which the AccountGrant state was recorded. Timestamp time.Time `json:"timestamp"` } // An AccountGroup is a link between an Account and a Group. type AccountGroup struct { // Unique identifier of the Account. AccountID string `json:"accountId"` // Unique identifier of the Group. GroupID string `json:"groupId"` // Unique identifier of the AccountGroup. ID string `json:"id"` } // AccountGroupCreateRequest specifies an AccountGroup to create. type AccountGroupCreateRequest struct { // Parameters to define the new AccountGroup. AccountGroup *AccountGroup `json:"accountGroup"` } // AccountGroupCreateResponse reports the result of a create. type AccountGroupCreateResponse struct { // The created AccountGroup. AccountGroup *AccountGroup `json:"accountGroup"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // GroupDeleteRequest identifies an AccountGroup by ID to delete. type AccountGroupDeleteRequest struct { // The unique identifier of the group to delete. ID string `json:"id"` } // GroupDeleteResponse returns information about an AccountGroup that was deleted. type AccountGroupDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // AccountGroupGetRequest specifies which AccountGroup to retrieve. type AccountGroupGetRequest struct { // The unique identifier of the AccountGroup to retrieve. ID string `json:"id"` } // AccountGroupGetResponse returns a requested AccountGroup. type AccountGroupGetResponse struct { // The requested AccountGroup. AccountGroup *AccountGroup `json:"accountGroup"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // AccountGroupHistory records the state of an AccountGroup at a given point in time, // where every change (create, update and delete) to an AccountGroup produces an // AccountGroupHistory record. type AccountGroupHistory struct { // The complete AccountGroup state at this time. AccountGroup *AccountGroup `json:"accountGroup"` // The unique identifier of the Activity that produced this change to the AccountGroup. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this AccountGroup was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The time at which the AccountGroup state was recorded. Timestamp time.Time `json:"timestamp"` } // GroupListRequest specifies criteria for retrieving a list of groups. type AccountGroupListRequest struct { // A human-readable filter query string. Filter string `json:"filter"` } // GroupListResponse returns a list of groups that meet the criteria of a // GroupListRequest. type AccountGroupListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // AccountHistory records the state of an Account at a given point in time, // where every change (create, update and delete) to an Account produces an // AccountHistory record. type AccountHistory struct { // The complete Account state at this time. Account Account `json:"account"` // The unique identifier of the Activity that produced this change to the Account. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this Account was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The time at which the Account state was recorded. Timestamp time.Time `json:"timestamp"` } // AccountPermission represents an individual API action available to an account. type AccountPermission struct { // The unique identifier of the Account this permission belongs to. AccountID string `json:"accountId"` // The most recent time at which the permission was granted. If a permission was // granted, revoked, and granted again, this will reflect the later time. GrantedAt time.Time `json:"grantedAt"` // The value of this permission, split into vertical and action, one of the Permission constants. Permission string `json:"permission"` // The scope of this permission. A global scope means this action can be taken // on any entity; otherwise the action can only be taken on or in the scope of // the scoped id. Scope string `json:"scope"` // The ID to which or in whose context this operation is permitted. e.g. The ID of a // role that a team leader has the abillity to remove and add accounts to, or the // ID of a resource that a user has the permission to connect to. If Scope is global, // scoped id is not populated. ScopedID string `json:"scopedId"` } // AccountResource represents an individual access grant of a Account to a Resource. type AccountResource struct { // The unique identifier of the AccountGrant through which the Account was granted access to the Resource. // If empty, access was not granted through an AccountGrant. AccountGrantID string `json:"accountGrantId"` // The unique identifier of the Account to which access is granted. AccountID string `json:"accountId"` // The time this grant was created, distinct from 'granted at' in the case where access is scheduled // for the future. If access was granted, revoked, and granted again, this will reflect the later creation time. CreatedAt time.Time `json:"createdAt"` // The time at which access will expire. If empty, this access has no expiration. ExpiresAt time.Time `json:"expiresAt"` // The most recent time at which access was granted. If access was granted, // revoked, and granted again, this will reflect the later time. GrantedAt time.Time `json:"grantedAt"` // The unique identifier of the Resource to which access is granted. ResourceID string `json:"resourceId"` // The unique identifier of the Role through which the Account was granted access to the Resource. // If empty, access was not granted through an AccountAttachment to a Role. RoleID string `json:"roleId"` } // AccountResourceHistory records the state of a AccountResource at a given point in time, // where every change (create or delete) to a AccountResource produces an // AccountResourceHistory record. type AccountResourceHistory struct { // The complete AccountResource state at this time. AccountResource *AccountResource `json:"accountResource"` // The unique identifier of the Activity that produced this change to the AccountResource. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this AccountResource was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The time at which the AccountResource state was recorded. Timestamp time.Time `json:"timestamp"` } // AccountUpdateResponse returns the fields of a Account after it has been updated by // a AccountUpdateRequest. type AccountUpdateResponse struct { // The updated Account. Account Account `json:"account"` // Reserved for future use. Meta *UpdateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } type ActiveDirectoryEngine struct { // The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated. AfterReadTtl time.Duration `json:"afterReadTtl"` // Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com Binddn string `json:"binddn"` // Password to use along with binddn when performing user search. Bindpass string `json:"bindpass"` // CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded. Certificate string `json:"certificate"` // Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration. ConnectionTimeout uint32 `json:"connectionTimeout"` // If set to true this will prevent password change timestamp validation in Active Directory when validating credentials DoNotValidateTimestamps bool `json:"doNotValidateTimestamps"` // Unique identifier of the Secret Engine. ID string `json:"id"` // If true, skips LDAP server SSL certificate verification - insecure, use with caution! InsecureTls bool `json:"insecureTls"` // An interval of public/private key rotation for secret engine in days KeyRotationIntervalDays int32 `json:"keyRotationIntervalDays"` // 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 MaxBackoffDuration time.Duration `json:"maxBackoffDuration"` // Unique human-readable name of the Secret Engine. Name string `json:"name"` // node selector is used to narrow down the nodes used to communicate with with secret engine NodeSelector string `json:"nodeSelector"` // Policy for password creation Policy *SecretEnginePolicy `json:"policy"` // Public key linked with a secret engine PublicKey []byte `json:"publicKey"` // Timeout, in seconds, for the connection when making requests against the server before returning back an error. RequestTimeout uint32 `json:"requestTimeout"` // Backing secret store identifier SecretStoreID string `json:"secretStoreId"` // Backing Secret Store root path where managed secrets are going to be stored SecretStoreRootPath string `json:"secretStoreRootPath"` // If true, issues a StartTLS command after establishing an unencrypted connection. StartTls bool `json:"startTls"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested. Ttl time.Duration `json:"ttl"` // The domain (userPrincipalDomain) used to construct a UPN string for authentication. Upndomain string `json:"upndomain"` // The LDAP server to connect to. Url string `json:"url"` // Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com Userdn string `json:"userdn"` } type ActiveDirectoryStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // Hostname of server that is hosting NDES (Network Device Enrollment Services). // Often this is the same host as Active Directory Certificate Services ServerAddress string `json:"serverAddress"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // An Activity is a record of an action taken against a strongDM deployment, e.g. // a user creation, resource deletion, sso configuration change, etc. type Activity struct { // The account who executed this activity. If the actor later has a name or email change, // that change is not reflected here. Actor is a snapshot of the executing account at // the time an activity took place. Actor *ActivityActor `json:"actor"` // The time this activity took effect. CompletedAt time.Time `json:"completedAt"` // A humanized description of the activity. Description string `json:"description"` // The entities involved in this activity. These entities can be any first class // entity in the strongDM system, eg. a user, a role, a node, an account grant. Not // every activity affects explicit entities. Entities []*ActivityEntity `json:"entities"` // Unique identifier of the Activity. ID string `json:"id"` // The IP from which this action was taken. IPAddress string `json:"ipAddress"` // The User Agent present when this request was executed. Generally a client type and version // like strongdm-cli/55.66.77 UserAgent string `json:"userAgent"` // The kind of activity which has taken place, one of the ActivityVerb constants. Verb string `json:"verb"` } type ActivityActor struct { // The external ID of the actor at the time this activity occurred. ActivityExternalID string `json:"activityExternalId"` // The email of the actor at the time this activity occurred. Email string `json:"email"` // The first name of the actor at the time this activity occurred. FirstName string `json:"firstName"` // Unique identifier of the actor. Immutable. ID string `json:"id"` // The last name of the actor at the time this activity occurred. LastName string `json:"lastName"` } type ActivityEntity struct { // The email of the affected entity, if it has one (for example, if it is an account). Email string `json:"email"` // The external ID of the affected entity, if it has one (for example, if it is an account). ExternalID string `json:"externalId"` // The unique identifier of the entity this activity affected. ID string `json:"id"` // A display name representing the affected entity. Name string `json:"name"` // The type of entity affected, one of the ActivityEntityType constants. Type string `json:"type"` } // ActivityGetResponse returns a requested Activity. type ActivityGetResponse struct { // The requested Activity. Activity *Activity `json:"activity"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } type Aerospike struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If true, uses UseServicesAlternates directive for Aerospike connection UseServicesAlternate bool `json:"useServicesAlternate"` // The username to authenticate with. Username string `json:"username"` } type AmazonEKS struct { // The Access Key ID to use to authenticate. AccessKey string `json:"accessKey"` // If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) // when a resource role is not provided. AllowResourceRoleBypass bool `json:"allowResourceRoleBypass"` // 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. BindInterface string `json:"bindInterface"` // The CA to authenticate TLS connections with. CertificateAuthority string `json:"certificateAuthority"` // The name of the cluster to connect to. ClusterName string `json:"clusterName"` // If true, configures discovery of a cluster to be run from a node. DiscoveryEnabled bool `json:"discoveryEnabled"` // If a cluster is configured for user impersonation, this is the user to impersonate when // running discovery. DiscoveryUsername string `json:"discoveryUsername"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The endpoint to dial. Endpoint string `json:"endpoint"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to e.g. us-east-1. Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // The Secret Access Key to use to authenticate. SecretAccessKey string `json:"secretAccessKey"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type AmazonEKSInstanceProfile struct { // If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) // when a resource role is not provided. AllowResourceRoleBypass bool `json:"allowResourceRoleBypass"` // 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. BindInterface string `json:"bindInterface"` // The CA to authenticate TLS connections with. CertificateAuthority string `json:"certificateAuthority"` // The name of the cluster to connect to. ClusterName string `json:"clusterName"` // If true, configures discovery of a cluster to be run from a node. DiscoveryEnabled bool `json:"discoveryEnabled"` // If a cluster is configured for user impersonation, this is the user to impersonate when // running discovery. DiscoveryUsername string `json:"discoveryUsername"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The endpoint to dial. Endpoint string `json:"endpoint"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to e.g. us-east-1. Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // Deprecated: see docs for more info. type AmazonEKSInstanceProfileUserImpersonation struct { // 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. BindInterface string `json:"bindInterface"` // The CA to authenticate TLS connections with. CertificateAuthority string `json:"certificateAuthority"` // The name of the cluster to connect to. ClusterName string `json:"clusterName"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The endpoint to dial. Endpoint string `json:"endpoint"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to e.g. us-east-1. Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // Deprecated: see docs for more info. type AmazonEKSUserImpersonation struct { // The Access Key ID to use to authenticate. AccessKey string `json:"accessKey"` // 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. BindInterface string `json:"bindInterface"` // The CA to authenticate TLS connections with. CertificateAuthority string `json:"certificateAuthority"` // The name of the cluster to connect to. ClusterName string `json:"clusterName"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The endpoint to dial. Endpoint string `json:"endpoint"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to e.g. us-east-1. Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // The Secret Access Key to use to authenticate. SecretAccessKey string `json:"secretAccessKey"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type AmazonES struct { // The Access Key ID to use to authenticate. AccessKey string `json:"accessKey"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The endpoint to dial e.g. search-?.region.es.amazonaws.com" Endpoint string `json:"endpoint"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to e.g. us-east-1. Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // The Secret Access Key to use to authenticate. SecretAccessKey string `json:"secretAccessKey"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type AmazonESIAM struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The endpoint to dial e.g. search-?.region.es.amazonaws.com" Endpoint string `json:"endpoint"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to. Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Use TLS to connect to the OpenSearch server TlsRequired bool `json:"tlsRequired"` } type AmazonMQAMQP091 struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } // An approver for an approval workflow step. Each approver can specify exactly one of: account_id, role_id, or reference type ApprovalFlowApprover struct { // The approver account id. AccountID string `json:"accountId"` // The approver group id GroupID string `json:"groupId"` // A reference to an approver. Must be one of ApproverReference constants. // If set, the account_id and role_id must be empty. Reference string `json:"reference"` // The approver role id RoleID string `json:"roleId"` } // An approval step for an approval workflow. Specifies approvers and conditions for approval to be granted. type ApprovalFlowStep struct { // The approvers for this approval step Approvers []*ApprovalFlowApprover `json:"approvers"` // Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any". Quantifier string `json:"quantifier"` // Duration after which this approval step will be skipped if no approval is given. Optional, if not provided an approver must approve before the step passes. SkipAfter time.Duration `json:"skipAfter"` } // ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized // approvers and be approved or denied. type ApprovalWorkflow struct { // Approval mode of the ApprovalWorkflow ApprovalMode string `json:"approvalMode"` // The approval steps of this approval workflow ApprovalWorkflowSteps []*ApprovalFlowStep `json:"approvalWorkflowSteps"` // Optional description of the ApprovalWorkflow. Description string `json:"description"` // Unique identifier of the ApprovalWorkflow. ID string `json:"id"` // Unique human-readable name of the ApprovalWorkflow. Name string `json:"name"` } // ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep // Deprecated: see docs for more info. type ApprovalWorkflowApprover struct { // The approver account id. AccountID string `json:"accountId"` // The approval flow id specified the approval workflow that this approver belongs to ApprovalFlowID string `json:"approvalFlowId"` // The approval step id specified the approval flow step that this approver belongs to ApprovalStepID string `json:"approvalStepId"` // Unique identifier of the ApprovalWorkflowApprover. ID string `json:"id"` // A reference to an approver. Will be one of ApproverReference constants. // This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API. // For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable. Reference string `json:"reference"` // The approver role id RoleID string `json:"roleId"` } // ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system. type ApprovalWorkflowApproverCreateResponse struct { // The created approval workflow approver. ApprovalWorkflowApprover *ApprovalWorkflowApprover `json:"approvalWorkflowApprover"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted. type ApprovalWorkflowApproverDeleteResponse struct { // The deleted approval workflow approver id. ID string `json:"id"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover. type ApprovalWorkflowApproverGetResponse struct { // The requested ApprovalWorkflowApprover. ApprovalWorkflowApprover *ApprovalWorkflowApprover `json:"approvalWorkflowApprover"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time, // where every change (create or delete) to an ApprovalWorkflowApprover produces an // ApprovalWorkflowApproverHistory record. type ApprovalWorkflowApproverHistory struct { // The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // The complete ApprovalWorkflowApprover state at this time. ApprovalWorkflowApprover *ApprovalWorkflowApprover `json:"approvalWorkflowApprover"` // If this ApprovalWorkflowApprover was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The time at which the ApprovalWorkflowApprover state was recorded. Timestamp time.Time `json:"timestamp"` } // ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet // the criteria of an ApprovalWorkflowApproverListRequest. type ApprovalWorkflowApproverListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system. type ApprovalWorkflowCreateResponse struct { // The created approval workflow. ApprovalWorkflow *ApprovalWorkflow `json:"approvalWorkflow"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted. type ApprovalWorkflowDeleteResponse struct { // The deleted approval workflow id. ID string `json:"id"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow. type ApprovalWorkflowGetResponse struct { // The requested ApprovalWorkflow. ApprovalWorkflow *ApprovalWorkflow `json:"approvalWorkflow"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time, // where every change (create, update and delete) to an ApprovalWorkflow produces an // ApprovalWorkflowHistory record. type ApprovalWorkflowHistory struct { // The unique identifier of the Activity that produced this change to the ApprovalWorkflow. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // The complete ApprovalWorkflow state at this time. ApprovalWorkflow *ApprovalWorkflow `json:"approvalWorkflow"` // If this ApprovalWorkflow was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The time at which the ApprovalWorkflow state was recorded. Timestamp time.Time `json:"timestamp"` } // ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet // the criteria of an ApprovalWorkflowListRequest. type ApprovalWorkflowListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow // Deprecated: see docs for more info. type ApprovalWorkflowStep struct { // The approval flow id specified the approval workflow that this step belongs to ApprovalFlowID string `json:"approvalFlowId"` // Unique identifier of the ApprovalWorkflowStep. ID string `json:"id"` // Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands. Quantifier string `json:"quantifier"` // Duration after which this approval step will be skipped if no approval is given. Read only field for history commands. SkipAfter time.Duration `json:"skipAfter"` // The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands. StepOrder int32 `json:"stepOrder"` } // ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system. type ApprovalWorkflowStepCreateResponse struct { // The created approval workflow step. ApprovalWorkflowStep *ApprovalWorkflowStep `json:"approvalWorkflowStep"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted. type ApprovalWorkflowStepDeleteResponse struct { // The deleted approval workflow step id. ID string `json:"id"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep. type ApprovalWorkflowStepGetResponse struct { // The requested ApprovalWorkflowStep. ApprovalWorkflowStep *ApprovalWorkflowStep `json:"approvalWorkflowStep"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time, // where every change (create or delete) to an ApprovalWorkflowStep produces an // ApprovalWorkflowStepHistory record. type ApprovalWorkflowStepHistory struct { // The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // The complete ApprovalWorkflowStep state at this time. ApprovalWorkflowStep *ApprovalWorkflowStep `json:"approvalWorkflowStep"` // If this ApprovalWorkflowStep was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The time at which the ApprovalWorkflowStep state was recorded. Timestamp time.Time `json:"timestamp"` } // ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet // the criteria of an ApprovalWorkflowStepListRequest. type ApprovalWorkflowStepListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by // an ApprovalWorkflowUpdateRequest. type ApprovalWorkflowUpdateResponse struct { // The updated approval workflow. ApprovalWorkflow *ApprovalWorkflow `json:"approvalWorkflow"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } type Athena struct { // The Access Key ID to use to authenticate. AccessKey string `json:"accessKey"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The AWS S3 output location. Output string `json:"output"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to e.g. us-east-1. Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // The Secret Access Key to use to authenticate. SecretAccessKey string `json:"secretAccessKey"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type AthenaIAM struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The AWS S3 output location. Output string `json:"output"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to e.g. us-east-1. Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type AuroraMysql struct { // 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. BindInterface string `json:"bindInterface"` // The database for healthchecks. Does not affect client requests Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility) RequireNativeAuth bool `json:"requireNativeAuth"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If true, appends the hostname to the username when hitting a database.azure.com address UseAzureSingleServerUsernames bool `json:"useAzureSingleServerUsernames"` // The username to authenticate with. Username string `json:"username"` } type AuroraMysqlIAM struct { // 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. BindInterface string `json:"bindInterface"` // The database for healthchecks. Does not affect client requests Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to. Region string `json:"region"` // If provided, the gateway/relay will try to assume this role instead of the underlying compute's role. RoleAssumptionArn string `json:"roleAssumptionArn"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type AuroraPostgres struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type AuroraPostgresIAM struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to. Region string `json:"region"` // If provided, the gateway/relay will try to assume this role instead of the underlying compute's role. RoleAssumptionArn string `json:"roleAssumptionArn"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type Azure struct { // The application ID to authenticate with. AppID string `json:"appId"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The tenant ID to authenticate to. TenantID string `json:"tenantId"` } type AzureCertificate struct { // The application ID to authenticate with. AppID string `json:"appId"` // 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. BindInterface string `json:"bindInterface"` // The service Principal certificate file, both private and public key included. ClientCertificate string `json:"clientCertificate"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The tenant ID to authenticate to. TenantID string `json:"tenantId"` } type AzureConnector struct { // ClientId is the ID of the Application / Service Account we're acting as ClientID string `json:"clientId"` // Description of the Connector. Description string `json:"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. ExcludeTags []*Tag `json:"excludeTags"` // Unique identifier of the Connector. ID string `json:"id"` // IncludeTags only discovers cloud resources that have one of the included tags. // We do not allow duplicate tag names for IncludeTags IncludeTags []*Tag `json:"includeTags"` // Unique human-readable name of the Connector. Name string `json:"name"` // ScanPeriod identifies which remote system this Connector discovers ScanPeriod string `json:"scanPeriod"` // Services is a list of services this connector should scan. Services []string `json:"services"` // SubscriptionIds are the targets of discovery. SubscriptionIDs []string `json:"subscriptionIds"` // TenantId is the Azure Tenant we're discovering in TenantID string `json:"tenantId"` } type AzureMysql struct { // 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. BindInterface string `json:"bindInterface"` // The database for healthchecks. Does not affect client requests. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility) RequireNativeAuth bool `json:"requireNativeAuth"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If true, appends the hostname to the username when hitting a database.azure.com address UseAzureSingleServerUsernames bool `json:"useAzureSingleServerUsernames"` // The username to authenticate with. Username string `json:"username"` } type AzureMysqlManagedIdentity struct { // 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. BindInterface string `json:"bindInterface"` // The database for healthchecks. Does not affect client requests. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If true, appends the hostname to the username when hitting a database.azure.com address UseAzureSingleServerUsernames bool `json:"useAzureSingleServerUsernames"` // The username to authenticate with. Username string `json:"username"` } type AzurePostgres struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. For Azure Postgres, this also will include the hostname of the target server for Azure Single Server compatibility. For Flexible servers, use the normal Postgres type. Username string `json:"username"` } type AzurePostgresManagedIdentity struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If true, appends the hostname to the username when hitting a database.azure.com address UseAzureSingleServerUsernames bool `json:"useAzureSingleServerUsernames"` // The username to authenticate with. Username string `json:"username"` } type AzureStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The URI of the key vault to target e.g. https://myvault.vault.azure.net VaultUri string `json:"vaultUri"` } type BigQuery struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The endpoint to dial. Endpoint string `json:"endpoint"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // The JSON Private key to authenticate with. PrivateKey string `json:"privateKey"` // The project to connect to. Project string `json:"project"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type Cassandra struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type Citus struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type ClickHouseHTTP struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Custom TLS certificate for upstream connection. TlsCert string `json:"tlsCert"` // Skip TLS certificate verification for the upstream connection. TlsInsecure bool `json:"tlsInsecure"` // The URL to dial to initiate a connection from the egress node to this resource. Url string `json:"url"` // The username to authenticate with. Username string `json:"username"` } type ClickHouseMySQL struct { // 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. BindInterface string `json:"bindInterface"` // The database for healthchecks. Does not affect client requests. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility) RequireNativeAuth bool `json:"requireNativeAuth"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type ClickHouseTCP struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type Clustrix struct { // 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. BindInterface string `json:"bindInterface"` // The database for healthchecks. Does not affect client requests. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility) RequireNativeAuth bool `json:"requireNativeAuth"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If true, appends the hostname to the username when hitting a database.azure.com address UseAzureSingleServerUsernames bool `json:"useAzureSingleServerUsernames"` // The username to authenticate with. Username string `json:"username"` } type Cockroach struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } // A Connector configures scanning for a given system. type Connector interface { // GetID returns the unique identifier of the Connector. GetID() string // GetName returns the name of the Connector. GetName() string // SetName sets the name of the Connector. SetName(string) // GetDescription returns the description of the Connector. GetDescription() string // SetDescription sets the description of the Connector. SetDescription(string) // GetServices returns the services of the Connector. GetServices() []string // SetServices sets the services of the Connector. SetServices([]string) // GetIncludeTags returns the include tags of the Connector. GetIncludeTags() []*Tag // SetIncludeTags sets the include tags of the Connector. SetIncludeTags([]*Tag) // GetExcludeTags returns the exclude tags of the Connector. GetExcludeTags() []*Tag // SetExcludeTags sets the exclude tags of the Connector. SetExcludeTags([]*Tag) // GetScanPeriod returns the scan period of the Connector. GetScanPeriod() string // SetScanPeriod sets the scan period of the Connector. SetScanPeriod(string) isOneOf_Connector() } func (*AWSConnector) isOneOf_Connector() {} // GetID returns the unique identifier of the AWSConnector. func (m *AWSConnector) GetID() string { return m.ID } // GetName returns the name of the AWSConnector. func (m *AWSConnector) GetName() string { return m.Name } // SetName sets the name of the AWSConnector. func (m *AWSConnector) SetName(v string) { m.Name = v } // GetDescription returns the description of the AWSConnector. func (m *AWSConnector) GetDescription() string { return m.Description } // SetDescription sets the description of the AWSConnector. func (m *AWSConnector) SetDescription(v string) { m.Description = v } // GetServices returns the services of the AWSConnector. func (m *AWSConnector) GetServices() []string { return m.Services } // SetServices sets the services of the AWSConnector. func (m *AWSConnector) SetServices(v []string) { m.Services = v } // GetIncludeTags returns the include tags of the AWSConnector. func (m *AWSConnector) GetIncludeTags() []*Tag { result := make([]*Tag, len(m.IncludeTags)) for i, v := range m.IncludeTags { if v != nil { result[i] = v.clone() } } return result } // SetIncludeTags sets the include tags of the AWSConnector. func (m *AWSConnector) SetIncludeTags(v []*Tag) { m.IncludeTags = make([]*Tag, len(v)) for i, val := range v { if val != nil { m.IncludeTags[i] = val.clone() } } } // GetExcludeTags returns the exclude tags of the AWSConnector. func (m *AWSConnector) GetExcludeTags() []*Tag { result := make([]*Tag, len(m.ExcludeTags)) for i, v := range m.ExcludeTags { if v != nil { result[i] = v.clone() } } return result } // SetExcludeTags sets the exclude tags of the AWSConnector. func (m *AWSConnector) SetExcludeTags(v []*Tag) { m.ExcludeTags = make([]*Tag, len(v)) for i, val := range v { if val != nil { m.ExcludeTags[i] = val.clone() } } } // GetScanPeriod returns the scan period of the AWSConnector. func (m *AWSConnector) GetScanPeriod() string { return m.ScanPeriod } // SetScanPeriod sets the scan period of the AWSConnector. func (m *AWSConnector) SetScanPeriod(v string) { m.ScanPeriod = v } func (*AzureConnector) isOneOf_Connector() {} // GetID returns the unique identifier of the AzureConnector. func (m *AzureConnector) GetID() string { return m.ID } // GetName returns the name of the AzureConnector. func (m *AzureConnector) GetName() string { return m.Name } // SetName sets the name of the AzureConnector. func (m *AzureConnector) SetName(v string) { m.Name = v } // GetDescription returns the description of the AzureConnector. func (m *AzureConnector) GetDescription() string { return m.Description } // SetDescription sets the description of the AzureConnector. func (m *AzureConnector) SetDescription(v string) { m.Description = v } // GetServices returns the services of the AzureConnector. func (m *AzureConnector) GetServices() []string { return m.Services } // SetServices sets the services of the AzureConnector. func (m *AzureConnector) SetServices(v []string) { m.Services = v } // GetIncludeTags returns the include tags of the AzureConnector. func (m *AzureConnector) GetIncludeTags() []*Tag { result := make([]*Tag, len(m.IncludeTags)) for i, v := range m.IncludeTags { if v != nil { result[i] = v.clone() } } return result } // SetIncludeTags sets the include tags of the AzureConnector. func (m *AzureConnector) SetIncludeTags(v []*Tag) { m.IncludeTags = make([]*Tag, len(v)) for i, val := range v { if val != nil { m.IncludeTags[i] = val.clone() } } } // GetExcludeTags returns the exclude tags of the AzureConnector. func (m *AzureConnector) GetExcludeTags() []*Tag { result := make([]*Tag, len(m.ExcludeTags)) for i, v := range m.ExcludeTags { if v != nil { result[i] = v.clone() } } return result } // SetExcludeTags sets the exclude tags of the AzureConnector. func (m *AzureConnector) SetExcludeTags(v []*Tag) { m.ExcludeTags = make([]*Tag, len(v)) for i, val := range v { if val != nil { m.ExcludeTags[i] = val.clone() } } } // GetScanPeriod returns the scan period of the AzureConnector. func (m *AzureConnector) GetScanPeriod() string { return m.ScanPeriod } // SetScanPeriod sets the scan period of the AzureConnector. func (m *AzureConnector) SetScanPeriod(v string) { m.ScanPeriod = v } func (*GCPConnector) isOneOf_Connector() {} // GetID returns the unique identifier of the GCPConnector. func (m *GCPConnector) GetID() string { return m.ID } // GetName returns the name of the GCPConnector. func (m *GCPConnector) GetName() string { return m.Name } // SetName sets the name of the GCPConnector. func (m *GCPConnector) SetName(v string) { m.Name = v } // GetDescription returns the description of the GCPConnector. func (m *GCPConnector) GetDescription() string { return m.Description } // SetDescription sets the description of the GCPConnector. func (m *GCPConnector) SetDescription(v string) { m.Description = v } // GetServices returns the services of the GCPConnector. func (m *GCPConnector) GetServices() []string { return m.Services } // SetServices sets the services of the GCPConnector. func (m *GCPConnector) SetServices(v []string) { m.Services = v } // GetIncludeTags returns the include tags of the GCPConnector. func (m *GCPConnector) GetIncludeTags() []*Tag { result := make([]*Tag, len(m.IncludeTags)) for i, v := range m.IncludeTags { if v != nil { result[i] = v.clone() } } return result } // SetIncludeTags sets the include tags of the GCPConnector. func (m *GCPConnector) SetIncludeTags(v []*Tag) { m.IncludeTags = make([]*Tag, len(v)) for i, val := range v { if val != nil { m.IncludeTags[i] = val.clone() } } } // GetExcludeTags returns the exclude tags of the GCPConnector. func (m *GCPConnector) GetExcludeTags() []*Tag { result := make([]*Tag, len(m.ExcludeTags)) for i, v := range m.ExcludeTags { if v != nil { result[i] = v.clone() } } return result } // SetExcludeTags sets the exclude tags of the GCPConnector. func (m *GCPConnector) SetExcludeTags(v []*Tag) { m.ExcludeTags = make([]*Tag, len(v)) for i, val := range v { if val != nil { m.ExcludeTags[i] = val.clone() } } } // GetScanPeriod returns the scan period of the GCPConnector. func (m *GCPConnector) GetScanPeriod() string { return m.ScanPeriod } // SetScanPeriod sets the scan period of the GCPConnector. func (m *GCPConnector) SetScanPeriod(v string) { m.ScanPeriod = v } // ConnectorCreateRequest specifies a connector to create. type ConnectorCreateRequest struct { // Parameters to define the new Connector. Connector Connector `json:"connector"` } // ConnectorCreateResponse reports the result of a create. type ConnectorCreateResponse struct { // The created Connector. Connector Connector `json:"connector"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ConnectorDeleteRequest identifies a connector by ID to delete. type ConnectorDeleteRequest struct { // The unique identifier of the connector to delete. ID string `json:"id"` } // ConnectorDeleteResponse returns information about a connector that was deleted. type ConnectorDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ConnectorGetRequest specifies which Connector to retrieve. type ConnectorGetRequest struct { // The unique identifier of the Connector to retrieve. ID string `json:"id"` } // ConnectorGetResponse returns a requested Connector. type ConnectorGetResponse struct { // The requested Connector. Connector Connector `json:"connector"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ConnectorListRequest specifies criteria for retrieving a list of connectors. type ConnectorListRequest struct { // A human-readable filter query string. Filter string `json:"filter"` } // ConnectorListResponse returns a list of connectors that meet the criteria of a // ConnectorListRequest. type ConnectorListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ConnectorUpdateRequest updates a connector. type ConnectorUpdateRequest struct { // Parameters to overwrite the specified connector. Connector Connector `json:"connector"` } // ConnectorUpdateResponse returns the fields of a connector after it has been updated by // a connectorUpdateRequest. type ConnectorUpdateResponse struct { // The updated connector. Connector Connector `json:"connector"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ControlPanelGetOrgURLInfoResponse represents the response containing // organization URL configuration. type ControlPanelGetOrgURLInfoResponse struct { // The base URL of the organization, e.g. https://app.strongdm.com BaseUrl string `json:"baseUrl"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // The OIDC issuer URL for the organization, used for OIDC federation // with cloud providers OidcIssuerUrl string `json:"oidcIssuerUrl"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The SAML metadata URL for the organization, used for SAML SSO configuration. SamlMetadataUrl string `json:"samlMetadataUrl"` // The organization's website subdomain, used to construct URLs. WebsitesSubdomain string `json:"websitesSubdomain"` } // ControlPanelGetRDPCAPublicKeyResponse represents a request for an // organization's RDP Certificate Authority public key. type ControlPanelGetRDPCAPublicKeyResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // The public key of the SSH Certificate Authority, in OpenSSH RSA public // key format. PublicKey string `json:"publicKey"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ControlPanelGetSSHCAPublicKeyResponse represents a request for an // organization's SSH Certificate Authority public key. type ControlPanelGetSSHCAPublicKeyResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // The public key of the SSH Certificate Authority, in OpenSSH RSA public // key format. PublicKey string `json:"publicKey"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid. type ControlPanelVerifyJWTResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // Reports if the given token is valid. ValID bool `json:"valid"` } type CouchbaseDatabase struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093. N1QlPort int32 `json:"n1QlPort"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Custom TLS certificate for upstream connection. TlsCert string `json:"tlsCert"` // Skip TLS certificate verification for the upstream connection. TlsInsecure bool `json:"tlsInsecure"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type CouchbaseWebUI struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network) Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Custom TLS certificate for upstream connection. TlsCert string `json:"tlsCert"` // Skip TLS certificate verification for the upstream connection. TlsInsecure bool `json:"tlsInsecure"` // The base address of your website without the path. Url string `json:"url"` // The username to authenticate with. Username string `json:"username"` } // CreateResponseMetadata is reserved for future use. type CreateResponseMetadata struct { } // CustomHeader describes a single HTTP header type CustomHeader struct { // The name of this header. Name string `json:"name"` // Headers containing sensitive values must be stored encrypted and redacted from logs. Secret bool `json:"secret"` // The value of this header. Value string `json:"value"` } // CustomHeaders holds an array of HTTP headers to be injected into requests by the driver type CustomHeaders struct { // Entries, each describing a single header CustomHeaders []*CustomHeader `json:"customHeaders"` } type CyberarkConjurStore struct { // The URL of the Cyberark instance AppURL string `json:"appUrl"` // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed, // without a major version bump. type CyberarkPAMExperimentalStore struct { // The URL of the Cyberark instance AppURL string `json:"appUrl"` // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type CyberarkPAMStore struct { // The URL of the Cyberark instance AppURL string `json:"appUrl"` // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type DB2I struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type DB2LUW struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type Databricks struct { // Databricks Personal Access Token (PAT) AccessToken string `json:"accessToken"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The Databricks workspace hostname (e.g., dbc-xxx.cloud.databricks.com) Hostname string `json:"hostname"` // The HTTP path to the SQL warehouse or cluster (e.g., /sql/1.0/warehouses/xxx) HttpPath string `json:"httpPath"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The Schema to use to direct initial requests. Schema string `json:"schema"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // DeleteResponseMetadata is reserved for future use. type DeleteResponseMetadata struct { } type DelineaDSVStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The tenant name to target, e.g. "acme" for acme.secretsvaultcloud.com Tenant string `json:"tenant"` // The top level domain of the DSV instance, e.g. "com". Defaults to "com". Tld string `json:"tld"` } type DelineaStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The URL of the Delinea instance ServerUrl string `json:"serverUrl"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The tenant name to target TenantName string `json:"tenantName"` } type DocumentDBHost struct { // The authentication database to use. AuthDatabase string `json:"authDatabase"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type DocumentDBHostIAM struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to. Region string `json:"region"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type DocumentDBReplicaSet struct { // The authentication database to use. AuthDatabase string `json:"authDatabase"` // 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. BindInterface string `json:"bindInterface"` // Set to connect to a replica instead of the primary node. ConnectToReplica bool `json:"connectToReplica"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } // DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed, // without a major version bump. type DocumentDBReplicaSetIAM struct { // 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. BindInterface string `json:"bindInterface"` // Set to connect to a replica instead of the primary node. ConnectToReplica bool `json:"connectToReplica"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The region of the document db cluster Region string `json:"region"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type Druid struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type DynamoDB struct { // The Access Key ID to use to authenticate. AccessKey string `json:"accessKey"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The endpoint to dial e.g. dynamodb.region.amazonaws.com Endpoint string `json:"endpoint"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The region to authenticate requests against e.g. us-east-1 Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // The Secret Access Key to use to authenticate. SecretAccessKey string `json:"secretAccessKey"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type DynamoDBIAM struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The endpoint to dial e.g. dynamodb.region.amazonaws.com Endpoint string `json:"endpoint"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The region to authenticate requests against e.g. us-east-1 Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type Elastic struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type ElasticacheRedis struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } // ElasticacheRedisIAM is currently unstable, and its API may change, or it may be removed, // without a major version bump. type ElasticacheRedisIAM struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // AWS region is needed in addition to hostname to generate the IAM signature Region string `json:"region"` // If provided, the gateway/relay will try to assume this role instead of the underlying compute's role. RoleAssumptionArn string `json:"roleAssumptionArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type EntraID struct { // 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. BindInterface string `json:"bindInterface"` // If true, configures discovery of the tenant to be run from a node. DiscoveryEnabled bool `json:"discoveryEnabled"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // comma separated list of group names to filter by. Supports wildcards (*) GroupNames string `json:"groupNames"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // The management group ID to authenticate scope Privileges to. ManagementGroupID string `json:"managementGroupId"` // Unique human-readable name of the Resource. Name string `json:"name"` // The privilege levels specify which Groups are managed externally PrivilegeLevels string `json:"privilegeLevels"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // filters discovered groups to the specified Resource Group ResourceGroupID string `json:"resourceGroupId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // The subscription ID to authenticate scope Privileges to. SubscriptionID string `json:"subscriptionId"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The connector ID to authenticate through. TenantID string `json:"tenantId"` } type GCP struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // The service account keyfile to authenticate with. Keyfile string `json:"keyfile"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // Space separated scopes that this login should assume into when authenticating. Scopes string `json:"scopes"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type GCPCertX509Store struct { // The ID of the target CA CaID string `json:"caId"` // The ID of the target CA pool CaPoolID string `json:"caPoolId"` // Unique identifier of the SecretStore. ID string `json:"id"` // The lifetime of certificates issued by this CA represented in minutes. IssuedCertTTLMinutes int32 `json:"issuedCertTtlMinutes"` // The Region for the CA in GCP format e.g. us-west1 Location string `json:"location"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The GCP project ID to target. ProjectID string `json:"projectId"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type GCPConnector struct { // Description of the Connector. Description string `json:"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. ExcludeTags []*Tag `json:"excludeTags"` // Unique identifier of the Connector. ID string `json:"id"` // IncludeTags only discovers cloud resources that have one of the included tags. // We do not allow duplicate tag names for IncludeTags IncludeTags []*Tag `json:"includeTags"` // Unique human-readable name of the Connector. Name string `json:"name"` // ProjectIds is the list of GCP Projects the connector will scan ProjectIDs []string `json:"projectIds"` // ScanPeriod identifies which remote system this Connector discovers ScanPeriod string `json:"scanPeriod"` // Services is a list of services this connector should scan. Services []string `json:"services"` // WorkloadPoolId is the GCP Workload Pool Identifier used to authenticate our JWT WorkloadPoolID string `json:"workloadPoolId"` // WorkloadProjectId is the GCP Project ID where the Workload Pool is defined WorkloadProjectID string `json:"workloadProjectId"` // WorkloadProjectNumber is the GCP Project Number where the Workload Pool is defined WorkloadProjectNumber string `json:"workloadProjectNumber"` // WorkloadProviderId is the GCP Workload Provider Identifier used to authenticate our JWT WorkloadProviderID string `json:"workloadProviderId"` } type GCPConsole struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // The length of time in seconds console sessions will live before needing to reauthenticate. SessionExpiry int32 `json:"sessionExpiry"` // Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network) Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The ID of the Workforce Identity Pool in GCP to use for federated authentication. WorkforcePoolID string `json:"workforcePoolId"` // The ID of the Workforce Identity Provider in GCP to use for federated authentication. WorkforceProviderID string `json:"workforceProviderId"` } type GCPStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The GCP project ID to target. ProjectID string `json:"projectId"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type GCPWIF struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients ProjectID string `json:"projectId"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // Space separated scopes that this login should assume into when authenticating. Scopes string `json:"scopes"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // The length of time in seconds console sessions will live before needing to reauthenticate. SessionExpiry int32 `json:"sessionExpiry"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The ID of the Workforce Identity Pool in GCP to use for federated authentication. WorkforcePoolID string `json:"workforcePoolId"` // The ID of the Workforce Identity Provider in GCP to use for federated authentication. WorkforceProviderID string `json:"workforceProviderId"` } // Gateway represents a StrongDM CLI installation running in gateway mode. type Gateway struct { // 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". BindAddress string `json:"bindAddress"` // Device is a read only device name uploaded by the gateway process when // it comes online. Device string `json:"device"` // GatewayFilter can be used to restrict the peering between relays and // gateways. Deprecated. GatewayFilter string `json:"gatewayFilter"` // Unique identifier of the Gateway. ID string `json:"id"` // The public hostname/port tuple at which the gateway will be accessible to clients. ListenAddress string `json:"listenAddress"` // Location is a read only network location uploaded by the gateway process // when it comes online. Location string `json:"location"` // 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. MaintenanceWindows []*NodeMaintenanceWindow `json:"maintenanceWindows"` // Unique human-readable name of the Gateway. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create. Name string `json:"name"` // The current state of the gateway. One of: "new", "verifying_restart", // "restarting", "started", "stopped", "dead", "unknown" State string `json:"state"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Version is a read only sdm binary version uploaded by the gateway process // when it comes online. Version string `json:"version"` } type GenerateKeysRequest struct { // required SecretEngineID string `json:"secretEngineId"` } type GenerateKeysResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // GenericResponseMetadata contains common headers for generic request // responses. type GenericResponseMetadata struct { } // GetResponseMetadata is reserved for future use. type GetResponseMetadata struct { } type GoogleGKE struct { // If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) // when a resource role is not provided. AllowResourceRoleBypass bool `json:"allowResourceRoleBypass"` // 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. BindInterface string `json:"bindInterface"` // The CA to authenticate TLS connections with. CertificateAuthority string `json:"certificateAuthority"` // If true, configures discovery of a cluster to be run from a node. DiscoveryEnabled bool `json:"discoveryEnabled"` // If a cluster is configured for user impersonation, this is the user to impersonate when // running discovery. DiscoveryUsername string `json:"discoveryUsername"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The endpoint to dial. Endpoint string `json:"endpoint"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // The service account key to authenticate with. ServiceAccountKey string `json:"serviceAccountKey"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // Deprecated: see docs for more info. type GoogleGKEUserImpersonation struct { // 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. BindInterface string `json:"bindInterface"` // The CA to authenticate TLS connections with. CertificateAuthority string `json:"certificateAuthority"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The endpoint to dial. Endpoint string `json:"endpoint"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // The service account key to authenticate with. ServiceAccountKey string `json:"serviceAccountKey"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type GoogleGroups struct { // 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. BindInterface string `json:"bindInterface"` // If true, configures discovery of the Google Workspace account to be run // from a node. DiscoveryEnabled bool `json:"discoveryEnabled"` // The Google Workspace domain that owns the groups. Only groups whose email // address is at this exact domain are discovered; add one resource per // secondary domain. Domain string `json:"domain"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // comma separated list of group email addresses to filter by. Supports // wildcards (*) GroupEmails string `json:"groupEmails"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // The privilege levels specify which Groups are managed externally PrivilegeLevels string `json:"privilegeLevels"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type GoogleSpanner struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The endpoint to dial e.g. spanner.googleapis.com Endpoint string `json:"endpoint"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // The Spanner instance ID within the GCP project. Instance string `json:"instance"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // The GCP project ID containing the Spanner database. Project string `json:"project"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. ServiceAccountToImpersonate string `json:"serviceAccountToImpersonate"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // GrantedAccountEntitlement represents an individual entitlement of an Account to a Resource that has been granted. type GrantedAccountEntitlement struct { // The unique identifier of the group associated with this entitlement, if any. GroupID string `json:"groupId"` // The most recent time at which the account accessed this resource. Empty if the resource has never been accessed. LastAccessed time.Time `json:"lastAccessed"` // The mapped identity privileges for this entitlement, such as Kubernetes group memberships. MappedIdentities *MappedIdentities `json:"mappedIdentities"` // The unique identifier of the origin of this entitlement (e.g., a Role or AccountGrant ID). OriginID string `json:"originId"` // The unique identifier of the Resource to which access is granted. ResourceID string `json:"resourceId"` } // GrantedEntitlementKubernetesPrivileges holds Kubernetes group memberships for a granted entitlement. type GrantedEntitlementKubernetesPrivileges struct { // The Kubernetes groups granted to this principal for this resource. Groups []string `json:"groups"` } // GrantedResourceEntitlement represents an individual entitlement of an Account to a Resource, // viewed from the resource's perspective. type GrantedResourceEntitlement struct { // The unique identifier of the Account that has access to this resource. AccountID string `json:"accountId"` // The unique identifier of the group associated with this entitlement, if any. GroupID string `json:"groupId"` // The most recent time at which the account accessed this resource. Empty if the resource has never been accessed. LastAccessed time.Time `json:"lastAccessed"` // The mapped identity privileges for this entitlement, such as Kubernetes group memberships. MappedIdentities *MappedIdentities `json:"mappedIdentities"` // The unique identifier of the origin of this entitlement (e.g., a Role or AccountGrant ID). OriginID string `json:"originId"` } // GrantedRoleEntitlement represents an individual resource entitlement granted through a Role. type GrantedRoleEntitlement struct { // The unique identifier of the group associated with this entitlement, if any. GroupID string `json:"groupId"` // The most recent time at which any account in the organization accessed this resource. // Empty if the resource has never been accessed. LastAccessed time.Time `json:"lastAccessed"` // The mapped identity privileges for this entitlement, such as Kubernetes group memberships. MappedIdentities *MappedIdentities `json:"mappedIdentities"` // The unique identifier of the Resource to which the role grants access. ResourceID string `json:"resourceId"` } type Greenplum struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } // A Group is a named set of principals. type Group struct { // Description of the Group. Description string `json:"description"` // Unique identifier of the Group. ID string `json:"id"` // Unique human-readable name of the Group. Name string `json:"name"` // Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure. Source string `json:"source"` // Tags is a map of key/value pairs that can be attached to a Group. Tags Tags `json:"tags"` } type GroupCreateFromRolesRequest struct { // Commit Commit bool `json:"commit"` // The unique identifiers of the roles create groups from. RoleIDs []string `json:"roleIds"` } type GroupCreateFromRolesResponse struct { // The created Group. GroupFromRole []*GroupFromRole `json:"groupFromRole"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // GroupCreateRequest specifies a group to create. type GroupCreateRequest struct { // Parameters to define the new Group. Group *Group `json:"group"` } // GroupCreateResponse reports the result of a create. type GroupCreateResponse struct { // The created Group. Group *Group `json:"group"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // groupDeleteRequest identifies a group by ID to delete. type GroupDeleteRequest struct { // The unique identifier of the group to delete. ID string `json:"id"` } // groupDeleteResponse returns information about a group that was deleted. type GroupDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } type GroupFromRole struct { // The migrated Accounts. Accounts []*User `json:"accounts"` // The affected approval flows. ApprovalFlows []*ApprovalWorkflow `json:"approvalFlows"` // The group created from the source role. Group *Group `json:"group"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The source role. Role *Role `json:"role"` } // GroupGetRequest specifies which Group to retrieve. type GroupGetRequest struct { // The unique identifier of the Group to retrieve. ID string `json:"id"` } // GroupGetResponse returns a requested Group. type GroupGetResponse struct { // The requested Group. Group *Group `json:"group"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // GroupHistory records the state of a Group at a given point in time, // where every change (create, update and delete) to a Group produces a // GroupHistory record. type GroupHistory struct { // The unique identifier of the Activity that produced this change to the Group. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this Group was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The complete Group state at this time. Group *Group `json:"group"` // The time at which the Group state was recorded. Timestamp time.Time `json:"timestamp"` } // groupListRequest specifies criteria for retrieving a list of groups. type GroupListRequest struct { // A human-readable filter query string. Filter string `json:"filter"` } // groupListResponse returns a list of groups that meet the criteria of a // groupListRequest. type GroupListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // A GroupRole assigns a Group to a Role. type GroupRole struct { // The assigned Group ID. GroupID string `json:"groupId"` // Unique identifier of the GroupRole. ID string `json:"id"` // The assigned Role ID. RoleID string `json:"roleId"` } // GroupRoleCreateRequest specifies a group role to create. type GroupRoleCreateRequest struct { // Parameters to define the new GroupRole. GroupRole *GroupRole `json:"groupRole"` } // GroupRoleCreateResponse reports the result of a create. type GroupRoleCreateResponse struct { // The created GroupRole. GroupRole *GroupRole `json:"groupRole"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // GroupRoleDeleteRequest identifies a group role by ID to delete. type GroupRoleDeleteRequest struct { // The unique identifier of the group to delete. ID string `json:"id"` } // GroupRoleDeleteResponse returns information about a group that was deleted. type GroupRoleDeleteResponse struct { // The deleted GroupRole. GroupRole *GroupRole `json:"groupRole"` // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // GroupRoleGetRequest specifies which GroupRole to retrieve. type GroupRoleGetRequest struct { // The unique identifier of the GroupRole to retrieve. ID string `json:"id"` } // GroupRoleGetResponse returns a requested GroupRole. type GroupRoleGetResponse struct { // The requested GroupRole. GroupRole *GroupRole `json:"groupRole"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // GroupRoleHistory records the state of a GroupRole at a given point in time, // where every change (create, update and delete) to a GroupRole produces a // GroupRoleHistory record. type GroupRoleHistory struct { // The unique identifier of the Activity that produced this change to the GroupRole. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this GroupRole was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The complete GroupRole state at this time. GroupRole *GroupRole `json:"groupRole"` // The time at which the GroupRole state was recorded. Timestamp time.Time `json:"timestamp"` } // GroupRoleListRequest specifies criteria for retrieving a list of groups. type GroupRoleListRequest struct { // A human-readable filter query string. Filter string `json:"filter"` } // GroupRoleListResponse returns a list of group roles that meet the criteria of a // GroupRoleListRequest. type GroupRoleListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // GroupUpdateRequest updates a group. type GroupUpdateRequest struct { // Parameters to overwrite the specified group. Group *Group `json:"group"` } // groupUpdateResponse returns the fields of a group after it has been updated by // a groupUpdateRequest. type GroupUpdateResponse struct { // The updated group. Group *Group `json:"group"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } type HTTPAuth struct { // The content to set as the authorization header. AuthHeader string `json:"authHeader"` // 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. BindInterface string `json:"bindInterface"` // Additional HTTP headers to include in requests. CustomHeaders *CustomHeaders `json:"customHeaders"` // Automatically redirect to this path upon connecting. DefaultPath string `json:"defaultPath"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // Header names (e.g. Authorization), to omit from logs. HeadersBlacklist string `json:"headersBlacklist"` // This path will be used to check the health of your site. HealthcheckPath string `json:"healthcheckPath"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host header will be overwritten with this field if provided. HostOverride string `json:"hostOverride"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network) Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Custom TLS certificate for upstream connection. TlsCert string `json:"tlsCert"` // Skip TLS certificate verification for the upstream connection. TlsInsecure bool `json:"tlsInsecure"` // This option enforces HTTPS on the client, not resource connection. TlsRequired bool `json:"tlsRequired"` // The base address of your website without the path. Url string `json:"url"` } type HTTPBasicAuth struct { // 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. BindInterface string `json:"bindInterface"` // Additional HTTP headers to include in requests. CustomHeaders *CustomHeaders `json:"customHeaders"` // Automatically redirect to this path upon connecting. DefaultPath string `json:"defaultPath"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // Header names (e.g. Authorization), to omit from logs. HeadersBlacklist string `json:"headersBlacklist"` // This path will be used to check the health of your site. HealthcheckPath string `json:"healthcheckPath"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host header will be overwritten with this field if provided. HostOverride string `json:"hostOverride"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network) Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Custom TLS certificate for upstream connection. TlsCert string `json:"tlsCert"` // Skip TLS certificate verification for the upstream connection. TlsInsecure bool `json:"tlsInsecure"` // This option enforces HTTPS on the client, not resource connection. TlsRequired bool `json:"tlsRequired"` // The base address of your website without the path. Url string `json:"url"` // The username to authenticate with. Username string `json:"username"` } type HTTPNoAuth struct { // 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. BindInterface string `json:"bindInterface"` // Additional HTTP headers to include in requests. CustomHeaders *CustomHeaders `json:"customHeaders"` // Automatically redirect to this path upon connecting. DefaultPath string `json:"defaultPath"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // Header names (e.g. Authorization), to omit from logs. HeadersBlacklist string `json:"headersBlacklist"` // This path will be used to check the health of your site. HealthcheckPath string `json:"healthcheckPath"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host header will be overwritten with this field if provided. HostOverride string `json:"hostOverride"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network) Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Custom TLS certificate for upstream connection. TlsCert string `json:"tlsCert"` // Skip TLS certificate verification for the upstream connection. TlsInsecure bool `json:"tlsInsecure"` // This option enforces HTTPS on the client, not resource connection. TlsRequired bool `json:"tlsRequired"` // The base address of your website without the path. Url string `json:"url"` } // Healthcheck defines the status of the link between a node and a resource type Healthcheck struct { // The error if unhealthy ErrorMsg string `json:"errorMsg"` // Whether the healthcheck succeeded. Healthy bool `json:"healthy"` // Unique identifier of the healthcheck. ID string `json:"id"` // Unique identifier of the healthcheck node. NodeID string `json:"nodeId"` // The name of the node. NodeName string `json:"nodeName"` // Unique identifier of the healthcheck resource. ResourceID string `json:"resourceId"` // The name of the resource. ResourceName string `json:"resourceName"` // The time at which the healthcheck state was recorded. Timestamp time.Time `json:"timestamp"` } // HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a // HealthcheckListRequest. type HealthcheckListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } type HealthcheckRequest struct { // required SecretEngineID string `json:"secretEngineId"` } type HealthcheckResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // Array of statuses of all nodes serving a secret engine Status []*HealthcheckStatus `json:"status"` } // HealthcheckStatus contains status of a node health type HealthcheckStatus struct { // ID of node NodeID string `json:"nodeId"` // Status of node's health Status string `json:"status"` } // IdentityAliases define the username to be used for a specific account // when connecting to a remote resource using that identity set. type IdentityAlias struct { // The account for this identity alias. AccountID string `json:"accountId"` // Unique identifier of the IdentityAlias. ID string `json:"id"` // The identity set. IdentitySetID string `json:"identitySetId"` // The username to be used as the identity alias for this account. Username string `json:"username"` } // IdentityAliasCreateResponse reports how the IdentityAliases were created in the system. type IdentityAliasCreateResponse struct { // The created IdentityAlias. IdentityAlias *IdentityAlias `json:"identityAlias"` // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted. type IdentityAliasDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // IdentityAliasGetResponse returns a requested IdentityAlias. type IdentityAliasGetResponse struct { // The requested IdentityAlias. IdentityAlias *IdentityAlias `json:"identityAlias"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // IdentityAliasHistory records the state of a IdentityAlias at a given point in time, // where every change (create, update and delete) to a IdentityAlias produces an // IdentityAliasHistory record. type IdentityAliasHistory struct { // The unique identifier of the Activity that produced this change to the IdentityAlias. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this IdentityAlias was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The complete IdentityAlias state at this time. IdentityAlias *IdentityAlias `json:"identityAlias"` // The time at which the IdentityAlias state was recorded. Timestamp time.Time `json:"timestamp"` } // IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by // a IdentityAliasUpdateRequest. type IdentityAliasUpdateResponse struct { // The updated IdentityAlias. IdentityAlias *IdentityAlias `json:"identityAlias"` // Reserved for future use. Meta *UpdateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // A IdentitySet defines a group of identity aliases. type IdentitySet struct { // Unique identifier of the IdentitySet. ID string `json:"id"` // Unique human-readable name of the IdentitySet. Name string `json:"name"` } // IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can // communicate partial successes or failures. type IdentitySetCreateResponse struct { // The created IdentitySet. IdentitySet *IdentitySet `json:"identitySet"` // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // IdentitySetDeleteResponse returns information about a IdentitySet that was deleted. type IdentitySetDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // IdentitySetGetResponse returns a requested IdentitySet. type IdentitySetGetResponse struct { // The requested IdentitySet. IdentitySet *IdentitySet `json:"identitySet"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // IdentitySetHistory records the state of a IdentitySet at a given point in time, // where every change (create, update and delete) to a IdentitySet produces an // IdentitySetHistory record. type IdentitySetHistory struct { // The unique identifier of the Activity that produced this change to the IdentitySet. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this IdentitySet was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The complete IdentitySet state at this time. IdentitySet *IdentitySet `json:"identitySet"` // The time at which the IdentitySet state was recorded. Timestamp time.Time `json:"timestamp"` } // IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by // a IdentitySetUpdateRequest. type IdentitySetUpdateResponse struct { // The updated IdentitySet. IdentitySet *IdentitySet `json:"identitySet"` // Reserved for future use. Meta *UpdateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // An Initiator describes who established the connection to the resource, as classified by // the local StrongDM client. type Initiator struct { // A stable identifier of the AI Agent that established the connection, e.g. "claude-code". // Empty unless type is "ai_agent". AIAgent string `json:"aiAgent"` // Indicates whether the initiator detection is trusted, meaning it cannot be spoofed by the end user. Trusted bool `json:"trusted"` // The kind of initiator, one of the InitiatorType constants: "ai_agent" when a supported AI // Agent was detected, "human" when no supported AI Agent was detected, or "unknown" when the // client could not determine the initiator. Type string `json:"type"` // The version of the AI Agent, when it could be determined. Version string `json:"version"` } type KeyValueEngine struct { // Unique identifier of the Secret Engine. ID string `json:"id"` // An interval of public/private key rotation for secret engine in days KeyRotationIntervalDays int32 `json:"keyRotationIntervalDays"` // Unique human-readable name of the Secret Engine. Name string `json:"name"` // node selector is used to narrow down the nodes used to communicate with with secret engine NodeSelector string `json:"nodeSelector"` // Public key linked with a secret engine PublicKey []byte `json:"publicKey"` // Backing secret store identifier SecretStoreID string `json:"secretStoreId"` // Backing Secret Store root path where managed secrets are going to be stored SecretStoreRootPath string `json:"secretStoreRootPath"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type KeyfactorSSHStore struct { // 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. CaFilePath string `json:"caFilePath"` // 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. CertificateFilePath string `json:"certificateFilePath"` // Name of EJBCA certificate authority that will enroll CSR. DefaultCertificateAuthorityName string `json:"defaultCertificateAuthorityName"` // Certificate profile name that EJBCA will enroll the CSR with. DefaultCertificateProfileName string `json:"defaultCertificateProfileName"` // End entity profile that EJBCA will enroll the CSR with. DefaultEndEntityProfileName string `json:"defaultEndEntityProfileName"` // code used by EJBCA during enrollment. May be left blank if no code is required. EnrollmentCodeEnvVar string `json:"enrollmentCodeEnvVar"` // 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. EnrollmentUsernameEnvVar string `json:"enrollmentUsernameEnvVar"` // Unique identifier of the SecretStore. ID string `json:"id"` // Path to private key in PEM format. This file should contain the private key associated with the // client certificate configured in CertificateFile. KeyFilePath string `json:"keyFilePath"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // the host of the Key Factor CA ServerAddress string `json:"serverAddress"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type KeyfactorX509Store struct { // 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. CaFilePath string `json:"caFilePath"` // 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. CertificateFilePath string `json:"certificateFilePath"` // Name of EJBCA certificate authority that will enroll CSR. DefaultCertificateAuthorityName string `json:"defaultCertificateAuthorityName"` // Certificate profile name that EJBCA will enroll the CSR with. DefaultCertificateProfileName string `json:"defaultCertificateProfileName"` // End entity profile that EJBCA will enroll the CSR with. DefaultEndEntityProfileName string `json:"defaultEndEntityProfileName"` // code used by EJBCA during enrollment. May be left blank if no code is required. EnrollmentCodeEnvVar string `json:"enrollmentCodeEnvVar"` // 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. EnrollmentUsernameEnvVar string `json:"enrollmentUsernameEnvVar"` // Unique identifier of the SecretStore. ID string `json:"id"` // Path to private key in PEM format. This file should contain the private key associated with the // client certificate configured in CertificateFile. KeyFilePath string `json:"keyFilePath"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // the host of the Key Factor CA ServerAddress string `json:"serverAddress"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type Kubernetes struct { // If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) // when a resource role is not provided. AllowResourceRoleBypass bool `json:"allowResourceRoleBypass"` // 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. BindInterface string `json:"bindInterface"` // The CA to authenticate TLS connections with. CertificateAuthority string `json:"certificateAuthority"` // The certificate to authenticate TLS connections with. ClientCertificate string `json:"clientCertificate"` // The key to authenticate TLS connections with. ClientKey string `json:"clientKey"` // If true, configures discovery of a cluster to be run from a node. DiscoveryEnabled bool `json:"discoveryEnabled"` // If a cluster is configured for user impersonation, this is the user to impersonate when // running discovery. DiscoveryUsername string `json:"discoveryUsername"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed, // without a major version bump. type KubernetesBasicAuth struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type KubernetesPodIdentity struct { // If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) // when a resource role is not provided. AllowResourceRoleBypass bool `json:"allowResourceRoleBypass"` // 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. BindInterface string `json:"bindInterface"` // The CA to authenticate TLS connections with. CertificateAuthority string `json:"certificateAuthority"` // If true, configures discovery of a cluster to be run from a node. DiscoveryEnabled bool `json:"discoveryEnabled"` // If a cluster is configured for user impersonation, this is the user to impersonate when // running discovery. DiscoveryUsername string `json:"discoveryUsername"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type KubernetesServiceAccount struct { // If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) // when a resource role is not provided. AllowResourceRoleBypass bool `json:"allowResourceRoleBypass"` // 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. BindInterface string `json:"bindInterface"` // If true, configures discovery of a cluster to be run from a node. DiscoveryEnabled bool `json:"discoveryEnabled"` // If a cluster is configured for user impersonation, this is the user to impersonate when // running discovery. DiscoveryUsername string `json:"discoveryUsername"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The API token to authenticate with. Token string `json:"token"` } // Deprecated: see docs for more info. type KubernetesServiceAccountUserImpersonation struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The API token to authenticate with. Token string `json:"token"` } // Deprecated: see docs for more info. type KubernetesUserImpersonation struct { // 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. BindInterface string `json:"bindInterface"` // The CA to authenticate TLS connections with. CertificateAuthority string `json:"certificateAuthority"` // The certificate to authenticate TLS connections with. ClientCertificate string `json:"clientCertificate"` // The key to authenticate TLS connections with. ClientKey string `json:"clientKey"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The path used to check the health of your connection. Defaults to `default`. HealthcheckNamespace string `json:"healthcheckNamespace"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // LLM is currently unstable, and its API may change, or it may be removed, // without a major version bump. type LLM struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Space-separated list of model names this resource accepts. Requests for unlisted models are rejected. Leave empty to allow all models. Models string `json:"models"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The URL to dial to initiate a connection from the egress node to this resource. Url string `json:"url"` } type LogCategoryConfig struct { // Indicates if the Organization should exclude replay data from remote logging for the log category. RemoteDiscardReplays bool `json:"remoteDiscardReplays"` // The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants. RemoteEncoder string `json:"remoteEncoder"` } type LogConfig struct { // The Organization's log category configuration settings. Categories LogCategoryConfigMap `json:"categories"` // The Organization's local log encryption encoder, one of the LogLocalEncoder constants. LocalEncoder string `json:"localEncoder"` // The Organization's local log format, one of the LogLocalFormat constants. LocalFormat string `json:"localFormat"` // The Organization's local log socket path. LocalSocketPath string `json:"localSocketPath"` // The Organization's local log storage, one of the LogLocalStorage constants. LocalStorage string `json:"localStorage"` // The Organization's local log TCP address. LocalTCPAddress string `json:"localTcpAddress"` // The Organization's public key in PEM format for encrypting logs. PublicKey string `json:"publicKey"` } type MCPGatewayNoAuth struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Custom TLS certificate for upstream connection. TlsCert string `json:"tlsCert"` // Skip TLS certificate verification for the upstream connection. TlsInsecure bool `json:"tlsInsecure"` // The URL to dial to initiate a connection from the egress node to this resource. Url string `json:"url"` } type MCPGatewayOAuth struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The OAuth 2.0 authorization endpoint URL. OauthAuthEndpoint string `json:"oauthAuthEndpoint"` // Space-separated list of OAuth scopes to request. OauthScopes string `json:"oauthScopes"` // The OAuth 2.0 token endpoint URL. OauthTokenEndpoint string `json:"oauthTokenEndpoint"` // OAuth App Client Secret Password string `json:"password"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Custom TLS certificate for upstream connection. TlsCert string `json:"tlsCert"` // Skip TLS certificate verification for the upstream connection. TlsInsecure bool `json:"tlsInsecure"` // The URL to dial to initiate a connection from the egress node to this resource. Url string `json:"url"` // OAuth App Client ID Username string `json:"username"` } type MCPGatewayOAuthDCR struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The OAuth 2.0 authorization endpoint URL. OauthAuthEndpoint string `json:"oauthAuthEndpoint"` // The OAuth 2.0 dynamic client registration endpoint URL. OauthRegisterEndpoint string `json:"oauthRegisterEndpoint"` // Space-separated list of OAuth scopes to request. OauthScopes string `json:"oauthScopes"` // The OAuth 2.0 token endpoint URL. OauthTokenEndpoint string `json:"oauthTokenEndpoint"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Custom TLS certificate for upstream connection. TlsCert string `json:"tlsCert"` // Skip TLS certificate verification for the upstream connection. TlsInsecure bool `json:"tlsInsecure"` // The URL to dial to initiate a connection from the egress node to this resource. Url string `json:"url"` } type MCPGatewayPAT struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Custom TLS certificate for upstream connection. TlsCert string `json:"tlsCert"` // Skip TLS certificate verification for the upstream connection. TlsInsecure bool `json:"tlsInsecure"` // The URL to dial to initiate a connection from the egress node to this resource. Url string `json:"url"` } type MFAConfig struct { // Indicates if MFA is enabled for the organization. Enabled bool `json:"enabled"` // Okta MFA configuration. Future providers will be added to this wrapper. Okta *OktaMFAConfig `json:"okta"` // The MFA provider, one of the MFAProvider constants. Provider string `json:"provider"` } type MTLSMysql struct { // 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. BindInterface string `json:"bindInterface"` // The CA to authenticate TLS connections with. CertificateAuthority string `json:"certificateAuthority"` // The certificate to authenticate TLS connections with. ClientCertificate string `json:"clientCertificate"` // The key to authenticate TLS connections with. ClientKey string `json:"clientKey"` // The database for healthchecks. Does not affect client requests. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility) RequireNativeAuth bool `json:"requireNativeAuth"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // Server name for TLS verification (unverified by StrongDM if empty) ServerName string `json:"serverName"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If true, appends the hostname to the username when hitting a database.azure.com address UseAzureSingleServerUsernames bool `json:"useAzureSingleServerUsernames"` // The username to authenticate with. Username string `json:"username"` } type MTLSPostgres struct { // 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. BindInterface string `json:"bindInterface"` // The CA to authenticate TLS connections with. CertificateAuthority string `json:"certificateAuthority"` // The certificate to authenticate TLS connections with. ClientCertificate string `json:"clientCertificate"` // The key to authenticate TLS connections with. ClientKey string `json:"clientKey"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // Server name for TLS verification (unverified by StrongDM if empty) ServerName string `json:"serverName"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } // ManagedSecret contains details about managed secret type ManagedSecret struct { // public part of the secret value Config string `json:"config"` // Timestamp of when secret is going to be rotated ExpiresAt time.Time `json:"expiresAt"` // Unique identifier of the Managed Secret. ID string `json:"id"` // Timestamp of when secret was last rotated LastRotatedAt time.Time `json:"lastRotatedAt"` // Whether the secret requires a lock to access LockRequired bool `json:"lockRequired"` // Unique human-readable name of the Managed Secret. Name string `json:"name"` // Password and rotation policy for the secret Policy *ManagedSecretPolicy `json:"policy"` // An ID of a Secret Engine linked with the Managed Secret. SecretEngineID string `json:"secretEngineId"` // Path in a secret store. SecretStorePath string `json:"secretStorePath"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Sensitive value of the secret. Value []byte `json:"value"` } // ManagedSecretCreateRequest specifies a Managed Secret to create. type ManagedSecretCreateRequest struct { // Parameters to define the new Managed Secret. ManagedSecret *ManagedSecret `json:"managedSecret"` } // ManagedSecretCreateResponse contains information about a Managed Secret after // successful creation. type ManagedSecretCreateResponse struct { // The requested Managed Secret. ManagedSecret *ManagedSecret `json:"managedSecret"` // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ManagedSecretDeleteRequest specified the ID of a Managed Secret to be // deleted. type ManagedSecretDeleteRequest struct { // The unique identifier of the Managed Secret to delete. ID string `json:"id"` } // ManagedSecretDeleteResponse contains information about a Managed Secret after // it was deleted. type ManagedSecretDeleteResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ManagedSecretGetRequest specifies which Managed Secret to retrieve type ManagedSecretGetRequest struct { // The unique identifier of the Managed Secret to retrieve. ID string `json:"id"` } // ManagedSecretGetResponse contains information about requested Managed Secret type ManagedSecretGetResponse struct { // The requested Managed Secret. ManagedSecret *ManagedSecret `json:"managedSecret"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ManagedSecretListRequest specifies criteria for retrieving a list of Managed // Secrets. type ManagedSecretListRequest struct { // A human-readable filter query string. Filter string `json:"filter"` } // ManagedSecretListResponse contains a list of requested Managed Secrets type ManagedSecretListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ManagedSecretLog contains details about action performed against a managed // secret type ManagedSecretLog struct { // An ID of the account the action was performed by. AccountID string `json:"accountId"` // The action performed by the account against the managed secret. Action string `json:"action"` // Timestamp of when action was performed. CreatedAt time.Time `json:"createdAt"` // Any debug logs associated with the action. Debug string `json:"debug"` // Unique identifier of the Managed Secret Log. ID string `json:"id"` // An ID of the Managed Secret the action was performed against. ManagedSecretID string `json:"managedSecretId"` // An ID of the Secret Engine linked with the Managed Secret. SecretEngineID string `json:"secretEngineId"` } // ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed // Secrets actions. type ManagedSecretLogsRequest struct { // A human-readable filter query string. Filter string `json:"filter"` } // ManagedSecretLogsResponse contains a list of requested Managed Secrets type ManagedSecretLogsResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } type ManagedSecretPasswordPolicy struct { // If set to true allows for consecutive characters to repeat itself AllowRepeat bool `json:"allowRepeat"` // Characters to exclude when generating password ExcludeCharacters string `json:"excludeCharacters"` // If set to true do not include upper case letters when generating password ExcludeUpperCase bool `json:"excludeUpperCase"` // Password length Length uint32 `json:"length"` // Numbers of digits to use when generating password NumDigits uint32 `json:"numDigits"` // Number of symbols to use when generating password NumSymbols uint32 `json:"numSymbols"` } // ManagedSecretPolicy contains password and rotation policy for managed secret type ManagedSecretPolicy struct { // Password policy for a managed secret PasswordPolicy *ManagedSecretPasswordPolicy `json:"passwordPolicy"` // Rotation policy for a managed secret RotationPolicy *ManagedSecretRotationPolicy `json:"rotationPolicy"` } // ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve type ManagedSecretRetrieveRequest struct { // The unique identifier of the Managed Secret to retrieve. ID string `json:"id"` } // ManagedSecretRetrieveResponse contains information about requested Managed // Secret type ManagedSecretRetrieveResponse struct { // The requested Managed Secret. ManagedSecret *ManagedSecret `json:"managedSecret"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ManagedSecretRotateRequest specifies Managed Secret to rotate type ManagedSecretRotateRequest struct { // The unique identifier of the Managed Secret to rotate. ID string `json:"id"` } // ManagedSecretRotateResponse contains information about Secret Engine after // successful rotation. type ManagedSecretRotateResponse struct { // Reserved for future use. Meta *GenericResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } type ManagedSecretRotationPolicy struct { } // ManagedSecretUpdateRequest specifies Managed Secret to update type ManagedSecretUpdateRequest struct { // Managed Secret to update ManagedSecret *ManagedSecret `json:"managedSecret"` } // ManagedSecretUpdateResponse contains information about Secret Engine after // successful update. type ManagedSecretUpdateResponse struct { // The requested Managed Secret. ManagedSecret *ManagedSecret `json:"managedSecret"` // Reserved for future use. Meta *UpdateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ManagedSecretValidateRequest specifies which Managed Secret to validate type ManagedSecretValidateRequest struct { // The unique identifier of the Managed Secret to validate. ID string `json:"id"` } // ManagedSecretValidateResponse contains validity of requested Managed // Secret type ManagedSecretValidateResponse struct { // Information about why secret is invalid InvalidInfo string `json:"invalidInfo"` // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // Whether the secret is valid ValID bool `json:"valid"` } // MappedIdentities represents the mapped identity privileges granted alongside an entitlement. type MappedIdentities struct { // Kubernetes group memberships. Kubernetes *GrantedEntitlementKubernetesPrivileges `json:"kubernetes"` } type Maria struct { // 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. BindInterface string `json:"bindInterface"` // The database for healthchecks. Does not affect client requests. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility) RequireNativeAuth bool `json:"requireNativeAuth"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If true, appends the hostname to the username when hitting a database.azure.com address UseAzureSingleServerUsernames bool `json:"useAzureSingleServerUsernames"` // The username to authenticate with. Username string `json:"username"` } type Memcached struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type Memsql struct { // 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. BindInterface string `json:"bindInterface"` // The database for healthchecks. Does not affect client requests. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility) RequireNativeAuth bool `json:"requireNativeAuth"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If true, appends the hostname to the username when hitting a database.azure.com address UseAzureSingleServerUsernames bool `json:"useAzureSingleServerUsernames"` // The username to authenticate with. Username string `json:"username"` } type MongoHost struct { // The authentication database to use. AuthDatabase string `json:"authDatabase"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to use for IAM (MONGODB-AWS) authentication. Region string `json:"region"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } // MongoLegacyHost is currently unstable, and its API may change, or it may be removed, // without a major version bump. type MongoLegacyHost struct { // The authentication database to use. AuthDatabase string `json:"authDatabase"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } // MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed, // without a major version bump. type MongoLegacyReplicaset struct { // The authentication database to use. AuthDatabase string `json:"authDatabase"` // 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. BindInterface string `json:"bindInterface"` // Set to connect to a replica instead of the primary node. ConnectToReplica bool `json:"connectToReplica"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type MongoReplicaSet struct { // The authentication database to use. AuthDatabase string `json:"authDatabase"` // 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. BindInterface string `json:"bindInterface"` // Set to connect to a replica instead of the primary node. ConnectToReplica bool `json:"connectToReplica"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to use for IAM (MONGODB-AWS) authentication. Region string `json:"region"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type MongoShardedCluster struct { // The authentication database to use. AuthDatabase string `json:"authDatabase"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to use for IAM (MONGODB-AWS) authentication. Region string `json:"region"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type Mysql struct { // 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. BindInterface string `json:"bindInterface"` // The database for healthchecks. Does not affect client requests. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility) RequireNativeAuth bool `json:"requireNativeAuth"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If true, appends the hostname to the username when hitting a database.azure.com address UseAzureSingleServerUsernames bool `json:"useAzureSingleServerUsernames"` // The username to authenticate with. Username string `json:"username"` } type MysqlEngine struct { // The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated. AfterReadTtl time.Duration `json:"afterReadTtl"` // Database is the database to verify credential against. Database string `json:"database"` // Hostname is the hostname or IP address of the MySQL server. Hostname string `json:"hostname"` // Unique identifier of the Secret Engine. ID string `json:"id"` // An interval of public/private key rotation for secret engine in days KeyRotationIntervalDays int32 `json:"keyRotationIntervalDays"` // Unique human-readable name of the Secret Engine. Name string `json:"name"` // node selector is used to narrow down the nodes used to communicate with with secret engine NodeSelector string `json:"nodeSelector"` // Password is the password to connect to the MySQL server. Password string `json:"password"` // Policy for password creation Policy *SecretEnginePolicy `json:"policy"` // Port is the port number of the MySQL server. Port uint32 `json:"port"` // Public key linked with a secret engine PublicKey []byte `json:"publicKey"` // Backing secret store identifier SecretStoreID string `json:"secretStoreId"` // Backing Secret Store root path where managed secrets are going to be stored SecretStoreRootPath string `json:"secretStoreRootPath"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // TLS enables TLS/SSL when connecting to the MySQL server. Tls bool `json:"tls"` // TLS disable certificate verification TlsSkipVerify bool `json:"tlsSkipVerify"` // The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested. Ttl time.Duration `json:"ttl"` // Username is the username to connect to the MySQL server. Username string `json:"username"` } type Neptune struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com Endpoint string `json:"endpoint"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type NeptuneIAM struct { // The Access Key ID to use to authenticate. AccessKey string `json:"accessKey"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com Endpoint string `json:"endpoint"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to. Region string `json:"region"` // The role to assume after logging in. RoleArn string `json:"roleArn"` // The external ID to associate with assume role requests. Does nothing if a role ARN is not provided. RoleExternalID string `json:"roleExternalId"` // The Secret Access Key to use to authenticate. SecretAccessKey string `json:"secretAccessKey"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // Nodes make up the StrongDM network, and allow your users to connect securely to your resources. // There are three types of nodes: // 1. **Relay:** creates connectivity to your datasources, while maintaining the egress-only nature of your firewall // 2. **Gateway:** a relay that also listens for connections from StrongDM clients // 3. **Proxy Cluster:** a cluster of workers that together mediate access from clients to resources type Node interface { // GetID returns the unique identifier of the Node. GetID() string // GetTags returns the tags of the Node. GetTags() Tags // SetTags sets the tags of the Node. SetTags(Tags) // GetName returns the name of the Node. GetName() string // SetName sets the name of the Node. SetName(string) isOneOf_Node() } func (*Gateway) isOneOf_Node() {} // GetID returns the unique identifier of the Gateway. func (m *Gateway) GetID() string { return m.ID } // GetTags returns the tags of the Gateway. func (m *Gateway) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Gateway. func (m *Gateway) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the Gateway. func (m *Gateway) GetName() string { return m.Name } // SetName sets the name of the Gateway. func (m *Gateway) SetName(v string) { m.Name = v } func (*ProxyCluster) isOneOf_Node() {} // GetID returns the unique identifier of the ProxyCluster. func (m *ProxyCluster) GetID() string { return m.ID } // GetTags returns the tags of the ProxyCluster. func (m *ProxyCluster) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the ProxyCluster. func (m *ProxyCluster) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the ProxyCluster. func (m *ProxyCluster) GetName() string { return m.Name } // SetName sets the name of the ProxyCluster. func (m *ProxyCluster) SetName(v string) { m.Name = v } func (*Relay) isOneOf_Node() {} // GetID returns the unique identifier of the Relay. func (m *Relay) GetID() string { return m.ID } // GetTags returns the tags of the Relay. func (m *Relay) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Relay. func (m *Relay) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the Relay. func (m *Relay) GetName() string { return m.Name } // SetName sets the name of the Relay. func (m *Relay) SetName(v string) { m.Name = v } // NodeCreateResponse reports how the Nodes were created in the system. type NodeCreateResponse struct { // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // The created Node. Node Node `json:"node"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The auth token generated for the Node. The Node will use this token to // authenticate with the strongDM API. Token string `json:"token"` } // NodeDeleteResponse returns information about a Node that was deleted. type NodeDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // NodeGetResponse returns a requested Node. type NodeGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // The requested Node. Node Node `json:"node"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // NodeHistory records the state of a Node at a given point in time, // where every change (create, update and delete) to a Node produces an // NodeHistory record. type NodeHistory struct { // The unique identifier of the Activity that produced this change to the Node. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this Node was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The complete Node state at this time. Node Node `json:"node"` // The time at which the Node state was recorded. Timestamp time.Time `json:"timestamp"` } type NodeMaintenanceWindow struct { // Cron job syntax for when this maintenance window is active. On this schedule, associated // nodes will restart if requested, provided other checks allow the restart to proceed. Times // are represented in UTC. // e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and // Saturday. Not all possible inputs are supported: the month and day of month selections // must be '*'. CronSchedule string `json:"cronSchedule"` // Require Idleness defines whether this window can sever live connections. If true, // this window will not allow a node to be restarted unless it is serving no connections. // If false, given a restart of the node has been requested (for an update, usually), the // node will restart as soon as it enters an allowed day / hour combination. At least one // maintenance window, out of all configured windows for a node, must have this as false. RequireIdleness bool `json:"requireIdleness"` } // NodeTCPProbeResponse reports the result of a TCP probe. type NodeTCPProbeResponse struct { // The connection error reported by the node, or the empty string if the probe succeeded. Error string `json:"error"` // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // True if the node was able to connect to the target address. Succeeded bool `json:"succeeded"` } // NodeUpdateResponse returns the fields of a Node after it has been updated by // a NodeUpdateRequest. type NodeUpdateResponse struct { // Reserved for future use. Meta *UpdateResponseMetadata `json:"meta"` // The updated Node. Node Node `json:"node"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } type OktaGroups struct { // 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. BindInterface string `json:"bindInterface"` // If true, configures discovery of the Okta org to be run from a node. DiscoveryEnabled bool `json:"discoveryEnabled"` // Represents the Okta Org Client URL Domain string `json:"domain"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // comma separated list of group names to filter by. Supports wildcards (*) GroupNames string `json:"groupNames"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // Unique human-readable name of the Resource. Name string `json:"name"` // The privilege levels specify which Groups are managed externally PrivilegeLevels string `json:"privilegeLevels"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type OktaMFAConfig struct { // The API token to authenticate with when auth_mode is api_token. APIToken string `json:"apiToken"` // Indicates if an API token is already stored. APITokenSet bool `json:"apiTokenSet"` // The Okta auth mode, one of the OktaAuthMode constants. AuthMode string `json:"authMode"` // The Okta client ID to authenticate with when auth_mode is client_credentials. ClientID string `json:"clientId"` // Indicates if multidevice push is enabled. MultidevicePushEnabled bool `json:"multidevicePushEnabled"` // The Okta organization URL. OrganizationURL string `json:"organizationUrl"` // The key ID (kid) assigned by Okta to the registered public key. PrivateKeyID string `json:"privateKeyId"` // Indicates if a key ID is already stored or explicitly supplied. This allows // callers to preserve the existing value when omitted or clear it by // sending an empty string with private_key_id_set=true. PrivateKeyIDSet bool `json:"privateKeyIdSet"` // The PEM encoded private key to authenticate with when auth_mode is client_credentials. PrivateKeyPEM string `json:"privateKeyPem"` // Indicates if a PEM encoded private key is already stored. PrivateKeyPEMSet bool `json:"privateKeyPemSet"` // The Okta user lookup strategy, one of the OktaUserLookup constants. UserLookup string `json:"userLookup"` } type Oracle struct { // 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. BindInterface string `json:"bindInterface"` // Oracle service name to connect to Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type OracleNNE struct { // 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. BindInterface string `json:"bindInterface"` // Oracle service name to connect to Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type Organization struct { // The Organization's authentication provider, one of the AuthProvider constants. AuthProvider string `json:"authProvider"` // The time at which the Organization was created. CreatedAt time.Time `json:"createdAt"` // Indicates if the Organization has device trust enabled. DeviceTrustEnabled bool `json:"deviceTrustEnabled"` // The Organization's device trust provider, one of the DeviceTrustProvider constants. DeviceTrustProvider string `json:"deviceTrustProvider"` // Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs. // Deprecated: use categories specific log_config.categories[].remote_discard_replays instead DiscardReplays bool `json:"discardReplays"` // Indicates if the Organization enforces a single session per user for the CLI and AdminUI. EnforceSingleSession bool `json:"enforceSingleSession"` // The Organization's idle timeout, if enabled. IdleTimeout time.Duration `json:"idleTimeout"` // Indicates if the Organization has idle timeouts enabled. IdleTimeoutEnabled bool `json:"idleTimeoutEnabled"` // The Organization's type, one of the OrgKind constants. Kind string `json:"kind"` // The Organization's logging settings LogConfig *LogConfig `json:"logConfig"` // The Organization's local log encryption encoder, one of the LogLocalEncoder constants. // Deprecated: use log_config.local_encoder instead LogLocalEncoder string `json:"logLocalEncoder"` // The Organization's local log format, one of the LogLocalFormat constants. // Deprecated: use log_config.local_format instead LogLocalFormat string `json:"logLocalFormat"` // The Organization's local log storage, one of the LogLocalStorage constants. // Deprecated: use log_config.local_storage instead LogLocalStorage string `json:"logLocalStorage"` // The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants. // Deprecated: use categories specific log_config.categories[].remote_encoder instead LogRemoteEncoder string `json:"logRemoteEncoder"` // The Organization's socket path for Socket local log storage. // Deprecated: use log_config.local_socket_path instead LogSocketPath string `json:"logSocketPath"` // The Organization's TCP address for TCP or Syslog local log storage. // Deprecated: use log_config.local_tcp_address instead LogTCPAddress string `json:"logTcpAddress"` // The Organization's loopback range. LoopbackRange string `json:"loopbackRange"` // Indicates if the Organization has multi-factor authentication enabled. MFAEnabled bool `json:"mfaEnabled"` // The Organization's multi-factor authentication provider, one of the MFAProvider constants. MFAProvider string `json:"mfaProvider"` // The Organization's name. Name string `json:"name"` // The Organization's public key PEM for encrypting remote logs. // Deprecated: use log_config.public_key instead PublicKeyPem string `json:"publicKeyPem"` // Indicates if the Organization requires secret stores. RequireSecretStore bool `json:"requireSecretStore"` // The Organization's URL for SAML metadata. SAMLMetadataURL string `json:"samlMetadataUrl"` // The Organization's SCIM provider, one of the SCIMProvider constants. SCIMProvider string `json:"scimProvider"` // The Organization's label for sensitive resources. SensitiveLabel string `json:"sensitiveLabel"` // The Organization's session timeout, if enabled. SessionTimeout time.Duration `json:"sessionTimeout"` // Indicates if the Organization has session timeouts enabled. SessionTimeoutEnabled bool `json:"sessionTimeoutEnabled"` // The Organization's SSH certificate authority public key. SSHCertificateAuthorityPublicKey string `json:"sshCertificateAuthorityPublicKey"` // The time at which the Organization's SSH certificate authority was last updated. SSHCertificateAuthorityUpdatedAt time.Time `json:"sshCertificateAuthorityUpdatedAt"` // The time at which the Organization was last updated. UpdatedAt time.Time `json:"updatedAt"` // The Organization's web site domain. WebsitesSubdomain string `json:"websitesSubdomain"` } type OrganizationGetMFAResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // The current MFA configuration. MFA *MFAConfig `json:"mfa"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // OrganizationHistoryRecord records the state of an Organization at a given point in time, // where every change to an Organization produces an OrganizationHistoryRecord. type OrganizationHistoryRecord struct { // The unique identifier of the Activity that produced this change to the Organization. // May be empty for some system-initiated organization updates. ActivityID string `json:"activityId"` // The complete Organization state at this time. Organization *Organization `json:"organization"` // The time at which the Organization state was recorded. Timestamp time.Time `json:"timestamp"` } type OrganizationTestMFAResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } type OrganizationUpdateMFAResponse struct { // The updated MFA configuration. MFA *MFAConfig `json:"mfa"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PeeringGroups are the building blocks used for explicit network topology making. // They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group. type PeeringGroup struct { // Unique identifier of the PeeringGroup. ID string `json:"id"` // Unique human-readable name of the PeeringGroup. Name string `json:"name"` } // PeeringGroupCreateResponse reports how the PeeringGroup was created in the system. type PeeringGroupCreateResponse struct { // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // The created PeeringGroup. PeeringGroup *PeeringGroup `json:"peeringGroup"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted. type PeeringGroupDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PeeringGroupGetResponse returns a requested PeeringGroup. type PeeringGroupGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // The requested PeeringGroup. PeeringGroup *PeeringGroup `json:"peeringGroup"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PeeringGroupNode represents the attachment between a PeeringGroup and a Node. type PeeringGroupNode struct { // Peering Group ID to which the node will be attached to. GroupID string `json:"groupId"` // Unique identifier of the Attachment. ID string `json:"id"` // Node ID to be attached. NodeID string `json:"nodeId"` } // PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system. type PeeringGroupNodeCreateResponse struct { // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // The created PeeringGroupNode. PeeringGroupNode *PeeringGroupNode `json:"peeringGroupNode"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted. type PeeringGroupNodeDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PeeringGroupNodeGetResponse returns a requested PeeringGroupNode. type PeeringGroupNodeGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // The requested PeeringGroupNode. PeeringGroupNode *PeeringGroupNode `json:"peeringGroupNode"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PeeringGroupPeer represents the link between two PeeringGroups type PeeringGroupPeer struct { // Group ID from which the link will originate. GroupID string `json:"groupId"` // Unique identifier of the Attachment. ID string `json:"id"` // Peering Group ID to which Group ID will link. PeersWithGroupID string `json:"peersWithGroupId"` } // PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system. type PeeringGroupPeerCreateResponse struct { // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // The created PeeringGroupPeer. PeeringGroupPeer *PeeringGroupPeer `json:"peeringGroupPeer"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted. type PeeringGroupPeerDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer. type PeeringGroupPeerGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // The requested PeeringGroupPeer. PeeringGroupPeer *PeeringGroupPeer `json:"peeringGroupPeer"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PeeringGroupResource represents the attachment between a PeeringGroup and a Resource. type PeeringGroupResource struct { // Peering Group ID to which the resource will be attached to. GroupID string `json:"groupId"` // Unique identifier of the Attachment. ID string `json:"id"` // Resource ID to be attached. ResourceID string `json:"resourceId"` } // PeeringGroupResourceCreateResponse reports how the attachment was created in the system. type PeeringGroupResourceCreateResponse struct { // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // The created PeeringGroupResource. PeeringGroupResource *PeeringGroupResource `json:"peeringGroupResource"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted. type PeeringGroupResourceDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PeeringGroupResourceGetResponse returns a requested PeeringGroupResource. type PeeringGroupResourceGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // The requested PeeringGroupResource. PeeringGroupResource *PeeringGroupResource `json:"peeringGroupResource"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // Policy is a collection of one or more statements that enforce fine-grained access control // for the users of an organization. type Policy struct { // Optional description of the Policy. Description string `json:"description"` // Unique identifier of the Policy. ID string `json:"id"` // Unique human-readable name of the Policy. Name string `json:"name"` // The content of the Policy, in Cedar policy language. Policy string `json:"policy"` } // PolicyCreateResponse reports how the Policy was created in the system. type PolicyCreateResponse struct { // The created Policy. Policy *Policy `json:"policy"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PolicyDeleteResponse returns information about a Policy that was deleted. type PolicyDeleteResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PolicyGetResponse returns a requested Policy. type PolicyGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // The requested Policy. Policy *Policy `json:"policy"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PolicyHistory records the state of a Policy at a given point in time, // where every change (create, update and delete) to a Policy produces a // PolicyHistory record. type PolicyHistory struct { // The unique identifier of the Activity that produced this change to the Policy. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this Policy was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The complete Policy state at this time. Policy *Policy `json:"policy"` // The time at which the Policy state was recorded. Timestamp time.Time `json:"timestamp"` } // PolicyListResponse returns a list of Policy records that meet // the criteria of a PolicyListRequest. type PolicyListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // PolicyUpdateResponse returns the fields of a Policy after it has been updated by // a PolicyUpdateRequest. type PolicyUpdateResponse struct { // The updated Policy. Policy *Policy `json:"policy"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } type Postgres struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type PostgresEngine struct { // The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated. AfterReadTtl time.Duration `json:"afterReadTtl"` // Database is the database to verify credential against. Database string `json:"database"` // Hostname is the hostname or IP address of the Postgres server. Hostname string `json:"hostname"` // Unique identifier of the Secret Engine. ID string `json:"id"` // An interval of public/private key rotation for secret engine in days KeyRotationIntervalDays int32 `json:"keyRotationIntervalDays"` // Unique human-readable name of the Secret Engine. Name string `json:"name"` // node selector is used to narrow down the nodes used to communicate with with secret engine NodeSelector string `json:"nodeSelector"` // Password is the password to connect to the Postgres server. Password string `json:"password"` // Policy for password creation Policy *SecretEnginePolicy `json:"policy"` // Port is the port number of the Postgres server. Port uint32 `json:"port"` // Public key linked with a secret engine PublicKey []byte `json:"publicKey"` // Backing secret store identifier SecretStoreID string `json:"secretStoreId"` // Backing Secret Store root path where managed secrets are going to be stored SecretStoreRootPath string `json:"secretStoreRootPath"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // TLS enables TLS/SSL when connecting to the Postgres server. Tls bool `json:"tls"` // The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested. Ttl time.Duration `json:"ttl"` // Username is the username to connect to the Postgres server. Username string `json:"username"` } type Presto struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } // ProxyCluster represents a cluster of StrongDM proxies. type ProxyCluster struct { // The public hostname/port tuple at which the proxy cluster will be // accessible to clients. Address string `json:"address"` // Unique identifier of the Proxy Cluster. ID string `json:"id"` // 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. MaintenanceWindows []*NodeMaintenanceWindow `json:"maintenanceWindows"` // Unique human-readable name of the proxy cluster. Names must // include only letters, numbers, and hyphens (no spaces, underscores, or // other special characters). Generated if not provided on create. Name string `json:"name"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // Proxy Cluster Keys are authentication keys for all proxies within a cluster. // The proxies within a cluster share the same key. One cluster can have // multiple keys in order to facilitate key rotation. type ProxyClusterKey struct { // The timestamp when this key was created. CreatedAt time.Time `json:"createdAt"` // Unique identifier of the Relay. ID string `json:"id"` // The timestamp when this key was last used, if at all. LastUsedAt time.Time `json:"lastUsedAt"` // The ID of the proxy cluster which this key authenticates to. ProxyClusterID string `json:"proxyClusterId"` } // ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system. type ProxyClusterKeyCreateResponse struct { // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // The created ProxyClusterKey. ProxyClusterKey *ProxyClusterKey `json:"proxyClusterKey"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The secret key component of this key. It must be saved upon creation // because it will not be available for retrieval later. SecretKey string `json:"secretKey"` } // ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted. type ProxyClusterKeyDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ProxyClusterKeyGetResponse returns a requested ProxyClusterKey. type ProxyClusterKeyGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // The requested ProxyClusterKey. ProxyClusterKey *ProxyClusterKey `json:"proxyClusterKey"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // A Query is a record of a single client request to a resource, such as a SQL query. // Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes // interactive sessions will return two Query records with the same identifier, one record // at the start of the query and a second record upon the completion of the query with // additional detail. type Query struct { // The email of the account performing this query, at the time the query was executed. // If the account email is later changed, that change will not be reflected via this field. AccountEmail string `json:"accountEmail"` // The given name of the account performing this query, at the time the query was executed. // If the account is later renamed, that change will not be reflected via this field. AccountFirstName string `json:"accountFirstName"` // Unique identifier of the Account that performed the Query. AccountID string `json:"accountId"` // The family name of the account performing this query, at the time the query was executed. // If the account is later renamed, that change will not be reflected via this field. AccountLastName string `json:"accountLastName"` // The tags of the account accessed, at the time the query was executed. If the account // tags are later changed, that change will not be reflected via this field. AccountTags Tags `json:"accountTags"` // Authorization metadata associated with this query. AuthzJSON string `json:"authzJson"` // For queries against SSH, Kubernetes, and RDP resources, this contains additional information // about the captured query. Capture *QueryCapture `json:"capture"` // The IP address the Query was performed from, as detected at the StrongDM control plane. ClientIP string `json:"clientIp"` // The time at which the Query was completed. // Empty if this record indicates the start of a long-running query. CompletedAt time.Time `json:"completedAt"` // The duration of the Query. Duration time.Duration `json:"duration"` // The unique ID of the node through which the Resource was accessed. EgressNodeID string `json:"egressNodeId"` // Indicates that the body of the Query is encrypted. Encrypted bool `json:"encrypted"` // Unique identifier of the Query. ID string `json:"id"` // The username of the IdentityAlias used to access the Resource. IdentityAliasUsername string `json:"identityAliasUsername"` // Who established the connection to the resource, as classified by the local StrongDM client. // Absent when the initiator was not recorded or the organization does not have AI Agent controls. Initiator *Initiator `json:"initiator"` // Driver specific metadata associated with this query. MetadataJSON string `json:"metadataJson"` // The captured content of the Query. // For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture. QueryBody string `json:"queryBody"` // The general category of Resource against which Query was performed, e.g. "web" or "cloud". QueryCategory string `json:"queryCategory"` // The hash of the body of the Query. QueryHash string `json:"queryHash"` // The symmetric key used to encrypt the body of this Query and its replay if replayable. // If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding. // This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body. // If the Query is not encrypted, this field is empty. QueryKey string `json:"queryKey"` // The number of records returned by the Query, for a database Resource. RecordCount int64 `json:"recordCount"` // The username of the RemoteIdentity used to access the Resource. RemoteIdentityUsername string `json:"remoteIdentityUsername"` // Indicates that the Query is replayable, e.g. for some SSH or K8s sessions. Replayable bool `json:"replayable"` // Unique identifier of the Resource against which the Query was performed. ResourceID string `json:"resourceId"` // The name of the resource accessed, at the time the query was executed. If the resource // is later renamed, that change will not be reflected via this field. ResourceName string `json:"resourceName"` // The tags of the resource accessed, at the time the query was executed. If the resource // tags are later changed, that change will not be reflected via this field. ResourceTags Tags `json:"resourceTags"` // The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres". ResourceType string `json:"resourceType"` // The IP address the Query was performed from, as detected at the ingress gateway. SourceIP string `json:"sourceIp"` // The target destination of the query, in host:port format. Target string `json:"target"` // The time at which the Query was started. Timestamp time.Time `json:"timestamp"` } // A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources. type QueryCapture struct { // The command executed on the client for a Kubernetes session. ClientCommand string `json:"clientCommand"` // The command executed over an SSH or Kubernetes session. Command string `json:"command"` // The target container of a Kubernetes operation. Container string `json:"container"` // The environment variables for an SSH or Kubernetes session. Env map[string]string `json:"env"` // The remote file name of an SCP operation. FileName string `json:"fileName"` // The file size transferred for an SCP operation. FileSize int64 `json:"fileSize"` // The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions. Height int32 `json:"height"` // The impersonation groups of a Kubernetes operation. ImpersonationGroups []string `json:"impersonationGroups"` // The impersonation user of a Kubernetes operation. ImpersonationUser string `json:"impersonationUser"` // The target pod of a Kubernetes operation. Pod string `json:"pod"` // The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation. PrivilegeGroups []string `json:"privilegeGroups"` // The HTTP request body of a Kubernetes operation. RequestBody []byte `json:"requestBody"` // The HTTP request method of a Kubernetes operation. RequestMethod string `json:"requestMethod"` // The HTTP request URI of a Kubernetes operation. RequestURI string `json:"requestUri"` // The CaptureType of this query capture, one of the CaptureType constants. Type string `json:"type"` // The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions. Width int32 `json:"width"` } type RDP struct { // 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. BindInterface string `json:"bindInterface"` // 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. DowngradeNlaConnections bool `json:"downgradeNlaConnections"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // if provided use identity_set to map username to secret store path IdentitySetID string `json:"identitySetId"` // When set, require a resource lock to access the resource to ensure it can only be used by one user at a time. LockRequired bool `json:"lockRequired"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type RDPCert struct { // 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. BindInterface string `json:"bindInterface"` // 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. DcHostnames string `json:"dcHostnames"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Username of the AD service account for health checks, and LDAPS SID resolution if necessary. Required for on-premises AD environments, unused for Entra ID. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // When set, require a resource lock to access the resource to ensure it can only be used by one user at a time. LockRequired bool `json:"lockRequired"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. ServerFqdn string `json:"serverFqdn"` // 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. SID string `json:"sid"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type RDSPostgresIAM struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to. Region string `json:"region"` // If provided, the gateway/relay will try to assume this role instead of the underlying compute's role. RoleAssumptionArn string `json:"roleAssumptionArn"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type RabbitMQAMQP091 struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } // RateLimitMetadata contains information about remaining requests avaialable // to the user over some timeframe. type RateLimitMetadata struct { // The bucket this user/token is associated with, which may be shared between // multiple users/tokens. Bucket string `json:"bucket"` // How many total requests the user/token is authorized to make before being // rate limited. Limit int64 `json:"limit"` // How many remaining requests out of the limit are still avaialable. Remaining int64 `json:"remaining"` // The time when remaining will be reset to limit. ResetAt time.Time `json:"resetAt"` } type RawTCP struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type Redis struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type RedisCluster struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } type Redshift struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type RedshiftIAM struct { // 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. BindInterface string `json:"bindInterface"` // Cluster Identified of Redshift cluster ClusterID string `json:"clusterId"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to. Region string `json:"region"` // If provided, the gateway/relay will try to assume this role instead of the underlying compute's role. RoleAssumptionArn string `json:"roleAssumptionArn"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type RedshiftServerlessIAM struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The AWS region to connect to. Region string `json:"region"` // If provided, the gateway/relay will try to assume this role instead of the underlying compute's role. RoleAssumptionArn string `json:"roleAssumptionArn"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Workgroup name in the serverless Redshift Workgroup string `json:"workgroup"` } // Relay represents a StrongDM CLI installation running in relay mode. type Relay struct { // Device is a read only device name uploaded by the gateway process when // it comes online. Device string `json:"device"` // GatewayFilter can be used to restrict the peering between relays and // gateways. Deprecated. GatewayFilter string `json:"gatewayFilter"` // Unique identifier of the Relay. ID string `json:"id"` // Location is a read only network location uploaded by the gateway process // when it comes online. Location string `json:"location"` // 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. MaintenanceWindows []*NodeMaintenanceWindow `json:"maintenanceWindows"` // 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. Name string `json:"name"` // The current state of the relay, one of the NodeState constants. State string `json:"state"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // Version is a read only sdm binary version uploaded by the gateway process // when it comes online. Version string `json:"version"` } // RemoteIdentities define the username to be used for a specific account // when connecting to a remote resource using that group. type RemoteIdentity struct { // The account for this remote identity. AccountID string `json:"accountId"` // Unique identifier of the RemoteIdentity. ID string `json:"id"` // The remote identity group. RemoteIdentityGroupID string `json:"remoteIdentityGroupId"` // The username to be used as the remote identity for this account. Username string `json:"username"` } // RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system. type RemoteIdentityCreateResponse struct { // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The created RemoteIdentity. RemoteIdentity *RemoteIdentity `json:"remoteIdentity"` } // RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted. type RemoteIdentityDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // RemoteIdentityGetResponse returns a requested RemoteIdentity. type RemoteIdentityGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The requested RemoteIdentity. RemoteIdentity *RemoteIdentity `json:"remoteIdentity"` } // A RemoteIdentityGroup defines a group of remote identities. type RemoteIdentityGroup struct { // Unique identifier of the RemoteIdentityGroup. ID string `json:"id"` // Unique human-readable name of the RemoteIdentityGroup. Name string `json:"name"` } // RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup. type RemoteIdentityGroupGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The requested RemoteIdentityGroup. RemoteIdentityGroup *RemoteIdentityGroup `json:"remoteIdentityGroup"` } // RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time, // where every change (create, update and delete) to a RemoteIdentityGroup produces an // RemoteIdentityGroupHistory record. type RemoteIdentityGroupHistory struct { // The unique identifier of the Activity that produced this change to the RemoteIdentityGroup. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this RemoteIdentityGroup was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The complete RemoteIdentityGroup state at this time. RemoteIdentityGroup *RemoteIdentityGroup `json:"remoteIdentityGroup"` // The time at which the RemoteIdentityGroup state was recorded. Timestamp time.Time `json:"timestamp"` } // RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time, // where every change (create, update and delete) to a RemoteIdentity produces an // RemoteIdentityHistory record. type RemoteIdentityHistory struct { // The unique identifier of the Activity that produced this change to the RemoteIdentity. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this RemoteIdentity was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The complete RemoteIdentity state at this time. RemoteIdentity *RemoteIdentity `json:"remoteIdentity"` // The time at which the RemoteIdentity state was recorded. Timestamp time.Time `json:"timestamp"` } // RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by // a RemoteIdentityUpdateRequest. type RemoteIdentityUpdateResponse struct { // Reserved for future use. Meta *UpdateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The updated RemoteIdentity. RemoteIdentity *RemoteIdentity `json:"remoteIdentity"` } // A ReplayChunk represents a single "chunk" of data from the query replay. type ReplayChunk struct { // The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted. Data []byte `json:"data"` // The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty // and the events can be obtained by decrypting the data using the QueryKey returned with the Query. Events []*ReplayChunkEvent `json:"events"` // If the data is encrypted, this contains the encrypted symmetric key SymmetricKey string `json:"symmetricKey"` } // A ReplayChunkEvent represents a single event within a query replay. // The timing information included in each ReplayChunkEvent may be used to replay a session in real time. type ReplayChunkEvent struct { // The raw data of the ReplayChunkEvent. Data []byte `json:"data"` // The time duration over which the data in this ReplayChunkEvent was transferred. Duration time.Duration `json:"duration"` } // RequestableAccountEntitlement represents an individual resource that an Account is permitted to request access to. type RequestableAccountEntitlement struct { // The unique identifier of the group associated with this entitlement, if any. GroupID string `json:"groupId"` // The mapped identity privileges for this entitlement, such as Kubernetes group memberships. MappedIdentities *MappedIdentities `json:"mappedIdentities"` // The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID). OriginID string `json:"originId"` // The unique identifier of the Resource to which access can be requested. ResourceID string `json:"resourceId"` } // RequestableResource is a resource that can be requested via an AccessRequestConfig type RequestableResource struct { // The current state of the user's access to the resources Access string `json:"access"` // The type of authentication for the resource Authentication string `json:"authentication"` // The health check status of the reasource Healthy bool `json:"healthy"` // The resource id. ID string `json:"id"` // The resource name. Name string `json:"name"` // Any tags attached to this resource Tags Tags `json:"tags"` // The resource type Type string `json:"type"` } // RequestableResourceEntitlement represents an individual account that is permitted to request access to a Resource. type RequestableResourceEntitlement struct { // The unique identifier of the Account that can request access to this resource. AccountID string `json:"accountId"` // The unique identifier of the group associated with this entitlement, if any. GroupID string `json:"groupId"` // The mapped identity privileges for this entitlement, such as Kubernetes group memberships. MappedIdentities *MappedIdentities `json:"mappedIdentities"` // The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID). OriginID string `json:"originId"` } // RequestableRoleEntitlement represents an individual resource that a Role permits its members to request access to. type RequestableRoleEntitlement struct { // The unique identifier of the group associated with this entitlement, if any. GroupID string `json:"groupId"` // The mapped identity privileges for this entitlement, such as Kubernetes group memberships. MappedIdentities *MappedIdentities `json:"mappedIdentities"` // The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID). OriginID string `json:"originId"` // The unique identifier of the Resource to which access can be requested through this role. ResourceID string `json:"resourceId"` } // A Resource is a database, server, cluster, website, or cloud that strongDM // delegates access to. type Resource interface { // GetID returns the unique identifier of the Resource. GetID() string // GetName returns the name of the Resource. GetName() string // SetName sets the name of the Resource. SetName(string) // GetTags returns the tags of the Resource. GetTags() Tags // SetTags sets the tags of the Resource. SetTags(Tags) // GetSecretStoreID returns the secret store id of the Resource. GetSecretStoreID() string // SetSecretStoreID sets the secret store id of the Resource. SetSecretStoreID(string) // GetEgressFilter returns the egress filter of the Resource. GetEgressFilter() string // SetEgressFilter sets the egress filter of the Resource. SetEgressFilter(string) // GetBindInterface returns the bind interface of the Resource. GetBindInterface() string // SetBindInterface sets the bind interface of the Resource. SetBindInterface(string) isOneOf_Resource() } func (*Aerospike) isOneOf_Resource() {} // GetID returns the unique identifier of the Aerospike. func (m *Aerospike) GetID() string { return m.ID } // GetName returns the name of the Aerospike. func (m *Aerospike) GetName() string { return m.Name } // SetName sets the name of the Aerospike. func (m *Aerospike) SetName(v string) { m.Name = v } // GetTags returns the tags of the Aerospike. func (m *Aerospike) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Aerospike. func (m *Aerospike) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Aerospike. func (m *Aerospike) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Aerospike. func (m *Aerospike) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Aerospike. func (m *Aerospike) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Aerospike. func (m *Aerospike) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Aerospike. func (m *Aerospike) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Aerospike. func (m *Aerospike) SetBindInterface(v string) { m.BindInterface = v } func (*AKS) isOneOf_Resource() {} // GetID returns the unique identifier of the AKS. func (m *AKS) GetID() string { return m.ID } // GetName returns the name of the AKS. func (m *AKS) GetName() string { return m.Name } // SetName sets the name of the AKS. func (m *AKS) SetName(v string) { m.Name = v } // GetTags returns the tags of the AKS. func (m *AKS) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AKS. func (m *AKS) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AKS. func (m *AKS) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AKS. func (m *AKS) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AKS. func (m *AKS) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AKS. func (m *AKS) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AKS. func (m *AKS) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AKS. func (m *AKS) SetBindInterface(v string) { m.BindInterface = v } func (*AKSBasicAuth) isOneOf_Resource() {} // GetID returns the unique identifier of the AKSBasicAuth. func (m *AKSBasicAuth) GetID() string { return m.ID } // GetName returns the name of the AKSBasicAuth. func (m *AKSBasicAuth) GetName() string { return m.Name } // SetName sets the name of the AKSBasicAuth. func (m *AKSBasicAuth) SetName(v string) { m.Name = v } // GetTags returns the tags of the AKSBasicAuth. func (m *AKSBasicAuth) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AKSBasicAuth. func (m *AKSBasicAuth) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AKSBasicAuth. func (m *AKSBasicAuth) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AKSBasicAuth. func (m *AKSBasicAuth) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AKSBasicAuth. func (m *AKSBasicAuth) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AKSBasicAuth. func (m *AKSBasicAuth) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AKSBasicAuth. func (m *AKSBasicAuth) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AKSBasicAuth. func (m *AKSBasicAuth) SetBindInterface(v string) { m.BindInterface = v } func (*AKSServiceAccount) isOneOf_Resource() {} // GetID returns the unique identifier of the AKSServiceAccount. func (m *AKSServiceAccount) GetID() string { return m.ID } // GetName returns the name of the AKSServiceAccount. func (m *AKSServiceAccount) GetName() string { return m.Name } // SetName sets the name of the AKSServiceAccount. func (m *AKSServiceAccount) SetName(v string) { m.Name = v } // GetTags returns the tags of the AKSServiceAccount. func (m *AKSServiceAccount) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AKSServiceAccount. func (m *AKSServiceAccount) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AKSServiceAccount. func (m *AKSServiceAccount) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AKSServiceAccount. func (m *AKSServiceAccount) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AKSServiceAccount. func (m *AKSServiceAccount) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AKSServiceAccount. func (m *AKSServiceAccount) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AKSServiceAccount. func (m *AKSServiceAccount) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AKSServiceAccount. func (m *AKSServiceAccount) SetBindInterface(v string) { m.BindInterface = v } func (*AKSServiceAccountUserImpersonation) isOneOf_Resource() {} // GetID returns the unique identifier of the AKSServiceAccountUserImpersonation. func (m *AKSServiceAccountUserImpersonation) GetID() string { return m.ID } // GetName returns the name of the AKSServiceAccountUserImpersonation. func (m *AKSServiceAccountUserImpersonation) GetName() string { return m.Name } // SetName sets the name of the AKSServiceAccountUserImpersonation. func (m *AKSServiceAccountUserImpersonation) SetName(v string) { m.Name = v } // GetTags returns the tags of the AKSServiceAccountUserImpersonation. func (m *AKSServiceAccountUserImpersonation) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AKSServiceAccountUserImpersonation. func (m *AKSServiceAccountUserImpersonation) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AKSServiceAccountUserImpersonation. func (m *AKSServiceAccountUserImpersonation) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AKSServiceAccountUserImpersonation. func (m *AKSServiceAccountUserImpersonation) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AKSServiceAccountUserImpersonation. func (m *AKSServiceAccountUserImpersonation) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AKSServiceAccountUserImpersonation. func (m *AKSServiceAccountUserImpersonation) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AKSServiceAccountUserImpersonation. func (m *AKSServiceAccountUserImpersonation) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AKSServiceAccountUserImpersonation. func (m *AKSServiceAccountUserImpersonation) SetBindInterface(v string) { m.BindInterface = v } func (*AKSUserImpersonation) isOneOf_Resource() {} // GetID returns the unique identifier of the AKSUserImpersonation. func (m *AKSUserImpersonation) GetID() string { return m.ID } // GetName returns the name of the AKSUserImpersonation. func (m *AKSUserImpersonation) GetName() string { return m.Name } // SetName sets the name of the AKSUserImpersonation. func (m *AKSUserImpersonation) SetName(v string) { m.Name = v } // GetTags returns the tags of the AKSUserImpersonation. func (m *AKSUserImpersonation) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AKSUserImpersonation. func (m *AKSUserImpersonation) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AKSUserImpersonation. func (m *AKSUserImpersonation) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AKSUserImpersonation. func (m *AKSUserImpersonation) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AKSUserImpersonation. func (m *AKSUserImpersonation) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AKSUserImpersonation. func (m *AKSUserImpersonation) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AKSUserImpersonation. func (m *AKSUserImpersonation) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AKSUserImpersonation. func (m *AKSUserImpersonation) SetBindInterface(v string) { m.BindInterface = v } func (*AmazonEKS) isOneOf_Resource() {} // GetID returns the unique identifier of the AmazonEKS. func (m *AmazonEKS) GetID() string { return m.ID } // GetName returns the name of the AmazonEKS. func (m *AmazonEKS) GetName() string { return m.Name } // SetName sets the name of the AmazonEKS. func (m *AmazonEKS) SetName(v string) { m.Name = v } // GetTags returns the tags of the AmazonEKS. func (m *AmazonEKS) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AmazonEKS. func (m *AmazonEKS) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AmazonEKS. func (m *AmazonEKS) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AmazonEKS. func (m *AmazonEKS) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AmazonEKS. func (m *AmazonEKS) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AmazonEKS. func (m *AmazonEKS) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AmazonEKS. func (m *AmazonEKS) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AmazonEKS. func (m *AmazonEKS) SetBindInterface(v string) { m.BindInterface = v } func (*AmazonEKSInstanceProfile) isOneOf_Resource() {} // GetID returns the unique identifier of the AmazonEKSInstanceProfile. func (m *AmazonEKSInstanceProfile) GetID() string { return m.ID } // GetName returns the name of the AmazonEKSInstanceProfile. func (m *AmazonEKSInstanceProfile) GetName() string { return m.Name } // SetName sets the name of the AmazonEKSInstanceProfile. func (m *AmazonEKSInstanceProfile) SetName(v string) { m.Name = v } // GetTags returns the tags of the AmazonEKSInstanceProfile. func (m *AmazonEKSInstanceProfile) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AmazonEKSInstanceProfile. func (m *AmazonEKSInstanceProfile) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AmazonEKSInstanceProfile. func (m *AmazonEKSInstanceProfile) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AmazonEKSInstanceProfile. func (m *AmazonEKSInstanceProfile) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AmazonEKSInstanceProfile. func (m *AmazonEKSInstanceProfile) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AmazonEKSInstanceProfile. func (m *AmazonEKSInstanceProfile) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AmazonEKSInstanceProfile. func (m *AmazonEKSInstanceProfile) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AmazonEKSInstanceProfile. func (m *AmazonEKSInstanceProfile) SetBindInterface(v string) { m.BindInterface = v } func (*AmazonEKSInstanceProfileUserImpersonation) isOneOf_Resource() {} // GetID returns the unique identifier of the AmazonEKSInstanceProfileUserImpersonation. func (m *AmazonEKSInstanceProfileUserImpersonation) GetID() string { return m.ID } // GetName returns the name of the AmazonEKSInstanceProfileUserImpersonation. func (m *AmazonEKSInstanceProfileUserImpersonation) GetName() string { return m.Name } // SetName sets the name of the AmazonEKSInstanceProfileUserImpersonation. func (m *AmazonEKSInstanceProfileUserImpersonation) SetName(v string) { m.Name = v } // GetTags returns the tags of the AmazonEKSInstanceProfileUserImpersonation. func (m *AmazonEKSInstanceProfileUserImpersonation) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AmazonEKSInstanceProfileUserImpersonation. func (m *AmazonEKSInstanceProfileUserImpersonation) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AmazonEKSInstanceProfileUserImpersonation. func (m *AmazonEKSInstanceProfileUserImpersonation) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AmazonEKSInstanceProfileUserImpersonation. func (m *AmazonEKSInstanceProfileUserImpersonation) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AmazonEKSInstanceProfileUserImpersonation. func (m *AmazonEKSInstanceProfileUserImpersonation) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AmazonEKSInstanceProfileUserImpersonation. func (m *AmazonEKSInstanceProfileUserImpersonation) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AmazonEKSInstanceProfileUserImpersonation. func (m *AmazonEKSInstanceProfileUserImpersonation) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AmazonEKSInstanceProfileUserImpersonation. func (m *AmazonEKSInstanceProfileUserImpersonation) SetBindInterface(v string) { m.BindInterface = v } func (*AmazonEKSUserImpersonation) isOneOf_Resource() {} // GetID returns the unique identifier of the AmazonEKSUserImpersonation. func (m *AmazonEKSUserImpersonation) GetID() string { return m.ID } // GetName returns the name of the AmazonEKSUserImpersonation. func (m *AmazonEKSUserImpersonation) GetName() string { return m.Name } // SetName sets the name of the AmazonEKSUserImpersonation. func (m *AmazonEKSUserImpersonation) SetName(v string) { m.Name = v } // GetTags returns the tags of the AmazonEKSUserImpersonation. func (m *AmazonEKSUserImpersonation) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AmazonEKSUserImpersonation. func (m *AmazonEKSUserImpersonation) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AmazonEKSUserImpersonation. func (m *AmazonEKSUserImpersonation) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AmazonEKSUserImpersonation. func (m *AmazonEKSUserImpersonation) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AmazonEKSUserImpersonation. func (m *AmazonEKSUserImpersonation) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AmazonEKSUserImpersonation. func (m *AmazonEKSUserImpersonation) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AmazonEKSUserImpersonation. func (m *AmazonEKSUserImpersonation) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AmazonEKSUserImpersonation. func (m *AmazonEKSUserImpersonation) SetBindInterface(v string) { m.BindInterface = v } func (*AmazonES) isOneOf_Resource() {} // GetID returns the unique identifier of the AmazonES. func (m *AmazonES) GetID() string { return m.ID } // GetName returns the name of the AmazonES. func (m *AmazonES) GetName() string { return m.Name } // SetName sets the name of the AmazonES. func (m *AmazonES) SetName(v string) { m.Name = v } // GetTags returns the tags of the AmazonES. func (m *AmazonES) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AmazonES. func (m *AmazonES) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AmazonES. func (m *AmazonES) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AmazonES. func (m *AmazonES) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AmazonES. func (m *AmazonES) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AmazonES. func (m *AmazonES) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AmazonES. func (m *AmazonES) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AmazonES. func (m *AmazonES) SetBindInterface(v string) { m.BindInterface = v } func (*AmazonESIAM) isOneOf_Resource() {} // GetID returns the unique identifier of the AmazonESIAM. func (m *AmazonESIAM) GetID() string { return m.ID } // GetName returns the name of the AmazonESIAM. func (m *AmazonESIAM) GetName() string { return m.Name } // SetName sets the name of the AmazonESIAM. func (m *AmazonESIAM) SetName(v string) { m.Name = v } // GetTags returns the tags of the AmazonESIAM. func (m *AmazonESIAM) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AmazonESIAM. func (m *AmazonESIAM) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AmazonESIAM. func (m *AmazonESIAM) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AmazonESIAM. func (m *AmazonESIAM) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AmazonESIAM. func (m *AmazonESIAM) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AmazonESIAM. func (m *AmazonESIAM) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AmazonESIAM. func (m *AmazonESIAM) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AmazonESIAM. func (m *AmazonESIAM) SetBindInterface(v string) { m.BindInterface = v } func (*AmazonMQAMQP091) isOneOf_Resource() {} // GetID returns the unique identifier of the AmazonMQAMQP091. func (m *AmazonMQAMQP091) GetID() string { return m.ID } // GetName returns the name of the AmazonMQAMQP091. func (m *AmazonMQAMQP091) GetName() string { return m.Name } // SetName sets the name of the AmazonMQAMQP091. func (m *AmazonMQAMQP091) SetName(v string) { m.Name = v } // GetTags returns the tags of the AmazonMQAMQP091. func (m *AmazonMQAMQP091) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AmazonMQAMQP091. func (m *AmazonMQAMQP091) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AmazonMQAMQP091. func (m *AmazonMQAMQP091) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AmazonMQAMQP091. func (m *AmazonMQAMQP091) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AmazonMQAMQP091. func (m *AmazonMQAMQP091) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AmazonMQAMQP091. func (m *AmazonMQAMQP091) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AmazonMQAMQP091. func (m *AmazonMQAMQP091) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AmazonMQAMQP091. func (m *AmazonMQAMQP091) SetBindInterface(v string) { m.BindInterface = v } func (*AMQP) isOneOf_Resource() {} // GetID returns the unique identifier of the AMQP. func (m *AMQP) GetID() string { return m.ID } // GetName returns the name of the AMQP. func (m *AMQP) GetName() string { return m.Name } // SetName sets the name of the AMQP. func (m *AMQP) SetName(v string) { m.Name = v } // GetTags returns the tags of the AMQP. func (m *AMQP) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AMQP. func (m *AMQP) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AMQP. func (m *AMQP) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AMQP. func (m *AMQP) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AMQP. func (m *AMQP) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AMQP. func (m *AMQP) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AMQP. func (m *AMQP) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AMQP. func (m *AMQP) SetBindInterface(v string) { m.BindInterface = v } func (*Athena) isOneOf_Resource() {} // GetID returns the unique identifier of the Athena. func (m *Athena) GetID() string { return m.ID } // GetName returns the name of the Athena. func (m *Athena) GetName() string { return m.Name } // SetName sets the name of the Athena. func (m *Athena) SetName(v string) { m.Name = v } // GetTags returns the tags of the Athena. func (m *Athena) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Athena. func (m *Athena) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Athena. func (m *Athena) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Athena. func (m *Athena) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Athena. func (m *Athena) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Athena. func (m *Athena) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Athena. func (m *Athena) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Athena. func (m *Athena) SetBindInterface(v string) { m.BindInterface = v } func (*AthenaIAM) isOneOf_Resource() {} // GetID returns the unique identifier of the AthenaIAM. func (m *AthenaIAM) GetID() string { return m.ID } // GetName returns the name of the AthenaIAM. func (m *AthenaIAM) GetName() string { return m.Name } // SetName sets the name of the AthenaIAM. func (m *AthenaIAM) SetName(v string) { m.Name = v } // GetTags returns the tags of the AthenaIAM. func (m *AthenaIAM) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AthenaIAM. func (m *AthenaIAM) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AthenaIAM. func (m *AthenaIAM) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AthenaIAM. func (m *AthenaIAM) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AthenaIAM. func (m *AthenaIAM) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AthenaIAM. func (m *AthenaIAM) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AthenaIAM. func (m *AthenaIAM) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AthenaIAM. func (m *AthenaIAM) SetBindInterface(v string) { m.BindInterface = v } func (*AuroraMysql) isOneOf_Resource() {} // GetID returns the unique identifier of the AuroraMysql. func (m *AuroraMysql) GetID() string { return m.ID } // GetName returns the name of the AuroraMysql. func (m *AuroraMysql) GetName() string { return m.Name } // SetName sets the name of the AuroraMysql. func (m *AuroraMysql) SetName(v string) { m.Name = v } // GetTags returns the tags of the AuroraMysql. func (m *AuroraMysql) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AuroraMysql. func (m *AuroraMysql) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AuroraMysql. func (m *AuroraMysql) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AuroraMysql. func (m *AuroraMysql) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AuroraMysql. func (m *AuroraMysql) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AuroraMysql. func (m *AuroraMysql) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AuroraMysql. func (m *AuroraMysql) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AuroraMysql. func (m *AuroraMysql) SetBindInterface(v string) { m.BindInterface = v } func (*AuroraMysqlIAM) isOneOf_Resource() {} // GetID returns the unique identifier of the AuroraMysqlIAM. func (m *AuroraMysqlIAM) GetID() string { return m.ID } // GetName returns the name of the AuroraMysqlIAM. func (m *AuroraMysqlIAM) GetName() string { return m.Name } // SetName sets the name of the AuroraMysqlIAM. func (m *AuroraMysqlIAM) SetName(v string) { m.Name = v } // GetTags returns the tags of the AuroraMysqlIAM. func (m *AuroraMysqlIAM) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AuroraMysqlIAM. func (m *AuroraMysqlIAM) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AuroraMysqlIAM. func (m *AuroraMysqlIAM) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AuroraMysqlIAM. func (m *AuroraMysqlIAM) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AuroraMysqlIAM. func (m *AuroraMysqlIAM) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AuroraMysqlIAM. func (m *AuroraMysqlIAM) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AuroraMysqlIAM. func (m *AuroraMysqlIAM) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AuroraMysqlIAM. func (m *AuroraMysqlIAM) SetBindInterface(v string) { m.BindInterface = v } func (*AuroraPostgres) isOneOf_Resource() {} // GetID returns the unique identifier of the AuroraPostgres. func (m *AuroraPostgres) GetID() string { return m.ID } // GetName returns the name of the AuroraPostgres. func (m *AuroraPostgres) GetName() string { return m.Name } // SetName sets the name of the AuroraPostgres. func (m *AuroraPostgres) SetName(v string) { m.Name = v } // GetTags returns the tags of the AuroraPostgres. func (m *AuroraPostgres) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AuroraPostgres. func (m *AuroraPostgres) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AuroraPostgres. func (m *AuroraPostgres) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AuroraPostgres. func (m *AuroraPostgres) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AuroraPostgres. func (m *AuroraPostgres) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AuroraPostgres. func (m *AuroraPostgres) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AuroraPostgres. func (m *AuroraPostgres) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AuroraPostgres. func (m *AuroraPostgres) SetBindInterface(v string) { m.BindInterface = v } func (*AuroraPostgresIAM) isOneOf_Resource() {} // GetID returns the unique identifier of the AuroraPostgresIAM. func (m *AuroraPostgresIAM) GetID() string { return m.ID } // GetName returns the name of the AuroraPostgresIAM. func (m *AuroraPostgresIAM) GetName() string { return m.Name } // SetName sets the name of the AuroraPostgresIAM. func (m *AuroraPostgresIAM) SetName(v string) { m.Name = v } // GetTags returns the tags of the AuroraPostgresIAM. func (m *AuroraPostgresIAM) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AuroraPostgresIAM. func (m *AuroraPostgresIAM) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AuroraPostgresIAM. func (m *AuroraPostgresIAM) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AuroraPostgresIAM. func (m *AuroraPostgresIAM) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AuroraPostgresIAM. func (m *AuroraPostgresIAM) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AuroraPostgresIAM. func (m *AuroraPostgresIAM) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AuroraPostgresIAM. func (m *AuroraPostgresIAM) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AuroraPostgresIAM. func (m *AuroraPostgresIAM) SetBindInterface(v string) { m.BindInterface = v } func (*AWS) isOneOf_Resource() {} // GetID returns the unique identifier of the AWS. func (m *AWS) GetID() string { return m.ID } // GetName returns the name of the AWS. func (m *AWS) GetName() string { return m.Name } // SetName sets the name of the AWS. func (m *AWS) SetName(v string) { m.Name = v } // GetTags returns the tags of the AWS. func (m *AWS) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AWS. func (m *AWS) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AWS. func (m *AWS) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AWS. func (m *AWS) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AWS. func (m *AWS) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AWS. func (m *AWS) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AWS. func (m *AWS) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AWS. func (m *AWS) SetBindInterface(v string) { m.BindInterface = v } func (*AWSConsole) isOneOf_Resource() {} // GetID returns the unique identifier of the AWSConsole. func (m *AWSConsole) GetID() string { return m.ID } // GetName returns the name of the AWSConsole. func (m *AWSConsole) GetName() string { return m.Name } // SetName sets the name of the AWSConsole. func (m *AWSConsole) SetName(v string) { m.Name = v } // GetTags returns the tags of the AWSConsole. func (m *AWSConsole) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AWSConsole. func (m *AWSConsole) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AWSConsole. func (m *AWSConsole) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AWSConsole. func (m *AWSConsole) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AWSConsole. func (m *AWSConsole) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AWSConsole. func (m *AWSConsole) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AWSConsole. func (m *AWSConsole) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AWSConsole. func (m *AWSConsole) SetBindInterface(v string) { m.BindInterface = v } func (*AWSConsoleStaticKeyPair) isOneOf_Resource() {} // GetID returns the unique identifier of the AWSConsoleStaticKeyPair. func (m *AWSConsoleStaticKeyPair) GetID() string { return m.ID } // GetName returns the name of the AWSConsoleStaticKeyPair. func (m *AWSConsoleStaticKeyPair) GetName() string { return m.Name } // SetName sets the name of the AWSConsoleStaticKeyPair. func (m *AWSConsoleStaticKeyPair) SetName(v string) { m.Name = v } // GetTags returns the tags of the AWSConsoleStaticKeyPair. func (m *AWSConsoleStaticKeyPair) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AWSConsoleStaticKeyPair. func (m *AWSConsoleStaticKeyPair) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AWSConsoleStaticKeyPair. func (m *AWSConsoleStaticKeyPair) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AWSConsoleStaticKeyPair. func (m *AWSConsoleStaticKeyPair) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AWSConsoleStaticKeyPair. func (m *AWSConsoleStaticKeyPair) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AWSConsoleStaticKeyPair. func (m *AWSConsoleStaticKeyPair) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AWSConsoleStaticKeyPair. func (m *AWSConsoleStaticKeyPair) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AWSConsoleStaticKeyPair. func (m *AWSConsoleStaticKeyPair) SetBindInterface(v string) { m.BindInterface = v } func (*AWSInstanceProfile) isOneOf_Resource() {} // GetID returns the unique identifier of the AWSInstanceProfile. func (m *AWSInstanceProfile) GetID() string { return m.ID } // GetName returns the name of the AWSInstanceProfile. func (m *AWSInstanceProfile) GetName() string { return m.Name } // SetName sets the name of the AWSInstanceProfile. func (m *AWSInstanceProfile) SetName(v string) { m.Name = v } // GetTags returns the tags of the AWSInstanceProfile. func (m *AWSInstanceProfile) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AWSInstanceProfile. func (m *AWSInstanceProfile) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AWSInstanceProfile. func (m *AWSInstanceProfile) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AWSInstanceProfile. func (m *AWSInstanceProfile) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AWSInstanceProfile. func (m *AWSInstanceProfile) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AWSInstanceProfile. func (m *AWSInstanceProfile) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AWSInstanceProfile. func (m *AWSInstanceProfile) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AWSInstanceProfile. func (m *AWSInstanceProfile) SetBindInterface(v string) { m.BindInterface = v } func (*Azure) isOneOf_Resource() {} // GetID returns the unique identifier of the Azure. func (m *Azure) GetID() string { return m.ID } // GetName returns the name of the Azure. func (m *Azure) GetName() string { return m.Name } // SetName sets the name of the Azure. func (m *Azure) SetName(v string) { m.Name = v } // GetTags returns the tags of the Azure. func (m *Azure) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Azure. func (m *Azure) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Azure. func (m *Azure) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Azure. func (m *Azure) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Azure. func (m *Azure) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Azure. func (m *Azure) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Azure. func (m *Azure) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Azure. func (m *Azure) SetBindInterface(v string) { m.BindInterface = v } func (*AzureCertificate) isOneOf_Resource() {} // GetID returns the unique identifier of the AzureCertificate. func (m *AzureCertificate) GetID() string { return m.ID } // GetName returns the name of the AzureCertificate. func (m *AzureCertificate) GetName() string { return m.Name } // SetName sets the name of the AzureCertificate. func (m *AzureCertificate) SetName(v string) { m.Name = v } // GetTags returns the tags of the AzureCertificate. func (m *AzureCertificate) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AzureCertificate. func (m *AzureCertificate) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AzureCertificate. func (m *AzureCertificate) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AzureCertificate. func (m *AzureCertificate) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AzureCertificate. func (m *AzureCertificate) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AzureCertificate. func (m *AzureCertificate) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AzureCertificate. func (m *AzureCertificate) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AzureCertificate. func (m *AzureCertificate) SetBindInterface(v string) { m.BindInterface = v } func (*AzureMysql) isOneOf_Resource() {} // GetID returns the unique identifier of the AzureMysql. func (m *AzureMysql) GetID() string { return m.ID } // GetName returns the name of the AzureMysql. func (m *AzureMysql) GetName() string { return m.Name } // SetName sets the name of the AzureMysql. func (m *AzureMysql) SetName(v string) { m.Name = v } // GetTags returns the tags of the AzureMysql. func (m *AzureMysql) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AzureMysql. func (m *AzureMysql) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AzureMysql. func (m *AzureMysql) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AzureMysql. func (m *AzureMysql) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AzureMysql. func (m *AzureMysql) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AzureMysql. func (m *AzureMysql) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AzureMysql. func (m *AzureMysql) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AzureMysql. func (m *AzureMysql) SetBindInterface(v string) { m.BindInterface = v } func (*AzureMysqlManagedIdentity) isOneOf_Resource() {} // GetID returns the unique identifier of the AzureMysqlManagedIdentity. func (m *AzureMysqlManagedIdentity) GetID() string { return m.ID } // GetName returns the name of the AzureMysqlManagedIdentity. func (m *AzureMysqlManagedIdentity) GetName() string { return m.Name } // SetName sets the name of the AzureMysqlManagedIdentity. func (m *AzureMysqlManagedIdentity) SetName(v string) { m.Name = v } // GetTags returns the tags of the AzureMysqlManagedIdentity. func (m *AzureMysqlManagedIdentity) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AzureMysqlManagedIdentity. func (m *AzureMysqlManagedIdentity) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AzureMysqlManagedIdentity. func (m *AzureMysqlManagedIdentity) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AzureMysqlManagedIdentity. func (m *AzureMysqlManagedIdentity) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AzureMysqlManagedIdentity. func (m *AzureMysqlManagedIdentity) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AzureMysqlManagedIdentity. func (m *AzureMysqlManagedIdentity) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AzureMysqlManagedIdentity. func (m *AzureMysqlManagedIdentity) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AzureMysqlManagedIdentity. func (m *AzureMysqlManagedIdentity) SetBindInterface(v string) { m.BindInterface = v } func (*AzurePostgres) isOneOf_Resource() {} // GetID returns the unique identifier of the AzurePostgres. func (m *AzurePostgres) GetID() string { return m.ID } // GetName returns the name of the AzurePostgres. func (m *AzurePostgres) GetName() string { return m.Name } // SetName sets the name of the AzurePostgres. func (m *AzurePostgres) SetName(v string) { m.Name = v } // GetTags returns the tags of the AzurePostgres. func (m *AzurePostgres) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AzurePostgres. func (m *AzurePostgres) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AzurePostgres. func (m *AzurePostgres) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AzurePostgres. func (m *AzurePostgres) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AzurePostgres. func (m *AzurePostgres) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AzurePostgres. func (m *AzurePostgres) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AzurePostgres. func (m *AzurePostgres) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AzurePostgres. func (m *AzurePostgres) SetBindInterface(v string) { m.BindInterface = v } func (*AzurePostgresManagedIdentity) isOneOf_Resource() {} // GetID returns the unique identifier of the AzurePostgresManagedIdentity. func (m *AzurePostgresManagedIdentity) GetID() string { return m.ID } // GetName returns the name of the AzurePostgresManagedIdentity. func (m *AzurePostgresManagedIdentity) GetName() string { return m.Name } // SetName sets the name of the AzurePostgresManagedIdentity. func (m *AzurePostgresManagedIdentity) SetName(v string) { m.Name = v } // GetTags returns the tags of the AzurePostgresManagedIdentity. func (m *AzurePostgresManagedIdentity) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AzurePostgresManagedIdentity. func (m *AzurePostgresManagedIdentity) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the AzurePostgresManagedIdentity. func (m *AzurePostgresManagedIdentity) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the AzurePostgresManagedIdentity. func (m *AzurePostgresManagedIdentity) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the AzurePostgresManagedIdentity. func (m *AzurePostgresManagedIdentity) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the AzurePostgresManagedIdentity. func (m *AzurePostgresManagedIdentity) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the AzurePostgresManagedIdentity. func (m *AzurePostgresManagedIdentity) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the AzurePostgresManagedIdentity. func (m *AzurePostgresManagedIdentity) SetBindInterface(v string) { m.BindInterface = v } func (*BigQuery) isOneOf_Resource() {} // GetID returns the unique identifier of the BigQuery. func (m *BigQuery) GetID() string { return m.ID } // GetName returns the name of the BigQuery. func (m *BigQuery) GetName() string { return m.Name } // SetName sets the name of the BigQuery. func (m *BigQuery) SetName(v string) { m.Name = v } // GetTags returns the tags of the BigQuery. func (m *BigQuery) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the BigQuery. func (m *BigQuery) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the BigQuery. func (m *BigQuery) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the BigQuery. func (m *BigQuery) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the BigQuery. func (m *BigQuery) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the BigQuery. func (m *BigQuery) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the BigQuery. func (m *BigQuery) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the BigQuery. func (m *BigQuery) SetBindInterface(v string) { m.BindInterface = v } func (*Cassandra) isOneOf_Resource() {} // GetID returns the unique identifier of the Cassandra. func (m *Cassandra) GetID() string { return m.ID } // GetName returns the name of the Cassandra. func (m *Cassandra) GetName() string { return m.Name } // SetName sets the name of the Cassandra. func (m *Cassandra) SetName(v string) { m.Name = v } // GetTags returns the tags of the Cassandra. func (m *Cassandra) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Cassandra. func (m *Cassandra) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Cassandra. func (m *Cassandra) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Cassandra. func (m *Cassandra) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Cassandra. func (m *Cassandra) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Cassandra. func (m *Cassandra) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Cassandra. func (m *Cassandra) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Cassandra. func (m *Cassandra) SetBindInterface(v string) { m.BindInterface = v } func (*Citus) isOneOf_Resource() {} // GetID returns the unique identifier of the Citus. func (m *Citus) GetID() string { return m.ID } // GetName returns the name of the Citus. func (m *Citus) GetName() string { return m.Name } // SetName sets the name of the Citus. func (m *Citus) SetName(v string) { m.Name = v } // GetTags returns the tags of the Citus. func (m *Citus) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Citus. func (m *Citus) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Citus. func (m *Citus) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Citus. func (m *Citus) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Citus. func (m *Citus) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Citus. func (m *Citus) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Citus. func (m *Citus) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Citus. func (m *Citus) SetBindInterface(v string) { m.BindInterface = v } func (*ClickHouseHTTP) isOneOf_Resource() {} // GetID returns the unique identifier of the ClickHouseHTTP. func (m *ClickHouseHTTP) GetID() string { return m.ID } // GetName returns the name of the ClickHouseHTTP. func (m *ClickHouseHTTP) GetName() string { return m.Name } // SetName sets the name of the ClickHouseHTTP. func (m *ClickHouseHTTP) SetName(v string) { m.Name = v } // GetTags returns the tags of the ClickHouseHTTP. func (m *ClickHouseHTTP) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the ClickHouseHTTP. func (m *ClickHouseHTTP) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the ClickHouseHTTP. func (m *ClickHouseHTTP) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the ClickHouseHTTP. func (m *ClickHouseHTTP) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the ClickHouseHTTP. func (m *ClickHouseHTTP) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the ClickHouseHTTP. func (m *ClickHouseHTTP) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the ClickHouseHTTP. func (m *ClickHouseHTTP) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the ClickHouseHTTP. func (m *ClickHouseHTTP) SetBindInterface(v string) { m.BindInterface = v } func (*ClickHouseMySQL) isOneOf_Resource() {} // GetID returns the unique identifier of the ClickHouseMySQL. func (m *ClickHouseMySQL) GetID() string { return m.ID } // GetName returns the name of the ClickHouseMySQL. func (m *ClickHouseMySQL) GetName() string { return m.Name } // SetName sets the name of the ClickHouseMySQL. func (m *ClickHouseMySQL) SetName(v string) { m.Name = v } // GetTags returns the tags of the ClickHouseMySQL. func (m *ClickHouseMySQL) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the ClickHouseMySQL. func (m *ClickHouseMySQL) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the ClickHouseMySQL. func (m *ClickHouseMySQL) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the ClickHouseMySQL. func (m *ClickHouseMySQL) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the ClickHouseMySQL. func (m *ClickHouseMySQL) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the ClickHouseMySQL. func (m *ClickHouseMySQL) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the ClickHouseMySQL. func (m *ClickHouseMySQL) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the ClickHouseMySQL. func (m *ClickHouseMySQL) SetBindInterface(v string) { m.BindInterface = v } func (*ClickHouseTCP) isOneOf_Resource() {} // GetID returns the unique identifier of the ClickHouseTCP. func (m *ClickHouseTCP) GetID() string { return m.ID } // GetName returns the name of the ClickHouseTCP. func (m *ClickHouseTCP) GetName() string { return m.Name } // SetName sets the name of the ClickHouseTCP. func (m *ClickHouseTCP) SetName(v string) { m.Name = v } // GetTags returns the tags of the ClickHouseTCP. func (m *ClickHouseTCP) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the ClickHouseTCP. func (m *ClickHouseTCP) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the ClickHouseTCP. func (m *ClickHouseTCP) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the ClickHouseTCP. func (m *ClickHouseTCP) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the ClickHouseTCP. func (m *ClickHouseTCP) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the ClickHouseTCP. func (m *ClickHouseTCP) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the ClickHouseTCP. func (m *ClickHouseTCP) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the ClickHouseTCP. func (m *ClickHouseTCP) SetBindInterface(v string) { m.BindInterface = v } func (*Clustrix) isOneOf_Resource() {} // GetID returns the unique identifier of the Clustrix. func (m *Clustrix) GetID() string { return m.ID } // GetName returns the name of the Clustrix. func (m *Clustrix) GetName() string { return m.Name } // SetName sets the name of the Clustrix. func (m *Clustrix) SetName(v string) { m.Name = v } // GetTags returns the tags of the Clustrix. func (m *Clustrix) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Clustrix. func (m *Clustrix) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Clustrix. func (m *Clustrix) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Clustrix. func (m *Clustrix) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Clustrix. func (m *Clustrix) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Clustrix. func (m *Clustrix) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Clustrix. func (m *Clustrix) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Clustrix. func (m *Clustrix) SetBindInterface(v string) { m.BindInterface = v } func (*Cockroach) isOneOf_Resource() {} // GetID returns the unique identifier of the Cockroach. func (m *Cockroach) GetID() string { return m.ID } // GetName returns the name of the Cockroach. func (m *Cockroach) GetName() string { return m.Name } // SetName sets the name of the Cockroach. func (m *Cockroach) SetName(v string) { m.Name = v } // GetTags returns the tags of the Cockroach. func (m *Cockroach) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Cockroach. func (m *Cockroach) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Cockroach. func (m *Cockroach) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Cockroach. func (m *Cockroach) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Cockroach. func (m *Cockroach) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Cockroach. func (m *Cockroach) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Cockroach. func (m *Cockroach) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Cockroach. func (m *Cockroach) SetBindInterface(v string) { m.BindInterface = v } func (*CouchbaseDatabase) isOneOf_Resource() {} // GetID returns the unique identifier of the CouchbaseDatabase. func (m *CouchbaseDatabase) GetID() string { return m.ID } // GetName returns the name of the CouchbaseDatabase. func (m *CouchbaseDatabase) GetName() string { return m.Name } // SetName sets the name of the CouchbaseDatabase. func (m *CouchbaseDatabase) SetName(v string) { m.Name = v } // GetTags returns the tags of the CouchbaseDatabase. func (m *CouchbaseDatabase) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the CouchbaseDatabase. func (m *CouchbaseDatabase) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the CouchbaseDatabase. func (m *CouchbaseDatabase) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the CouchbaseDatabase. func (m *CouchbaseDatabase) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the CouchbaseDatabase. func (m *CouchbaseDatabase) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the CouchbaseDatabase. func (m *CouchbaseDatabase) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the CouchbaseDatabase. func (m *CouchbaseDatabase) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the CouchbaseDatabase. func (m *CouchbaseDatabase) SetBindInterface(v string) { m.BindInterface = v } func (*CouchbaseWebUI) isOneOf_Resource() {} // GetID returns the unique identifier of the CouchbaseWebUI. func (m *CouchbaseWebUI) GetID() string { return m.ID } // GetName returns the name of the CouchbaseWebUI. func (m *CouchbaseWebUI) GetName() string { return m.Name } // SetName sets the name of the CouchbaseWebUI. func (m *CouchbaseWebUI) SetName(v string) { m.Name = v } // GetTags returns the tags of the CouchbaseWebUI. func (m *CouchbaseWebUI) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the CouchbaseWebUI. func (m *CouchbaseWebUI) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the CouchbaseWebUI. func (m *CouchbaseWebUI) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the CouchbaseWebUI. func (m *CouchbaseWebUI) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the CouchbaseWebUI. func (m *CouchbaseWebUI) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the CouchbaseWebUI. func (m *CouchbaseWebUI) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the CouchbaseWebUI. func (m *CouchbaseWebUI) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the CouchbaseWebUI. func (m *CouchbaseWebUI) SetBindInterface(v string) { m.BindInterface = v } func (*Databricks) isOneOf_Resource() {} // GetID returns the unique identifier of the Databricks. func (m *Databricks) GetID() string { return m.ID } // GetName returns the name of the Databricks. func (m *Databricks) GetName() string { return m.Name } // SetName sets the name of the Databricks. func (m *Databricks) SetName(v string) { m.Name = v } // GetTags returns the tags of the Databricks. func (m *Databricks) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Databricks. func (m *Databricks) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Databricks. func (m *Databricks) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Databricks. func (m *Databricks) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Databricks. func (m *Databricks) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Databricks. func (m *Databricks) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Databricks. func (m *Databricks) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Databricks. func (m *Databricks) SetBindInterface(v string) { m.BindInterface = v } func (*DB2I) isOneOf_Resource() {} // GetID returns the unique identifier of the DB2I. func (m *DB2I) GetID() string { return m.ID } // GetName returns the name of the DB2I. func (m *DB2I) GetName() string { return m.Name } // SetName sets the name of the DB2I. func (m *DB2I) SetName(v string) { m.Name = v } // GetTags returns the tags of the DB2I. func (m *DB2I) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the DB2I. func (m *DB2I) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the DB2I. func (m *DB2I) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the DB2I. func (m *DB2I) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the DB2I. func (m *DB2I) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the DB2I. func (m *DB2I) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the DB2I. func (m *DB2I) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the DB2I. func (m *DB2I) SetBindInterface(v string) { m.BindInterface = v } func (*DB2LUW) isOneOf_Resource() {} // GetID returns the unique identifier of the DB2LUW. func (m *DB2LUW) GetID() string { return m.ID } // GetName returns the name of the DB2LUW. func (m *DB2LUW) GetName() string { return m.Name } // SetName sets the name of the DB2LUW. func (m *DB2LUW) SetName(v string) { m.Name = v } // GetTags returns the tags of the DB2LUW. func (m *DB2LUW) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the DB2LUW. func (m *DB2LUW) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the DB2LUW. func (m *DB2LUW) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the DB2LUW. func (m *DB2LUW) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the DB2LUW. func (m *DB2LUW) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the DB2LUW. func (m *DB2LUW) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the DB2LUW. func (m *DB2LUW) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the DB2LUW. func (m *DB2LUW) SetBindInterface(v string) { m.BindInterface = v } func (*DocumentDBHost) isOneOf_Resource() {} // GetID returns the unique identifier of the DocumentDBHost. func (m *DocumentDBHost) GetID() string { return m.ID } // GetName returns the name of the DocumentDBHost. func (m *DocumentDBHost) GetName() string { return m.Name } // SetName sets the name of the DocumentDBHost. func (m *DocumentDBHost) SetName(v string) { m.Name = v } // GetTags returns the tags of the DocumentDBHost. func (m *DocumentDBHost) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the DocumentDBHost. func (m *DocumentDBHost) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the DocumentDBHost. func (m *DocumentDBHost) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the DocumentDBHost. func (m *DocumentDBHost) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the DocumentDBHost. func (m *DocumentDBHost) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the DocumentDBHost. func (m *DocumentDBHost) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the DocumentDBHost. func (m *DocumentDBHost) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the DocumentDBHost. func (m *DocumentDBHost) SetBindInterface(v string) { m.BindInterface = v } func (*DocumentDBHostIAM) isOneOf_Resource() {} // GetID returns the unique identifier of the DocumentDBHostIAM. func (m *DocumentDBHostIAM) GetID() string { return m.ID } // GetName returns the name of the DocumentDBHostIAM. func (m *DocumentDBHostIAM) GetName() string { return m.Name } // SetName sets the name of the DocumentDBHostIAM. func (m *DocumentDBHostIAM) SetName(v string) { m.Name = v } // GetTags returns the tags of the DocumentDBHostIAM. func (m *DocumentDBHostIAM) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the DocumentDBHostIAM. func (m *DocumentDBHostIAM) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the DocumentDBHostIAM. func (m *DocumentDBHostIAM) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the DocumentDBHostIAM. func (m *DocumentDBHostIAM) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the DocumentDBHostIAM. func (m *DocumentDBHostIAM) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the DocumentDBHostIAM. func (m *DocumentDBHostIAM) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the DocumentDBHostIAM. func (m *DocumentDBHostIAM) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the DocumentDBHostIAM. func (m *DocumentDBHostIAM) SetBindInterface(v string) { m.BindInterface = v } func (*DocumentDBReplicaSet) isOneOf_Resource() {} // GetID returns the unique identifier of the DocumentDBReplicaSet. func (m *DocumentDBReplicaSet) GetID() string { return m.ID } // GetName returns the name of the DocumentDBReplicaSet. func (m *DocumentDBReplicaSet) GetName() string { return m.Name } // SetName sets the name of the DocumentDBReplicaSet. func (m *DocumentDBReplicaSet) SetName(v string) { m.Name = v } // GetTags returns the tags of the DocumentDBReplicaSet. func (m *DocumentDBReplicaSet) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the DocumentDBReplicaSet. func (m *DocumentDBReplicaSet) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the DocumentDBReplicaSet. func (m *DocumentDBReplicaSet) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the DocumentDBReplicaSet. func (m *DocumentDBReplicaSet) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the DocumentDBReplicaSet. func (m *DocumentDBReplicaSet) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the DocumentDBReplicaSet. func (m *DocumentDBReplicaSet) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the DocumentDBReplicaSet. func (m *DocumentDBReplicaSet) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the DocumentDBReplicaSet. func (m *DocumentDBReplicaSet) SetBindInterface(v string) { m.BindInterface = v } func (*DocumentDBReplicaSetIAM) isOneOf_Resource() {} // GetID returns the unique identifier of the DocumentDBReplicaSetIAM. func (m *DocumentDBReplicaSetIAM) GetID() string { return m.ID } // GetName returns the name of the DocumentDBReplicaSetIAM. func (m *DocumentDBReplicaSetIAM) GetName() string { return m.Name } // SetName sets the name of the DocumentDBReplicaSetIAM. func (m *DocumentDBReplicaSetIAM) SetName(v string) { m.Name = v } // GetTags returns the tags of the DocumentDBReplicaSetIAM. func (m *DocumentDBReplicaSetIAM) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the DocumentDBReplicaSetIAM. func (m *DocumentDBReplicaSetIAM) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the DocumentDBReplicaSetIAM. func (m *DocumentDBReplicaSetIAM) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the DocumentDBReplicaSetIAM. func (m *DocumentDBReplicaSetIAM) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the DocumentDBReplicaSetIAM. func (m *DocumentDBReplicaSetIAM) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the DocumentDBReplicaSetIAM. func (m *DocumentDBReplicaSetIAM) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the DocumentDBReplicaSetIAM. func (m *DocumentDBReplicaSetIAM) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the DocumentDBReplicaSetIAM. func (m *DocumentDBReplicaSetIAM) SetBindInterface(v string) { m.BindInterface = v } func (*Druid) isOneOf_Resource() {} // GetID returns the unique identifier of the Druid. func (m *Druid) GetID() string { return m.ID } // GetName returns the name of the Druid. func (m *Druid) GetName() string { return m.Name } // SetName sets the name of the Druid. func (m *Druid) SetName(v string) { m.Name = v } // GetTags returns the tags of the Druid. func (m *Druid) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Druid. func (m *Druid) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Druid. func (m *Druid) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Druid. func (m *Druid) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Druid. func (m *Druid) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Druid. func (m *Druid) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Druid. func (m *Druid) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Druid. func (m *Druid) SetBindInterface(v string) { m.BindInterface = v } func (*DynamoDB) isOneOf_Resource() {} // GetID returns the unique identifier of the DynamoDB. func (m *DynamoDB) GetID() string { return m.ID } // GetName returns the name of the DynamoDB. func (m *DynamoDB) GetName() string { return m.Name } // SetName sets the name of the DynamoDB. func (m *DynamoDB) SetName(v string) { m.Name = v } // GetTags returns the tags of the DynamoDB. func (m *DynamoDB) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the DynamoDB. func (m *DynamoDB) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the DynamoDB. func (m *DynamoDB) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the DynamoDB. func (m *DynamoDB) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the DynamoDB. func (m *DynamoDB) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the DynamoDB. func (m *DynamoDB) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the DynamoDB. func (m *DynamoDB) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the DynamoDB. func (m *DynamoDB) SetBindInterface(v string) { m.BindInterface = v } func (*DynamoDBIAM) isOneOf_Resource() {} // GetID returns the unique identifier of the DynamoDBIAM. func (m *DynamoDBIAM) GetID() string { return m.ID } // GetName returns the name of the DynamoDBIAM. func (m *DynamoDBIAM) GetName() string { return m.Name } // SetName sets the name of the DynamoDBIAM. func (m *DynamoDBIAM) SetName(v string) { m.Name = v } // GetTags returns the tags of the DynamoDBIAM. func (m *DynamoDBIAM) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the DynamoDBIAM. func (m *DynamoDBIAM) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the DynamoDBIAM. func (m *DynamoDBIAM) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the DynamoDBIAM. func (m *DynamoDBIAM) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the DynamoDBIAM. func (m *DynamoDBIAM) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the DynamoDBIAM. func (m *DynamoDBIAM) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the DynamoDBIAM. func (m *DynamoDBIAM) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the DynamoDBIAM. func (m *DynamoDBIAM) SetBindInterface(v string) { m.BindInterface = v } func (*Elastic) isOneOf_Resource() {} // GetID returns the unique identifier of the Elastic. func (m *Elastic) GetID() string { return m.ID } // GetName returns the name of the Elastic. func (m *Elastic) GetName() string { return m.Name } // SetName sets the name of the Elastic. func (m *Elastic) SetName(v string) { m.Name = v } // GetTags returns the tags of the Elastic. func (m *Elastic) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Elastic. func (m *Elastic) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Elastic. func (m *Elastic) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Elastic. func (m *Elastic) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Elastic. func (m *Elastic) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Elastic. func (m *Elastic) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Elastic. func (m *Elastic) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Elastic. func (m *Elastic) SetBindInterface(v string) { m.BindInterface = v } func (*ElasticacheRedis) isOneOf_Resource() {} // GetID returns the unique identifier of the ElasticacheRedis. func (m *ElasticacheRedis) GetID() string { return m.ID } // GetName returns the name of the ElasticacheRedis. func (m *ElasticacheRedis) GetName() string { return m.Name } // SetName sets the name of the ElasticacheRedis. func (m *ElasticacheRedis) SetName(v string) { m.Name = v } // GetTags returns the tags of the ElasticacheRedis. func (m *ElasticacheRedis) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the ElasticacheRedis. func (m *ElasticacheRedis) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the ElasticacheRedis. func (m *ElasticacheRedis) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the ElasticacheRedis. func (m *ElasticacheRedis) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the ElasticacheRedis. func (m *ElasticacheRedis) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the ElasticacheRedis. func (m *ElasticacheRedis) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the ElasticacheRedis. func (m *ElasticacheRedis) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the ElasticacheRedis. func (m *ElasticacheRedis) SetBindInterface(v string) { m.BindInterface = v } func (*ElasticacheRedisIAM) isOneOf_Resource() {} // GetID returns the unique identifier of the ElasticacheRedisIAM. func (m *ElasticacheRedisIAM) GetID() string { return m.ID } // GetName returns the name of the ElasticacheRedisIAM. func (m *ElasticacheRedisIAM) GetName() string { return m.Name } // SetName sets the name of the ElasticacheRedisIAM. func (m *ElasticacheRedisIAM) SetName(v string) { m.Name = v } // GetTags returns the tags of the ElasticacheRedisIAM. func (m *ElasticacheRedisIAM) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the ElasticacheRedisIAM. func (m *ElasticacheRedisIAM) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the ElasticacheRedisIAM. func (m *ElasticacheRedisIAM) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the ElasticacheRedisIAM. func (m *ElasticacheRedisIAM) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the ElasticacheRedisIAM. func (m *ElasticacheRedisIAM) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the ElasticacheRedisIAM. func (m *ElasticacheRedisIAM) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the ElasticacheRedisIAM. func (m *ElasticacheRedisIAM) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the ElasticacheRedisIAM. func (m *ElasticacheRedisIAM) SetBindInterface(v string) { m.BindInterface = v } func (*EntraID) isOneOf_Resource() {} // GetID returns the unique identifier of the EntraID. func (m *EntraID) GetID() string { return m.ID } // GetName returns the name of the EntraID. func (m *EntraID) GetName() string { return m.Name } // SetName sets the name of the EntraID. func (m *EntraID) SetName(v string) { m.Name = v } // GetTags returns the tags of the EntraID. func (m *EntraID) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the EntraID. func (m *EntraID) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the EntraID. func (m *EntraID) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the EntraID. func (m *EntraID) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the EntraID. func (m *EntraID) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the EntraID. func (m *EntraID) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the EntraID. func (m *EntraID) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the EntraID. func (m *EntraID) SetBindInterface(v string) { m.BindInterface = v } func (*GCP) isOneOf_Resource() {} // GetID returns the unique identifier of the GCP. func (m *GCP) GetID() string { return m.ID } // GetName returns the name of the GCP. func (m *GCP) GetName() string { return m.Name } // SetName sets the name of the GCP. func (m *GCP) SetName(v string) { m.Name = v } // GetTags returns the tags of the GCP. func (m *GCP) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the GCP. func (m *GCP) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the GCP. func (m *GCP) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the GCP. func (m *GCP) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the GCP. func (m *GCP) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the GCP. func (m *GCP) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the GCP. func (m *GCP) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the GCP. func (m *GCP) SetBindInterface(v string) { m.BindInterface = v } func (*GCPConsole) isOneOf_Resource() {} // GetID returns the unique identifier of the GCPConsole. func (m *GCPConsole) GetID() string { return m.ID } // GetName returns the name of the GCPConsole. func (m *GCPConsole) GetName() string { return m.Name } // SetName sets the name of the GCPConsole. func (m *GCPConsole) SetName(v string) { m.Name = v } // GetTags returns the tags of the GCPConsole. func (m *GCPConsole) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the GCPConsole. func (m *GCPConsole) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the GCPConsole. func (m *GCPConsole) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the GCPConsole. func (m *GCPConsole) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the GCPConsole. func (m *GCPConsole) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the GCPConsole. func (m *GCPConsole) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the GCPConsole. func (m *GCPConsole) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the GCPConsole. func (m *GCPConsole) SetBindInterface(v string) { m.BindInterface = v } func (*GCPWIF) isOneOf_Resource() {} // GetID returns the unique identifier of the GCPWIF. func (m *GCPWIF) GetID() string { return m.ID } // GetName returns the name of the GCPWIF. func (m *GCPWIF) GetName() string { return m.Name } // SetName sets the name of the GCPWIF. func (m *GCPWIF) SetName(v string) { m.Name = v } // GetTags returns the tags of the GCPWIF. func (m *GCPWIF) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the GCPWIF. func (m *GCPWIF) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the GCPWIF. func (m *GCPWIF) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the GCPWIF. func (m *GCPWIF) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the GCPWIF. func (m *GCPWIF) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the GCPWIF. func (m *GCPWIF) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the GCPWIF. func (m *GCPWIF) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the GCPWIF. func (m *GCPWIF) SetBindInterface(v string) { m.BindInterface = v } func (*GoogleGKE) isOneOf_Resource() {} // GetID returns the unique identifier of the GoogleGKE. func (m *GoogleGKE) GetID() string { return m.ID } // GetName returns the name of the GoogleGKE. func (m *GoogleGKE) GetName() string { return m.Name } // SetName sets the name of the GoogleGKE. func (m *GoogleGKE) SetName(v string) { m.Name = v } // GetTags returns the tags of the GoogleGKE. func (m *GoogleGKE) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the GoogleGKE. func (m *GoogleGKE) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the GoogleGKE. func (m *GoogleGKE) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the GoogleGKE. func (m *GoogleGKE) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the GoogleGKE. func (m *GoogleGKE) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the GoogleGKE. func (m *GoogleGKE) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the GoogleGKE. func (m *GoogleGKE) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the GoogleGKE. func (m *GoogleGKE) SetBindInterface(v string) { m.BindInterface = v } func (*GoogleGKEUserImpersonation) isOneOf_Resource() {} // GetID returns the unique identifier of the GoogleGKEUserImpersonation. func (m *GoogleGKEUserImpersonation) GetID() string { return m.ID } // GetName returns the name of the GoogleGKEUserImpersonation. func (m *GoogleGKEUserImpersonation) GetName() string { return m.Name } // SetName sets the name of the GoogleGKEUserImpersonation. func (m *GoogleGKEUserImpersonation) SetName(v string) { m.Name = v } // GetTags returns the tags of the GoogleGKEUserImpersonation. func (m *GoogleGKEUserImpersonation) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the GoogleGKEUserImpersonation. func (m *GoogleGKEUserImpersonation) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the GoogleGKEUserImpersonation. func (m *GoogleGKEUserImpersonation) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the GoogleGKEUserImpersonation. func (m *GoogleGKEUserImpersonation) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the GoogleGKEUserImpersonation. func (m *GoogleGKEUserImpersonation) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the GoogleGKEUserImpersonation. func (m *GoogleGKEUserImpersonation) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the GoogleGKEUserImpersonation. func (m *GoogleGKEUserImpersonation) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the GoogleGKEUserImpersonation. func (m *GoogleGKEUserImpersonation) SetBindInterface(v string) { m.BindInterface = v } func (*GoogleGroups) isOneOf_Resource() {} // GetID returns the unique identifier of the GoogleGroups. func (m *GoogleGroups) GetID() string { return m.ID } // GetName returns the name of the GoogleGroups. func (m *GoogleGroups) GetName() string { return m.Name } // SetName sets the name of the GoogleGroups. func (m *GoogleGroups) SetName(v string) { m.Name = v } // GetTags returns the tags of the GoogleGroups. func (m *GoogleGroups) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the GoogleGroups. func (m *GoogleGroups) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the GoogleGroups. func (m *GoogleGroups) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the GoogleGroups. func (m *GoogleGroups) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the GoogleGroups. func (m *GoogleGroups) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the GoogleGroups. func (m *GoogleGroups) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the GoogleGroups. func (m *GoogleGroups) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the GoogleGroups. func (m *GoogleGroups) SetBindInterface(v string) { m.BindInterface = v } func (*GoogleSpanner) isOneOf_Resource() {} // GetID returns the unique identifier of the GoogleSpanner. func (m *GoogleSpanner) GetID() string { return m.ID } // GetName returns the name of the GoogleSpanner. func (m *GoogleSpanner) GetName() string { return m.Name } // SetName sets the name of the GoogleSpanner. func (m *GoogleSpanner) SetName(v string) { m.Name = v } // GetTags returns the tags of the GoogleSpanner. func (m *GoogleSpanner) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the GoogleSpanner. func (m *GoogleSpanner) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the GoogleSpanner. func (m *GoogleSpanner) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the GoogleSpanner. func (m *GoogleSpanner) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the GoogleSpanner. func (m *GoogleSpanner) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the GoogleSpanner. func (m *GoogleSpanner) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the GoogleSpanner. func (m *GoogleSpanner) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the GoogleSpanner. func (m *GoogleSpanner) SetBindInterface(v string) { m.BindInterface = v } func (*Greenplum) isOneOf_Resource() {} // GetID returns the unique identifier of the Greenplum. func (m *Greenplum) GetID() string { return m.ID } // GetName returns the name of the Greenplum. func (m *Greenplum) GetName() string { return m.Name } // SetName sets the name of the Greenplum. func (m *Greenplum) SetName(v string) { m.Name = v } // GetTags returns the tags of the Greenplum. func (m *Greenplum) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Greenplum. func (m *Greenplum) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Greenplum. func (m *Greenplum) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Greenplum. func (m *Greenplum) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Greenplum. func (m *Greenplum) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Greenplum. func (m *Greenplum) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Greenplum. func (m *Greenplum) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Greenplum. func (m *Greenplum) SetBindInterface(v string) { m.BindInterface = v } func (*HTTPAuth) isOneOf_Resource() {} // GetID returns the unique identifier of the HTTPAuth. func (m *HTTPAuth) GetID() string { return m.ID } // GetName returns the name of the HTTPAuth. func (m *HTTPAuth) GetName() string { return m.Name } // SetName sets the name of the HTTPAuth. func (m *HTTPAuth) SetName(v string) { m.Name = v } // GetTags returns the tags of the HTTPAuth. func (m *HTTPAuth) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the HTTPAuth. func (m *HTTPAuth) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the HTTPAuth. func (m *HTTPAuth) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the HTTPAuth. func (m *HTTPAuth) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the HTTPAuth. func (m *HTTPAuth) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the HTTPAuth. func (m *HTTPAuth) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the HTTPAuth. func (m *HTTPAuth) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the HTTPAuth. func (m *HTTPAuth) SetBindInterface(v string) { m.BindInterface = v } func (*HTTPBasicAuth) isOneOf_Resource() {} // GetID returns the unique identifier of the HTTPBasicAuth. func (m *HTTPBasicAuth) GetID() string { return m.ID } // GetName returns the name of the HTTPBasicAuth. func (m *HTTPBasicAuth) GetName() string { return m.Name } // SetName sets the name of the HTTPBasicAuth. func (m *HTTPBasicAuth) SetName(v string) { m.Name = v } // GetTags returns the tags of the HTTPBasicAuth. func (m *HTTPBasicAuth) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the HTTPBasicAuth. func (m *HTTPBasicAuth) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the HTTPBasicAuth. func (m *HTTPBasicAuth) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the HTTPBasicAuth. func (m *HTTPBasicAuth) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the HTTPBasicAuth. func (m *HTTPBasicAuth) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the HTTPBasicAuth. func (m *HTTPBasicAuth) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the HTTPBasicAuth. func (m *HTTPBasicAuth) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the HTTPBasicAuth. func (m *HTTPBasicAuth) SetBindInterface(v string) { m.BindInterface = v } func (*HTTPNoAuth) isOneOf_Resource() {} // GetID returns the unique identifier of the HTTPNoAuth. func (m *HTTPNoAuth) GetID() string { return m.ID } // GetName returns the name of the HTTPNoAuth. func (m *HTTPNoAuth) GetName() string { return m.Name } // SetName sets the name of the HTTPNoAuth. func (m *HTTPNoAuth) SetName(v string) { m.Name = v } // GetTags returns the tags of the HTTPNoAuth. func (m *HTTPNoAuth) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the HTTPNoAuth. func (m *HTTPNoAuth) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the HTTPNoAuth. func (m *HTTPNoAuth) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the HTTPNoAuth. func (m *HTTPNoAuth) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the HTTPNoAuth. func (m *HTTPNoAuth) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the HTTPNoAuth. func (m *HTTPNoAuth) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the HTTPNoAuth. func (m *HTTPNoAuth) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the HTTPNoAuth. func (m *HTTPNoAuth) SetBindInterface(v string) { m.BindInterface = v } func (*Kubernetes) isOneOf_Resource() {} // GetID returns the unique identifier of the Kubernetes. func (m *Kubernetes) GetID() string { return m.ID } // GetName returns the name of the Kubernetes. func (m *Kubernetes) GetName() string { return m.Name } // SetName sets the name of the Kubernetes. func (m *Kubernetes) SetName(v string) { m.Name = v } // GetTags returns the tags of the Kubernetes. func (m *Kubernetes) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Kubernetes. func (m *Kubernetes) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Kubernetes. func (m *Kubernetes) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Kubernetes. func (m *Kubernetes) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Kubernetes. func (m *Kubernetes) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Kubernetes. func (m *Kubernetes) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Kubernetes. func (m *Kubernetes) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Kubernetes. func (m *Kubernetes) SetBindInterface(v string) { m.BindInterface = v } func (*KubernetesBasicAuth) isOneOf_Resource() {} // GetID returns the unique identifier of the KubernetesBasicAuth. func (m *KubernetesBasicAuth) GetID() string { return m.ID } // GetName returns the name of the KubernetesBasicAuth. func (m *KubernetesBasicAuth) GetName() string { return m.Name } // SetName sets the name of the KubernetesBasicAuth. func (m *KubernetesBasicAuth) SetName(v string) { m.Name = v } // GetTags returns the tags of the KubernetesBasicAuth. func (m *KubernetesBasicAuth) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the KubernetesBasicAuth. func (m *KubernetesBasicAuth) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the KubernetesBasicAuth. func (m *KubernetesBasicAuth) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the KubernetesBasicAuth. func (m *KubernetesBasicAuth) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the KubernetesBasicAuth. func (m *KubernetesBasicAuth) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the KubernetesBasicAuth. func (m *KubernetesBasicAuth) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the KubernetesBasicAuth. func (m *KubernetesBasicAuth) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the KubernetesBasicAuth. func (m *KubernetesBasicAuth) SetBindInterface(v string) { m.BindInterface = v } func (*KubernetesPodIdentity) isOneOf_Resource() {} // GetID returns the unique identifier of the KubernetesPodIdentity. func (m *KubernetesPodIdentity) GetID() string { return m.ID } // GetName returns the name of the KubernetesPodIdentity. func (m *KubernetesPodIdentity) GetName() string { return m.Name } // SetName sets the name of the KubernetesPodIdentity. func (m *KubernetesPodIdentity) SetName(v string) { m.Name = v } // GetTags returns the tags of the KubernetesPodIdentity. func (m *KubernetesPodIdentity) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the KubernetesPodIdentity. func (m *KubernetesPodIdentity) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the KubernetesPodIdentity. func (m *KubernetesPodIdentity) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the KubernetesPodIdentity. func (m *KubernetesPodIdentity) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the KubernetesPodIdentity. func (m *KubernetesPodIdentity) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the KubernetesPodIdentity. func (m *KubernetesPodIdentity) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the KubernetesPodIdentity. func (m *KubernetesPodIdentity) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the KubernetesPodIdentity. func (m *KubernetesPodIdentity) SetBindInterface(v string) { m.BindInterface = v } func (*KubernetesServiceAccount) isOneOf_Resource() {} // GetID returns the unique identifier of the KubernetesServiceAccount. func (m *KubernetesServiceAccount) GetID() string { return m.ID } // GetName returns the name of the KubernetesServiceAccount. func (m *KubernetesServiceAccount) GetName() string { return m.Name } // SetName sets the name of the KubernetesServiceAccount. func (m *KubernetesServiceAccount) SetName(v string) { m.Name = v } // GetTags returns the tags of the KubernetesServiceAccount. func (m *KubernetesServiceAccount) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the KubernetesServiceAccount. func (m *KubernetesServiceAccount) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the KubernetesServiceAccount. func (m *KubernetesServiceAccount) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the KubernetesServiceAccount. func (m *KubernetesServiceAccount) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the KubernetesServiceAccount. func (m *KubernetesServiceAccount) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the KubernetesServiceAccount. func (m *KubernetesServiceAccount) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the KubernetesServiceAccount. func (m *KubernetesServiceAccount) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the KubernetesServiceAccount. func (m *KubernetesServiceAccount) SetBindInterface(v string) { m.BindInterface = v } func (*KubernetesServiceAccountUserImpersonation) isOneOf_Resource() {} // GetID returns the unique identifier of the KubernetesServiceAccountUserImpersonation. func (m *KubernetesServiceAccountUserImpersonation) GetID() string { return m.ID } // GetName returns the name of the KubernetesServiceAccountUserImpersonation. func (m *KubernetesServiceAccountUserImpersonation) GetName() string { return m.Name } // SetName sets the name of the KubernetesServiceAccountUserImpersonation. func (m *KubernetesServiceAccountUserImpersonation) SetName(v string) { m.Name = v } // GetTags returns the tags of the KubernetesServiceAccountUserImpersonation. func (m *KubernetesServiceAccountUserImpersonation) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the KubernetesServiceAccountUserImpersonation. func (m *KubernetesServiceAccountUserImpersonation) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the KubernetesServiceAccountUserImpersonation. func (m *KubernetesServiceAccountUserImpersonation) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the KubernetesServiceAccountUserImpersonation. func (m *KubernetesServiceAccountUserImpersonation) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the KubernetesServiceAccountUserImpersonation. func (m *KubernetesServiceAccountUserImpersonation) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the KubernetesServiceAccountUserImpersonation. func (m *KubernetesServiceAccountUserImpersonation) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the KubernetesServiceAccountUserImpersonation. func (m *KubernetesServiceAccountUserImpersonation) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the KubernetesServiceAccountUserImpersonation. func (m *KubernetesServiceAccountUserImpersonation) SetBindInterface(v string) { m.BindInterface = v } func (*KubernetesUserImpersonation) isOneOf_Resource() {} // GetID returns the unique identifier of the KubernetesUserImpersonation. func (m *KubernetesUserImpersonation) GetID() string { return m.ID } // GetName returns the name of the KubernetesUserImpersonation. func (m *KubernetesUserImpersonation) GetName() string { return m.Name } // SetName sets the name of the KubernetesUserImpersonation. func (m *KubernetesUserImpersonation) SetName(v string) { m.Name = v } // GetTags returns the tags of the KubernetesUserImpersonation. func (m *KubernetesUserImpersonation) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the KubernetesUserImpersonation. func (m *KubernetesUserImpersonation) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the KubernetesUserImpersonation. func (m *KubernetesUserImpersonation) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the KubernetesUserImpersonation. func (m *KubernetesUserImpersonation) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the KubernetesUserImpersonation. func (m *KubernetesUserImpersonation) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the KubernetesUserImpersonation. func (m *KubernetesUserImpersonation) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the KubernetesUserImpersonation. func (m *KubernetesUserImpersonation) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the KubernetesUserImpersonation. func (m *KubernetesUserImpersonation) SetBindInterface(v string) { m.BindInterface = v } func (*LLM) isOneOf_Resource() {} // GetID returns the unique identifier of the LLM. func (m *LLM) GetID() string { return m.ID } // GetName returns the name of the LLM. func (m *LLM) GetName() string { return m.Name } // SetName sets the name of the LLM. func (m *LLM) SetName(v string) { m.Name = v } // GetTags returns the tags of the LLM. func (m *LLM) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the LLM. func (m *LLM) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the LLM. func (m *LLM) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the LLM. func (m *LLM) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the LLM. func (m *LLM) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the LLM. func (m *LLM) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the LLM. func (m *LLM) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the LLM. func (m *LLM) SetBindInterface(v string) { m.BindInterface = v } func (*Maria) isOneOf_Resource() {} // GetID returns the unique identifier of the Maria. func (m *Maria) GetID() string { return m.ID } // GetName returns the name of the Maria. func (m *Maria) GetName() string { return m.Name } // SetName sets the name of the Maria. func (m *Maria) SetName(v string) { m.Name = v } // GetTags returns the tags of the Maria. func (m *Maria) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Maria. func (m *Maria) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Maria. func (m *Maria) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Maria. func (m *Maria) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Maria. func (m *Maria) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Maria. func (m *Maria) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Maria. func (m *Maria) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Maria. func (m *Maria) SetBindInterface(v string) { m.BindInterface = v } func (*MCPGatewayNoAuth) isOneOf_Resource() {} // GetID returns the unique identifier of the MCPGatewayNoAuth. func (m *MCPGatewayNoAuth) GetID() string { return m.ID } // GetName returns the name of the MCPGatewayNoAuth. func (m *MCPGatewayNoAuth) GetName() string { return m.Name } // SetName sets the name of the MCPGatewayNoAuth. func (m *MCPGatewayNoAuth) SetName(v string) { m.Name = v } // GetTags returns the tags of the MCPGatewayNoAuth. func (m *MCPGatewayNoAuth) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the MCPGatewayNoAuth. func (m *MCPGatewayNoAuth) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the MCPGatewayNoAuth. func (m *MCPGatewayNoAuth) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the MCPGatewayNoAuth. func (m *MCPGatewayNoAuth) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the MCPGatewayNoAuth. func (m *MCPGatewayNoAuth) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the MCPGatewayNoAuth. func (m *MCPGatewayNoAuth) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the MCPGatewayNoAuth. func (m *MCPGatewayNoAuth) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the MCPGatewayNoAuth. func (m *MCPGatewayNoAuth) SetBindInterface(v string) { m.BindInterface = v } func (*MCPGatewayOAuth) isOneOf_Resource() {} // GetID returns the unique identifier of the MCPGatewayOAuth. func (m *MCPGatewayOAuth) GetID() string { return m.ID } // GetName returns the name of the MCPGatewayOAuth. func (m *MCPGatewayOAuth) GetName() string { return m.Name } // SetName sets the name of the MCPGatewayOAuth. func (m *MCPGatewayOAuth) SetName(v string) { m.Name = v } // GetTags returns the tags of the MCPGatewayOAuth. func (m *MCPGatewayOAuth) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the MCPGatewayOAuth. func (m *MCPGatewayOAuth) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the MCPGatewayOAuth. func (m *MCPGatewayOAuth) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the MCPGatewayOAuth. func (m *MCPGatewayOAuth) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the MCPGatewayOAuth. func (m *MCPGatewayOAuth) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the MCPGatewayOAuth. func (m *MCPGatewayOAuth) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the MCPGatewayOAuth. func (m *MCPGatewayOAuth) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the MCPGatewayOAuth. func (m *MCPGatewayOAuth) SetBindInterface(v string) { m.BindInterface = v } func (*MCPGatewayOAuthDCR) isOneOf_Resource() {} // GetID returns the unique identifier of the MCPGatewayOAuthDCR. func (m *MCPGatewayOAuthDCR) GetID() string { return m.ID } // GetName returns the name of the MCPGatewayOAuthDCR. func (m *MCPGatewayOAuthDCR) GetName() string { return m.Name } // SetName sets the name of the MCPGatewayOAuthDCR. func (m *MCPGatewayOAuthDCR) SetName(v string) { m.Name = v } // GetTags returns the tags of the MCPGatewayOAuthDCR. func (m *MCPGatewayOAuthDCR) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the MCPGatewayOAuthDCR. func (m *MCPGatewayOAuthDCR) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the MCPGatewayOAuthDCR. func (m *MCPGatewayOAuthDCR) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the MCPGatewayOAuthDCR. func (m *MCPGatewayOAuthDCR) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the MCPGatewayOAuthDCR. func (m *MCPGatewayOAuthDCR) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the MCPGatewayOAuthDCR. func (m *MCPGatewayOAuthDCR) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the MCPGatewayOAuthDCR. func (m *MCPGatewayOAuthDCR) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the MCPGatewayOAuthDCR. func (m *MCPGatewayOAuthDCR) SetBindInterface(v string) { m.BindInterface = v } func (*MCPGatewayPAT) isOneOf_Resource() {} // GetID returns the unique identifier of the MCPGatewayPAT. func (m *MCPGatewayPAT) GetID() string { return m.ID } // GetName returns the name of the MCPGatewayPAT. func (m *MCPGatewayPAT) GetName() string { return m.Name } // SetName sets the name of the MCPGatewayPAT. func (m *MCPGatewayPAT) SetName(v string) { m.Name = v } // GetTags returns the tags of the MCPGatewayPAT. func (m *MCPGatewayPAT) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the MCPGatewayPAT. func (m *MCPGatewayPAT) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the MCPGatewayPAT. func (m *MCPGatewayPAT) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the MCPGatewayPAT. func (m *MCPGatewayPAT) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the MCPGatewayPAT. func (m *MCPGatewayPAT) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the MCPGatewayPAT. func (m *MCPGatewayPAT) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the MCPGatewayPAT. func (m *MCPGatewayPAT) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the MCPGatewayPAT. func (m *MCPGatewayPAT) SetBindInterface(v string) { m.BindInterface = v } func (*Memcached) isOneOf_Resource() {} // GetID returns the unique identifier of the Memcached. func (m *Memcached) GetID() string { return m.ID } // GetName returns the name of the Memcached. func (m *Memcached) GetName() string { return m.Name } // SetName sets the name of the Memcached. func (m *Memcached) SetName(v string) { m.Name = v } // GetTags returns the tags of the Memcached. func (m *Memcached) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Memcached. func (m *Memcached) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Memcached. func (m *Memcached) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Memcached. func (m *Memcached) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Memcached. func (m *Memcached) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Memcached. func (m *Memcached) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Memcached. func (m *Memcached) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Memcached. func (m *Memcached) SetBindInterface(v string) { m.BindInterface = v } func (*Memsql) isOneOf_Resource() {} // GetID returns the unique identifier of the Memsql. func (m *Memsql) GetID() string { return m.ID } // GetName returns the name of the Memsql. func (m *Memsql) GetName() string { return m.Name } // SetName sets the name of the Memsql. func (m *Memsql) SetName(v string) { m.Name = v } // GetTags returns the tags of the Memsql. func (m *Memsql) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Memsql. func (m *Memsql) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Memsql. func (m *Memsql) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Memsql. func (m *Memsql) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Memsql. func (m *Memsql) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Memsql. func (m *Memsql) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Memsql. func (m *Memsql) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Memsql. func (m *Memsql) SetBindInterface(v string) { m.BindInterface = v } func (*MongoHost) isOneOf_Resource() {} // GetID returns the unique identifier of the MongoHost. func (m *MongoHost) GetID() string { return m.ID } // GetName returns the name of the MongoHost. func (m *MongoHost) GetName() string { return m.Name } // SetName sets the name of the MongoHost. func (m *MongoHost) SetName(v string) { m.Name = v } // GetTags returns the tags of the MongoHost. func (m *MongoHost) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the MongoHost. func (m *MongoHost) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the MongoHost. func (m *MongoHost) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the MongoHost. func (m *MongoHost) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the MongoHost. func (m *MongoHost) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the MongoHost. func (m *MongoHost) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the MongoHost. func (m *MongoHost) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the MongoHost. func (m *MongoHost) SetBindInterface(v string) { m.BindInterface = v } func (*MongoLegacyHost) isOneOf_Resource() {} // GetID returns the unique identifier of the MongoLegacyHost. func (m *MongoLegacyHost) GetID() string { return m.ID } // GetName returns the name of the MongoLegacyHost. func (m *MongoLegacyHost) GetName() string { return m.Name } // SetName sets the name of the MongoLegacyHost. func (m *MongoLegacyHost) SetName(v string) { m.Name = v } // GetTags returns the tags of the MongoLegacyHost. func (m *MongoLegacyHost) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the MongoLegacyHost. func (m *MongoLegacyHost) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the MongoLegacyHost. func (m *MongoLegacyHost) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the MongoLegacyHost. func (m *MongoLegacyHost) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the MongoLegacyHost. func (m *MongoLegacyHost) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the MongoLegacyHost. func (m *MongoLegacyHost) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the MongoLegacyHost. func (m *MongoLegacyHost) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the MongoLegacyHost. func (m *MongoLegacyHost) SetBindInterface(v string) { m.BindInterface = v } func (*MongoLegacyReplicaset) isOneOf_Resource() {} // GetID returns the unique identifier of the MongoLegacyReplicaset. func (m *MongoLegacyReplicaset) GetID() string { return m.ID } // GetName returns the name of the MongoLegacyReplicaset. func (m *MongoLegacyReplicaset) GetName() string { return m.Name } // SetName sets the name of the MongoLegacyReplicaset. func (m *MongoLegacyReplicaset) SetName(v string) { m.Name = v } // GetTags returns the tags of the MongoLegacyReplicaset. func (m *MongoLegacyReplicaset) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the MongoLegacyReplicaset. func (m *MongoLegacyReplicaset) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the MongoLegacyReplicaset. func (m *MongoLegacyReplicaset) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the MongoLegacyReplicaset. func (m *MongoLegacyReplicaset) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the MongoLegacyReplicaset. func (m *MongoLegacyReplicaset) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the MongoLegacyReplicaset. func (m *MongoLegacyReplicaset) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the MongoLegacyReplicaset. func (m *MongoLegacyReplicaset) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the MongoLegacyReplicaset. func (m *MongoLegacyReplicaset) SetBindInterface(v string) { m.BindInterface = v } func (*MongoReplicaSet) isOneOf_Resource() {} // GetID returns the unique identifier of the MongoReplicaSet. func (m *MongoReplicaSet) GetID() string { return m.ID } // GetName returns the name of the MongoReplicaSet. func (m *MongoReplicaSet) GetName() string { return m.Name } // SetName sets the name of the MongoReplicaSet. func (m *MongoReplicaSet) SetName(v string) { m.Name = v } // GetTags returns the tags of the MongoReplicaSet. func (m *MongoReplicaSet) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the MongoReplicaSet. func (m *MongoReplicaSet) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the MongoReplicaSet. func (m *MongoReplicaSet) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the MongoReplicaSet. func (m *MongoReplicaSet) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the MongoReplicaSet. func (m *MongoReplicaSet) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the MongoReplicaSet. func (m *MongoReplicaSet) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the MongoReplicaSet. func (m *MongoReplicaSet) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the MongoReplicaSet. func (m *MongoReplicaSet) SetBindInterface(v string) { m.BindInterface = v } func (*MongoShardedCluster) isOneOf_Resource() {} // GetID returns the unique identifier of the MongoShardedCluster. func (m *MongoShardedCluster) GetID() string { return m.ID } // GetName returns the name of the MongoShardedCluster. func (m *MongoShardedCluster) GetName() string { return m.Name } // SetName sets the name of the MongoShardedCluster. func (m *MongoShardedCluster) SetName(v string) { m.Name = v } // GetTags returns the tags of the MongoShardedCluster. func (m *MongoShardedCluster) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the MongoShardedCluster. func (m *MongoShardedCluster) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the MongoShardedCluster. func (m *MongoShardedCluster) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the MongoShardedCluster. func (m *MongoShardedCluster) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the MongoShardedCluster. func (m *MongoShardedCluster) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the MongoShardedCluster. func (m *MongoShardedCluster) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the MongoShardedCluster. func (m *MongoShardedCluster) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the MongoShardedCluster. func (m *MongoShardedCluster) SetBindInterface(v string) { m.BindInterface = v } func (*MTLSMysql) isOneOf_Resource() {} // GetID returns the unique identifier of the MTLSMysql. func (m *MTLSMysql) GetID() string { return m.ID } // GetName returns the name of the MTLSMysql. func (m *MTLSMysql) GetName() string { return m.Name } // SetName sets the name of the MTLSMysql. func (m *MTLSMysql) SetName(v string) { m.Name = v } // GetTags returns the tags of the MTLSMysql. func (m *MTLSMysql) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the MTLSMysql. func (m *MTLSMysql) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the MTLSMysql. func (m *MTLSMysql) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the MTLSMysql. func (m *MTLSMysql) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the MTLSMysql. func (m *MTLSMysql) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the MTLSMysql. func (m *MTLSMysql) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the MTLSMysql. func (m *MTLSMysql) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the MTLSMysql. func (m *MTLSMysql) SetBindInterface(v string) { m.BindInterface = v } func (*MTLSPostgres) isOneOf_Resource() {} // GetID returns the unique identifier of the MTLSPostgres. func (m *MTLSPostgres) GetID() string { return m.ID } // GetName returns the name of the MTLSPostgres. func (m *MTLSPostgres) GetName() string { return m.Name } // SetName sets the name of the MTLSPostgres. func (m *MTLSPostgres) SetName(v string) { m.Name = v } // GetTags returns the tags of the MTLSPostgres. func (m *MTLSPostgres) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the MTLSPostgres. func (m *MTLSPostgres) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the MTLSPostgres. func (m *MTLSPostgres) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the MTLSPostgres. func (m *MTLSPostgres) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the MTLSPostgres. func (m *MTLSPostgres) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the MTLSPostgres. func (m *MTLSPostgres) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the MTLSPostgres. func (m *MTLSPostgres) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the MTLSPostgres. func (m *MTLSPostgres) SetBindInterface(v string) { m.BindInterface = v } func (*Mysql) isOneOf_Resource() {} // GetID returns the unique identifier of the Mysql. func (m *Mysql) GetID() string { return m.ID } // GetName returns the name of the Mysql. func (m *Mysql) GetName() string { return m.Name } // SetName sets the name of the Mysql. func (m *Mysql) SetName(v string) { m.Name = v } // GetTags returns the tags of the Mysql. func (m *Mysql) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Mysql. func (m *Mysql) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Mysql. func (m *Mysql) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Mysql. func (m *Mysql) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Mysql. func (m *Mysql) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Mysql. func (m *Mysql) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Mysql. func (m *Mysql) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Mysql. func (m *Mysql) SetBindInterface(v string) { m.BindInterface = v } func (*Neptune) isOneOf_Resource() {} // GetID returns the unique identifier of the Neptune. func (m *Neptune) GetID() string { return m.ID } // GetName returns the name of the Neptune. func (m *Neptune) GetName() string { return m.Name } // SetName sets the name of the Neptune. func (m *Neptune) SetName(v string) { m.Name = v } // GetTags returns the tags of the Neptune. func (m *Neptune) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Neptune. func (m *Neptune) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Neptune. func (m *Neptune) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Neptune. func (m *Neptune) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Neptune. func (m *Neptune) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Neptune. func (m *Neptune) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Neptune. func (m *Neptune) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Neptune. func (m *Neptune) SetBindInterface(v string) { m.BindInterface = v } func (*NeptuneIAM) isOneOf_Resource() {} // GetID returns the unique identifier of the NeptuneIAM. func (m *NeptuneIAM) GetID() string { return m.ID } // GetName returns the name of the NeptuneIAM. func (m *NeptuneIAM) GetName() string { return m.Name } // SetName sets the name of the NeptuneIAM. func (m *NeptuneIAM) SetName(v string) { m.Name = v } // GetTags returns the tags of the NeptuneIAM. func (m *NeptuneIAM) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the NeptuneIAM. func (m *NeptuneIAM) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the NeptuneIAM. func (m *NeptuneIAM) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the NeptuneIAM. func (m *NeptuneIAM) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the NeptuneIAM. func (m *NeptuneIAM) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the NeptuneIAM. func (m *NeptuneIAM) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the NeptuneIAM. func (m *NeptuneIAM) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the NeptuneIAM. func (m *NeptuneIAM) SetBindInterface(v string) { m.BindInterface = v } func (*OktaGroups) isOneOf_Resource() {} // GetID returns the unique identifier of the OktaGroups. func (m *OktaGroups) GetID() string { return m.ID } // GetName returns the name of the OktaGroups. func (m *OktaGroups) GetName() string { return m.Name } // SetName sets the name of the OktaGroups. func (m *OktaGroups) SetName(v string) { m.Name = v } // GetTags returns the tags of the OktaGroups. func (m *OktaGroups) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the OktaGroups. func (m *OktaGroups) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the OktaGroups. func (m *OktaGroups) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the OktaGroups. func (m *OktaGroups) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the OktaGroups. func (m *OktaGroups) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the OktaGroups. func (m *OktaGroups) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the OktaGroups. func (m *OktaGroups) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the OktaGroups. func (m *OktaGroups) SetBindInterface(v string) { m.BindInterface = v } func (*Oracle) isOneOf_Resource() {} // GetID returns the unique identifier of the Oracle. func (m *Oracle) GetID() string { return m.ID } // GetName returns the name of the Oracle. func (m *Oracle) GetName() string { return m.Name } // SetName sets the name of the Oracle. func (m *Oracle) SetName(v string) { m.Name = v } // GetTags returns the tags of the Oracle. func (m *Oracle) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Oracle. func (m *Oracle) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Oracle. func (m *Oracle) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Oracle. func (m *Oracle) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Oracle. func (m *Oracle) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Oracle. func (m *Oracle) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Oracle. func (m *Oracle) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Oracle. func (m *Oracle) SetBindInterface(v string) { m.BindInterface = v } func (*OracleNNE) isOneOf_Resource() {} // GetID returns the unique identifier of the OracleNNE. func (m *OracleNNE) GetID() string { return m.ID } // GetName returns the name of the OracleNNE. func (m *OracleNNE) GetName() string { return m.Name } // SetName sets the name of the OracleNNE. func (m *OracleNNE) SetName(v string) { m.Name = v } // GetTags returns the tags of the OracleNNE. func (m *OracleNNE) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the OracleNNE. func (m *OracleNNE) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the OracleNNE. func (m *OracleNNE) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the OracleNNE. func (m *OracleNNE) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the OracleNNE. func (m *OracleNNE) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the OracleNNE. func (m *OracleNNE) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the OracleNNE. func (m *OracleNNE) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the OracleNNE. func (m *OracleNNE) SetBindInterface(v string) { m.BindInterface = v } func (*Postgres) isOneOf_Resource() {} // GetID returns the unique identifier of the Postgres. func (m *Postgres) GetID() string { return m.ID } // GetName returns the name of the Postgres. func (m *Postgres) GetName() string { return m.Name } // SetName sets the name of the Postgres. func (m *Postgres) SetName(v string) { m.Name = v } // GetTags returns the tags of the Postgres. func (m *Postgres) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Postgres. func (m *Postgres) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Postgres. func (m *Postgres) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Postgres. func (m *Postgres) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Postgres. func (m *Postgres) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Postgres. func (m *Postgres) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Postgres. func (m *Postgres) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Postgres. func (m *Postgres) SetBindInterface(v string) { m.BindInterface = v } func (*Presto) isOneOf_Resource() {} // GetID returns the unique identifier of the Presto. func (m *Presto) GetID() string { return m.ID } // GetName returns the name of the Presto. func (m *Presto) GetName() string { return m.Name } // SetName sets the name of the Presto. func (m *Presto) SetName(v string) { m.Name = v } // GetTags returns the tags of the Presto. func (m *Presto) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Presto. func (m *Presto) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Presto. func (m *Presto) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Presto. func (m *Presto) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Presto. func (m *Presto) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Presto. func (m *Presto) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Presto. func (m *Presto) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Presto. func (m *Presto) SetBindInterface(v string) { m.BindInterface = v } func (*RabbitMQAMQP091) isOneOf_Resource() {} // GetID returns the unique identifier of the RabbitMQAMQP091. func (m *RabbitMQAMQP091) GetID() string { return m.ID } // GetName returns the name of the RabbitMQAMQP091. func (m *RabbitMQAMQP091) GetName() string { return m.Name } // SetName sets the name of the RabbitMQAMQP091. func (m *RabbitMQAMQP091) SetName(v string) { m.Name = v } // GetTags returns the tags of the RabbitMQAMQP091. func (m *RabbitMQAMQP091) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the RabbitMQAMQP091. func (m *RabbitMQAMQP091) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the RabbitMQAMQP091. func (m *RabbitMQAMQP091) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the RabbitMQAMQP091. func (m *RabbitMQAMQP091) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the RabbitMQAMQP091. func (m *RabbitMQAMQP091) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the RabbitMQAMQP091. func (m *RabbitMQAMQP091) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the RabbitMQAMQP091. func (m *RabbitMQAMQP091) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the RabbitMQAMQP091. func (m *RabbitMQAMQP091) SetBindInterface(v string) { m.BindInterface = v } func (*RawTCP) isOneOf_Resource() {} // GetID returns the unique identifier of the RawTCP. func (m *RawTCP) GetID() string { return m.ID } // GetName returns the name of the RawTCP. func (m *RawTCP) GetName() string { return m.Name } // SetName sets the name of the RawTCP. func (m *RawTCP) SetName(v string) { m.Name = v } // GetTags returns the tags of the RawTCP. func (m *RawTCP) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the RawTCP. func (m *RawTCP) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the RawTCP. func (m *RawTCP) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the RawTCP. func (m *RawTCP) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the RawTCP. func (m *RawTCP) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the RawTCP. func (m *RawTCP) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the RawTCP. func (m *RawTCP) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the RawTCP. func (m *RawTCP) SetBindInterface(v string) { m.BindInterface = v } func (*RDP) isOneOf_Resource() {} // GetID returns the unique identifier of the RDP. func (m *RDP) GetID() string { return m.ID } // GetName returns the name of the RDP. func (m *RDP) GetName() string { return m.Name } // SetName sets the name of the RDP. func (m *RDP) SetName(v string) { m.Name = v } // GetTags returns the tags of the RDP. func (m *RDP) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the RDP. func (m *RDP) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the RDP. func (m *RDP) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the RDP. func (m *RDP) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the RDP. func (m *RDP) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the RDP. func (m *RDP) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the RDP. func (m *RDP) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the RDP. func (m *RDP) SetBindInterface(v string) { m.BindInterface = v } func (*RDPCert) isOneOf_Resource() {} // GetID returns the unique identifier of the RDPCert. func (m *RDPCert) GetID() string { return m.ID } // GetName returns the name of the RDPCert. func (m *RDPCert) GetName() string { return m.Name } // SetName sets the name of the RDPCert. func (m *RDPCert) SetName(v string) { m.Name = v } // GetTags returns the tags of the RDPCert. func (m *RDPCert) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the RDPCert. func (m *RDPCert) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the RDPCert. func (m *RDPCert) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the RDPCert. func (m *RDPCert) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the RDPCert. func (m *RDPCert) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the RDPCert. func (m *RDPCert) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the RDPCert. func (m *RDPCert) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the RDPCert. func (m *RDPCert) SetBindInterface(v string) { m.BindInterface = v } func (*RDSPostgresIAM) isOneOf_Resource() {} // GetID returns the unique identifier of the RDSPostgresIAM. func (m *RDSPostgresIAM) GetID() string { return m.ID } // GetName returns the name of the RDSPostgresIAM. func (m *RDSPostgresIAM) GetName() string { return m.Name } // SetName sets the name of the RDSPostgresIAM. func (m *RDSPostgresIAM) SetName(v string) { m.Name = v } // GetTags returns the tags of the RDSPostgresIAM. func (m *RDSPostgresIAM) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the RDSPostgresIAM. func (m *RDSPostgresIAM) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the RDSPostgresIAM. func (m *RDSPostgresIAM) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the RDSPostgresIAM. func (m *RDSPostgresIAM) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the RDSPostgresIAM. func (m *RDSPostgresIAM) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the RDSPostgresIAM. func (m *RDSPostgresIAM) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the RDSPostgresIAM. func (m *RDSPostgresIAM) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the RDSPostgresIAM. func (m *RDSPostgresIAM) SetBindInterface(v string) { m.BindInterface = v } func (*Redis) isOneOf_Resource() {} // GetID returns the unique identifier of the Redis. func (m *Redis) GetID() string { return m.ID } // GetName returns the name of the Redis. func (m *Redis) GetName() string { return m.Name } // SetName sets the name of the Redis. func (m *Redis) SetName(v string) { m.Name = v } // GetTags returns the tags of the Redis. func (m *Redis) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Redis. func (m *Redis) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Redis. func (m *Redis) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Redis. func (m *Redis) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Redis. func (m *Redis) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Redis. func (m *Redis) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Redis. func (m *Redis) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Redis. func (m *Redis) SetBindInterface(v string) { m.BindInterface = v } func (*RedisCluster) isOneOf_Resource() {} // GetID returns the unique identifier of the RedisCluster. func (m *RedisCluster) GetID() string { return m.ID } // GetName returns the name of the RedisCluster. func (m *RedisCluster) GetName() string { return m.Name } // SetName sets the name of the RedisCluster. func (m *RedisCluster) SetName(v string) { m.Name = v } // GetTags returns the tags of the RedisCluster. func (m *RedisCluster) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the RedisCluster. func (m *RedisCluster) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the RedisCluster. func (m *RedisCluster) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the RedisCluster. func (m *RedisCluster) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the RedisCluster. func (m *RedisCluster) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the RedisCluster. func (m *RedisCluster) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the RedisCluster. func (m *RedisCluster) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the RedisCluster. func (m *RedisCluster) SetBindInterface(v string) { m.BindInterface = v } func (*Redshift) isOneOf_Resource() {} // GetID returns the unique identifier of the Redshift. func (m *Redshift) GetID() string { return m.ID } // GetName returns the name of the Redshift. func (m *Redshift) GetName() string { return m.Name } // SetName sets the name of the Redshift. func (m *Redshift) SetName(v string) { m.Name = v } // GetTags returns the tags of the Redshift. func (m *Redshift) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Redshift. func (m *Redshift) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Redshift. func (m *Redshift) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Redshift. func (m *Redshift) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Redshift. func (m *Redshift) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Redshift. func (m *Redshift) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Redshift. func (m *Redshift) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Redshift. func (m *Redshift) SetBindInterface(v string) { m.BindInterface = v } func (*RedshiftIAM) isOneOf_Resource() {} // GetID returns the unique identifier of the RedshiftIAM. func (m *RedshiftIAM) GetID() string { return m.ID } // GetName returns the name of the RedshiftIAM. func (m *RedshiftIAM) GetName() string { return m.Name } // SetName sets the name of the RedshiftIAM. func (m *RedshiftIAM) SetName(v string) { m.Name = v } // GetTags returns the tags of the RedshiftIAM. func (m *RedshiftIAM) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the RedshiftIAM. func (m *RedshiftIAM) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the RedshiftIAM. func (m *RedshiftIAM) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the RedshiftIAM. func (m *RedshiftIAM) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the RedshiftIAM. func (m *RedshiftIAM) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the RedshiftIAM. func (m *RedshiftIAM) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the RedshiftIAM. func (m *RedshiftIAM) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the RedshiftIAM. func (m *RedshiftIAM) SetBindInterface(v string) { m.BindInterface = v } func (*RedshiftServerlessIAM) isOneOf_Resource() {} // GetID returns the unique identifier of the RedshiftServerlessIAM. func (m *RedshiftServerlessIAM) GetID() string { return m.ID } // GetName returns the name of the RedshiftServerlessIAM. func (m *RedshiftServerlessIAM) GetName() string { return m.Name } // SetName sets the name of the RedshiftServerlessIAM. func (m *RedshiftServerlessIAM) SetName(v string) { m.Name = v } // GetTags returns the tags of the RedshiftServerlessIAM. func (m *RedshiftServerlessIAM) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the RedshiftServerlessIAM. func (m *RedshiftServerlessIAM) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the RedshiftServerlessIAM. func (m *RedshiftServerlessIAM) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the RedshiftServerlessIAM. func (m *RedshiftServerlessIAM) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the RedshiftServerlessIAM. func (m *RedshiftServerlessIAM) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the RedshiftServerlessIAM. func (m *RedshiftServerlessIAM) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the RedshiftServerlessIAM. func (m *RedshiftServerlessIAM) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the RedshiftServerlessIAM. func (m *RedshiftServerlessIAM) SetBindInterface(v string) { m.BindInterface = v } func (*SingleStore) isOneOf_Resource() {} // GetID returns the unique identifier of the SingleStore. func (m *SingleStore) GetID() string { return m.ID } // GetName returns the name of the SingleStore. func (m *SingleStore) GetName() string { return m.Name } // SetName sets the name of the SingleStore. func (m *SingleStore) SetName(v string) { m.Name = v } // GetTags returns the tags of the SingleStore. func (m *SingleStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the SingleStore. func (m *SingleStore) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the SingleStore. func (m *SingleStore) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the SingleStore. func (m *SingleStore) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the SingleStore. func (m *SingleStore) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the SingleStore. func (m *SingleStore) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the SingleStore. func (m *SingleStore) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the SingleStore. func (m *SingleStore) SetBindInterface(v string) { m.BindInterface = v } func (*Snowflake) isOneOf_Resource() {} // GetID returns the unique identifier of the Snowflake. func (m *Snowflake) GetID() string { return m.ID } // GetName returns the name of the Snowflake. func (m *Snowflake) GetName() string { return m.Name } // SetName sets the name of the Snowflake. func (m *Snowflake) SetName(v string) { m.Name = v } // GetTags returns the tags of the Snowflake. func (m *Snowflake) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Snowflake. func (m *Snowflake) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Snowflake. func (m *Snowflake) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Snowflake. func (m *Snowflake) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Snowflake. func (m *Snowflake) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Snowflake. func (m *Snowflake) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Snowflake. func (m *Snowflake) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Snowflake. func (m *Snowflake) SetBindInterface(v string) { m.BindInterface = v } func (*Snowsight) isOneOf_Resource() {} // GetID returns the unique identifier of the Snowsight. func (m *Snowsight) GetID() string { return m.ID } // GetName returns the name of the Snowsight. func (m *Snowsight) GetName() string { return m.Name } // SetName sets the name of the Snowsight. func (m *Snowsight) SetName(v string) { m.Name = v } // GetTags returns the tags of the Snowsight. func (m *Snowsight) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Snowsight. func (m *Snowsight) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Snowsight. func (m *Snowsight) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Snowsight. func (m *Snowsight) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Snowsight. func (m *Snowsight) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Snowsight. func (m *Snowsight) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Snowsight. func (m *Snowsight) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Snowsight. func (m *Snowsight) SetBindInterface(v string) { m.BindInterface = v } func (*SQLServer) isOneOf_Resource() {} // GetID returns the unique identifier of the SQLServer. func (m *SQLServer) GetID() string { return m.ID } // GetName returns the name of the SQLServer. func (m *SQLServer) GetName() string { return m.Name } // SetName sets the name of the SQLServer. func (m *SQLServer) SetName(v string) { m.Name = v } // GetTags returns the tags of the SQLServer. func (m *SQLServer) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the SQLServer. func (m *SQLServer) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the SQLServer. func (m *SQLServer) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the SQLServer. func (m *SQLServer) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the SQLServer. func (m *SQLServer) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the SQLServer. func (m *SQLServer) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the SQLServer. func (m *SQLServer) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the SQLServer. func (m *SQLServer) SetBindInterface(v string) { m.BindInterface = v } func (*SQLServerAzureAD) isOneOf_Resource() {} // GetID returns the unique identifier of the SQLServerAzureAD. func (m *SQLServerAzureAD) GetID() string { return m.ID } // GetName returns the name of the SQLServerAzureAD. func (m *SQLServerAzureAD) GetName() string { return m.Name } // SetName sets the name of the SQLServerAzureAD. func (m *SQLServerAzureAD) SetName(v string) { m.Name = v } // GetTags returns the tags of the SQLServerAzureAD. func (m *SQLServerAzureAD) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the SQLServerAzureAD. func (m *SQLServerAzureAD) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the SQLServerAzureAD. func (m *SQLServerAzureAD) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the SQLServerAzureAD. func (m *SQLServerAzureAD) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the SQLServerAzureAD. func (m *SQLServerAzureAD) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the SQLServerAzureAD. func (m *SQLServerAzureAD) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the SQLServerAzureAD. func (m *SQLServerAzureAD) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the SQLServerAzureAD. func (m *SQLServerAzureAD) SetBindInterface(v string) { m.BindInterface = v } func (*SQLServerKerberosAD) isOneOf_Resource() {} // GetID returns the unique identifier of the SQLServerKerberosAD. func (m *SQLServerKerberosAD) GetID() string { return m.ID } // GetName returns the name of the SQLServerKerberosAD. func (m *SQLServerKerberosAD) GetName() string { return m.Name } // SetName sets the name of the SQLServerKerberosAD. func (m *SQLServerKerberosAD) SetName(v string) { m.Name = v } // GetTags returns the tags of the SQLServerKerberosAD. func (m *SQLServerKerberosAD) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the SQLServerKerberosAD. func (m *SQLServerKerberosAD) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the SQLServerKerberosAD. func (m *SQLServerKerberosAD) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the SQLServerKerberosAD. func (m *SQLServerKerberosAD) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the SQLServerKerberosAD. func (m *SQLServerKerberosAD) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the SQLServerKerberosAD. func (m *SQLServerKerberosAD) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the SQLServerKerberosAD. func (m *SQLServerKerberosAD) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the SQLServerKerberosAD. func (m *SQLServerKerberosAD) SetBindInterface(v string) { m.BindInterface = v } func (*SSH) isOneOf_Resource() {} // GetID returns the unique identifier of the SSH. func (m *SSH) GetID() string { return m.ID } // GetName returns the name of the SSH. func (m *SSH) GetName() string { return m.Name } // SetName sets the name of the SSH. func (m *SSH) SetName(v string) { m.Name = v } // GetTags returns the tags of the SSH. func (m *SSH) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the SSH. func (m *SSH) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the SSH. func (m *SSH) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the SSH. func (m *SSH) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the SSH. func (m *SSH) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the SSH. func (m *SSH) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the SSH. func (m *SSH) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the SSH. func (m *SSH) SetBindInterface(v string) { m.BindInterface = v } func (*SSHCert) isOneOf_Resource() {} // GetID returns the unique identifier of the SSHCert. func (m *SSHCert) GetID() string { return m.ID } // GetName returns the name of the SSHCert. func (m *SSHCert) GetName() string { return m.Name } // SetName sets the name of the SSHCert. func (m *SSHCert) SetName(v string) { m.Name = v } // GetTags returns the tags of the SSHCert. func (m *SSHCert) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the SSHCert. func (m *SSHCert) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the SSHCert. func (m *SSHCert) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the SSHCert. func (m *SSHCert) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the SSHCert. func (m *SSHCert) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the SSHCert. func (m *SSHCert) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the SSHCert. func (m *SSHCert) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the SSHCert. func (m *SSHCert) SetBindInterface(v string) { m.BindInterface = v } func (*SSHCustomerKey) isOneOf_Resource() {} // GetID returns the unique identifier of the SSHCustomerKey. func (m *SSHCustomerKey) GetID() string { return m.ID } // GetName returns the name of the SSHCustomerKey. func (m *SSHCustomerKey) GetName() string { return m.Name } // SetName sets the name of the SSHCustomerKey. func (m *SSHCustomerKey) SetName(v string) { m.Name = v } // GetTags returns the tags of the SSHCustomerKey. func (m *SSHCustomerKey) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the SSHCustomerKey. func (m *SSHCustomerKey) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the SSHCustomerKey. func (m *SSHCustomerKey) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the SSHCustomerKey. func (m *SSHCustomerKey) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the SSHCustomerKey. func (m *SSHCustomerKey) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the SSHCustomerKey. func (m *SSHCustomerKey) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the SSHCustomerKey. func (m *SSHCustomerKey) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the SSHCustomerKey. func (m *SSHCustomerKey) SetBindInterface(v string) { m.BindInterface = v } func (*SSHPassword) isOneOf_Resource() {} // GetID returns the unique identifier of the SSHPassword. func (m *SSHPassword) GetID() string { return m.ID } // GetName returns the name of the SSHPassword. func (m *SSHPassword) GetName() string { return m.Name } // SetName sets the name of the SSHPassword. func (m *SSHPassword) SetName(v string) { m.Name = v } // GetTags returns the tags of the SSHPassword. func (m *SSHPassword) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the SSHPassword. func (m *SSHPassword) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the SSHPassword. func (m *SSHPassword) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the SSHPassword. func (m *SSHPassword) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the SSHPassword. func (m *SSHPassword) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the SSHPassword. func (m *SSHPassword) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the SSHPassword. func (m *SSHPassword) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the SSHPassword. func (m *SSHPassword) SetBindInterface(v string) { m.BindInterface = v } func (*Sybase) isOneOf_Resource() {} // GetID returns the unique identifier of the Sybase. func (m *Sybase) GetID() string { return m.ID } // GetName returns the name of the Sybase. func (m *Sybase) GetName() string { return m.Name } // SetName sets the name of the Sybase. func (m *Sybase) SetName(v string) { m.Name = v } // GetTags returns the tags of the Sybase. func (m *Sybase) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Sybase. func (m *Sybase) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Sybase. func (m *Sybase) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Sybase. func (m *Sybase) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Sybase. func (m *Sybase) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Sybase. func (m *Sybase) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Sybase. func (m *Sybase) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Sybase. func (m *Sybase) SetBindInterface(v string) { m.BindInterface = v } func (*SybaseIQ) isOneOf_Resource() {} // GetID returns the unique identifier of the SybaseIQ. func (m *SybaseIQ) GetID() string { return m.ID } // GetName returns the name of the SybaseIQ. func (m *SybaseIQ) GetName() string { return m.Name } // SetName sets the name of the SybaseIQ. func (m *SybaseIQ) SetName(v string) { m.Name = v } // GetTags returns the tags of the SybaseIQ. func (m *SybaseIQ) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the SybaseIQ. func (m *SybaseIQ) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the SybaseIQ. func (m *SybaseIQ) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the SybaseIQ. func (m *SybaseIQ) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the SybaseIQ. func (m *SybaseIQ) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the SybaseIQ. func (m *SybaseIQ) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the SybaseIQ. func (m *SybaseIQ) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the SybaseIQ. func (m *SybaseIQ) SetBindInterface(v string) { m.BindInterface = v } func (*Teradata) isOneOf_Resource() {} // GetID returns the unique identifier of the Teradata. func (m *Teradata) GetID() string { return m.ID } // GetName returns the name of the Teradata. func (m *Teradata) GetName() string { return m.Name } // SetName sets the name of the Teradata. func (m *Teradata) SetName(v string) { m.Name = v } // GetTags returns the tags of the Teradata. func (m *Teradata) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Teradata. func (m *Teradata) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Teradata. func (m *Teradata) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Teradata. func (m *Teradata) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Teradata. func (m *Teradata) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Teradata. func (m *Teradata) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Teradata. func (m *Teradata) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Teradata. func (m *Teradata) SetBindInterface(v string) { m.BindInterface = v } func (*Trino) isOneOf_Resource() {} // GetID returns the unique identifier of the Trino. func (m *Trino) GetID() string { return m.ID } // GetName returns the name of the Trino. func (m *Trino) GetName() string { return m.Name } // SetName sets the name of the Trino. func (m *Trino) SetName(v string) { m.Name = v } // GetTags returns the tags of the Trino. func (m *Trino) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Trino. func (m *Trino) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Trino. func (m *Trino) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Trino. func (m *Trino) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Trino. func (m *Trino) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Trino. func (m *Trino) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Trino. func (m *Trino) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Trino. func (m *Trino) SetBindInterface(v string) { m.BindInterface = v } func (*Vertica) isOneOf_Resource() {} // GetID returns the unique identifier of the Vertica. func (m *Vertica) GetID() string { return m.ID } // GetName returns the name of the Vertica. func (m *Vertica) GetName() string { return m.Name } // SetName sets the name of the Vertica. func (m *Vertica) SetName(v string) { m.Name = v } // GetTags returns the tags of the Vertica. func (m *Vertica) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the Vertica. func (m *Vertica) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the Vertica. func (m *Vertica) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the Vertica. func (m *Vertica) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetEgressFilter returns the egress filter of the Vertica. func (m *Vertica) GetEgressFilter() string { return m.EgressFilter } // SetEgressFilter sets the egress filter of the Vertica. func (m *Vertica) SetEgressFilter(v string) { m.EgressFilter = v } // GetBindInterface returns the bind interface of the Vertica. func (m *Vertica) GetBindInterface() string { return m.BindInterface } // SetBindInterface sets the bind interface of the Vertica. func (m *Vertica) SetBindInterface(v string) { m.BindInterface = v } // ResourceCreateResponse reports how the Resources were created in the system. type ResourceCreateResponse struct { // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The created Resource. Resource Resource `json:"resource"` } // ResourceDeleteResponse returns information about a Resource that was deleted. type ResourceDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ResourceGetResponse returns a requested Resource. type ResourceGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The requested Resource. Resource Resource `json:"resource"` } // ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID. type ResourceHealthcheckRequest struct { // The unique identifier of the Resource to healthcheck. ID string `json:"id"` } // ResourceHealthcheckResponse reports any metadata concerning a healthcheck response. // Healthchecks are non blocking, and this contains no non-metadata. type ResourceHealthcheckResponse struct { // Reserved for future use. Meta *UpdateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // ResourceHistory records the state of a Resource at a given point in time, // where every change (create, update and delete) to a Resource produces an // ResourceHistory record. type ResourceHistory struct { // The unique identifier of the Activity that produced this change to the Resource. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this Resource was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The complete Resource state at this time. Resource Resource `json:"resource"` // The time at which the Resource state was recorded. Timestamp time.Time `json:"timestamp"` } // ResourceUpdateResponse returns the fields of a Resource after it has been updated by // a ResourceUpdateRequest. type ResourceUpdateResponse struct { // Reserved for future use. Meta *UpdateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The updated Resource. Resource Resource `json:"resource"` } // A Role has a list of access rules which determine which Resources the members // of the Role have access to. An Account can be a member of multiple Roles via // AccountAttachments. type Role struct { // AccessRules is a list of access rules defining the resources this Role has access to. AccessRules AccessRules `json:"accessRules"` // Unique identifier of the Role. ID string `json:"id"` // Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure. ManagedBy string `json:"managedBy"` // Unique human-readable name of the Role. Name string `json:"name"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } // RoleCreateResponse reports how the Roles were created in the system. It can // communicate partial successes or failures. type RoleCreateResponse struct { // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The created Role. Role *Role `json:"role"` } // RoleDeleteResponse returns information about a Role that was deleted. type RoleDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // RoleGetResponse returns a requested Role. type RoleGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The requested Role. Role *Role `json:"role"` } // RoleHistory records the state of a Role at a given point in time, // where every change (create, update and delete) to a Role produces an // RoleHistory record. type RoleHistory struct { // The unique identifier of the Activity that produced this change to the Role. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this Role was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The complete Role state at this time. Role *Role `json:"role"` // The time at which the Role state was recorded. Timestamp time.Time `json:"timestamp"` } // RoleResource represents an individual access grant of a Role to a Resource. type RoleResource struct { // The most recent time at which access was granted. If access was granted, // revoked, and granted again, this will reflect the later time. GrantedAt time.Time `json:"grantedAt"` // The unique identifier of the Resource to which access is granted. ResourceID string `json:"resourceId"` // The unique identifier of the Role to which access is granted. RoleID string `json:"roleId"` } // RoleResourceHistory records the state of a RoleResource at a given point in time, // where every change (create or delete) to a RoleResource produces an // RoleResourceHistory record. type RoleResourceHistory struct { // The unique identifier of the Activity that produced this change to the RoleResource. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this RoleResource was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The complete RoleResource state at this time. RoleResource *RoleResource `json:"roleResource"` // The time at which the RoleResource state was recorded. Timestamp time.Time `json:"timestamp"` } // RoleUpdateResponse returns the fields of a Role after it has been updated by // a RoleUpdateRequest. type RoleUpdateResponse struct { // Reserved for future use. Meta *UpdateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The updated Role. Role *Role `json:"role"` } type SQLServer struct { // Whether to allow deprecated encryption protocols to be used for this resource. For example, // TLS 1.0. AllowDeprecatedEncryption bool `json:"allowDeprecatedEncryption"` // 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. BindInterface string `json:"bindInterface"` // The database for healthchecks, and used for clients if Override Default Database is true. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The Schema to use to direct initial requests. Schema string `json:"schema"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type SQLServerAzureAD struct { // Whether to allow deprecated encryption protocols to be used for this resource. For example, // TLS 1.0. AllowDeprecatedEncryption bool `json:"allowDeprecatedEncryption"` // 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. BindInterface string `json:"bindInterface"` // The Azure AD application (client) ID with which to authenticate. ClientID string `json:"clientId"` // The database for healthchecks, and used for clients if Override Default Database is true. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The Schema to use to direct initial requests. Schema string `json:"schema"` // The Azure AD client secret (application password) with which to authenticate. Secret string `json:"secret"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The Azure AD directory (tenant) ID with which to authenticate. TenantID string `json:"tenantId"` } type SQLServerKerberosAD struct { // Whether to allow deprecated encryption protocols to be used for this resource. For example, // TLS 1.0. AllowDeprecatedEncryption bool `json:"allowDeprecatedEncryption"` // 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. BindInterface string `json:"bindInterface"` // The database for healthchecks, and used for clients if Override Default Database is true. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate. Keytab string `json:"keytab"` // The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm. KrbConfig string `json:"krbConfig"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. OverrideDatabase bool `json:"overrideDatabase"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The Active Directory domain (realm) to which the configured username belongs. Realm string `json:"realm"` // The Schema to use to direct initial requests. Schema string `json:"schema"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // The Service Principal Name of the Microsoft SQL Server instance in Active Directory. ServerSpn string `json:"serverSpn"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type SSH struct { // Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server. AllowDeprecatedKeyExchanges bool `json:"allowDeprecatedKeyExchanges"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // The key type to use e.g. rsa-2048 or ed25519 KeyType string `json:"keyType"` // When set, require a resource lock to access the resource to ensure it can only be used by one user at a time. LockRequired bool `json:"lockRequired"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // Whether port forwarding is allowed through this server. PortForwarding bool `json:"portForwarding"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The public key to append to a server's authorized keys. This will be generated after resource creation. PublicKey string `json:"publicKey"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type SSHCert struct { // Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server. AllowDeprecatedKeyExchanges bool `json:"allowDeprecatedKeyExchanges"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // The key type to use e.g. rsa-2048 or ed25519 KeyType string `json:"keyType"` // When set, require a resource lock to access the resource to ensure it can only be used by one user at a time. LockRequired bool `json:"lockRequired"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // Whether port forwarding is allowed through this server. PortForwarding bool `json:"portForwarding"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type SSHCustomerKey struct { // Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server. AllowDeprecatedKeyExchanges bool `json:"allowDeprecatedKeyExchanges"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // The username to use for healthchecks, when clients otherwise connect with their own identity alias username. IdentityAliasHealthcheckUsername string `json:"identityAliasHealthcheckUsername"` // The ID of the identity set to use for identity connections. IdentitySetID string `json:"identitySetId"` // When set, require a resource lock to access the resource to ensure it can only be used by one user at a time. LockRequired bool `json:"lockRequired"` // Unique human-readable name of the Resource. Name string `json:"name"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // Whether port forwarding is allowed through this server. PortForwarding bool `json:"portForwarding"` // 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. PortOverride int32 `json:"portOverride"` // The private key used to authenticate with the server. PrivateKey string `json:"privateKey"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type SSHPassword struct { // Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server. AllowDeprecatedKeyExchanges bool `json:"allowDeprecatedKeyExchanges"` // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // When set, require a resource lock to access the resource to ensure it can only be used by one user at a time. LockRequired bool `json:"lockRequired"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // Whether port forwarding is allowed through this server. PortForwarding bool `json:"portForwarding"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } // A SecretEngine is managing secrets in SecretStores. type SecretEngine interface { // GetID returns the unique identifier of the SecretEngine. GetID() string // GetName returns the name of the SecretEngine. GetName() string // SetName sets the name of the SecretEngine. SetName(string) // GetTags returns the tags of the SecretEngine. GetTags() Tags // SetTags sets the tags of the SecretEngine. SetTags(Tags) // GetSecretStoreID returns the secret store id of the SecretEngine. GetSecretStoreID() string // SetSecretStoreID sets the secret store id of the SecretEngine. SetSecretStoreID(string) // GetSecretStoreRootPath returns the secret store root path of the SecretEngine. GetSecretStoreRootPath() string // SetSecretStoreRootPath sets the secret store root path of the SecretEngine. SetSecretStoreRootPath(string) // GetPublicKey returns the public key of the SecretEngine. GetPublicKey() []byte // SetPublicKey sets the public key of the SecretEngine. SetPublicKey([]byte) // GetNodeSelector returns the node selector of the SecretEngine. GetNodeSelector() string // SetNodeSelector sets the node selector of the SecretEngine. SetNodeSelector(string) // GetKeyRotationIntervalDays returns the key rotation interval days of the SecretEngine. GetKeyRotationIntervalDays() int32 // SetKeyRotationIntervalDays sets the key rotation interval days of the SecretEngine. SetKeyRotationIntervalDays(int32) isOneOf_SecretEngine() } func (*ActiveDirectoryEngine) isOneOf_SecretEngine() {} // GetID returns the unique identifier of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) GetID() string { return m.ID } // GetName returns the name of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) GetName() string { return m.Name } // SetName sets the name of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) SetName(v string) { m.Name = v } // GetTags returns the tags of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetSecretStoreRootPath returns the secret store root path of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) GetSecretStoreRootPath() string { return m.SecretStoreRootPath } // SetSecretStoreRootPath sets the secret store root path of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) SetSecretStoreRootPath(v string) { m.SecretStoreRootPath = v } // GetPublicKey returns the public key of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) GetPublicKey() []byte { return m.PublicKey } // SetPublicKey sets the public key of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) SetPublicKey(v []byte) { m.PublicKey = v } // GetNodeSelector returns the node selector of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) GetNodeSelector() string { return m.NodeSelector } // SetNodeSelector sets the node selector of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) SetNodeSelector(v string) { m.NodeSelector = v } // GetKeyRotationIntervalDays returns the key rotation interval days of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) GetKeyRotationIntervalDays() int32 { return m.KeyRotationIntervalDays } // SetKeyRotationIntervalDays sets the key rotation interval days of the ActiveDirectoryEngine. func (m *ActiveDirectoryEngine) SetKeyRotationIntervalDays(v int32) { m.KeyRotationIntervalDays = v } func (*KeyValueEngine) isOneOf_SecretEngine() {} // GetID returns the unique identifier of the KeyValueEngine. func (m *KeyValueEngine) GetID() string { return m.ID } // GetName returns the name of the KeyValueEngine. func (m *KeyValueEngine) GetName() string { return m.Name } // SetName sets the name of the KeyValueEngine. func (m *KeyValueEngine) SetName(v string) { m.Name = v } // GetTags returns the tags of the KeyValueEngine. func (m *KeyValueEngine) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the KeyValueEngine. func (m *KeyValueEngine) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the KeyValueEngine. func (m *KeyValueEngine) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the KeyValueEngine. func (m *KeyValueEngine) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetSecretStoreRootPath returns the secret store root path of the KeyValueEngine. func (m *KeyValueEngine) GetSecretStoreRootPath() string { return m.SecretStoreRootPath } // SetSecretStoreRootPath sets the secret store root path of the KeyValueEngine. func (m *KeyValueEngine) SetSecretStoreRootPath(v string) { m.SecretStoreRootPath = v } // GetPublicKey returns the public key of the KeyValueEngine. func (m *KeyValueEngine) GetPublicKey() []byte { return m.PublicKey } // SetPublicKey sets the public key of the KeyValueEngine. func (m *KeyValueEngine) SetPublicKey(v []byte) { m.PublicKey = v } // GetNodeSelector returns the node selector of the KeyValueEngine. func (m *KeyValueEngine) GetNodeSelector() string { return m.NodeSelector } // SetNodeSelector sets the node selector of the KeyValueEngine. func (m *KeyValueEngine) SetNodeSelector(v string) { m.NodeSelector = v } // GetKeyRotationIntervalDays returns the key rotation interval days of the KeyValueEngine. func (m *KeyValueEngine) GetKeyRotationIntervalDays() int32 { return m.KeyRotationIntervalDays } // SetKeyRotationIntervalDays sets the key rotation interval days of the KeyValueEngine. func (m *KeyValueEngine) SetKeyRotationIntervalDays(v int32) { m.KeyRotationIntervalDays = v } func (*MysqlEngine) isOneOf_SecretEngine() {} // GetID returns the unique identifier of the MysqlEngine. func (m *MysqlEngine) GetID() string { return m.ID } // GetName returns the name of the MysqlEngine. func (m *MysqlEngine) GetName() string { return m.Name } // SetName sets the name of the MysqlEngine. func (m *MysqlEngine) SetName(v string) { m.Name = v } // GetTags returns the tags of the MysqlEngine. func (m *MysqlEngine) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the MysqlEngine. func (m *MysqlEngine) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the MysqlEngine. func (m *MysqlEngine) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the MysqlEngine. func (m *MysqlEngine) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetSecretStoreRootPath returns the secret store root path of the MysqlEngine. func (m *MysqlEngine) GetSecretStoreRootPath() string { return m.SecretStoreRootPath } // SetSecretStoreRootPath sets the secret store root path of the MysqlEngine. func (m *MysqlEngine) SetSecretStoreRootPath(v string) { m.SecretStoreRootPath = v } // GetPublicKey returns the public key of the MysqlEngine. func (m *MysqlEngine) GetPublicKey() []byte { return m.PublicKey } // SetPublicKey sets the public key of the MysqlEngine. func (m *MysqlEngine) SetPublicKey(v []byte) { m.PublicKey = v } // GetNodeSelector returns the node selector of the MysqlEngine. func (m *MysqlEngine) GetNodeSelector() string { return m.NodeSelector } // SetNodeSelector sets the node selector of the MysqlEngine. func (m *MysqlEngine) SetNodeSelector(v string) { m.NodeSelector = v } // GetKeyRotationIntervalDays returns the key rotation interval days of the MysqlEngine. func (m *MysqlEngine) GetKeyRotationIntervalDays() int32 { return m.KeyRotationIntervalDays } // SetKeyRotationIntervalDays sets the key rotation interval days of the MysqlEngine. func (m *MysqlEngine) SetKeyRotationIntervalDays(v int32) { m.KeyRotationIntervalDays = v } func (*PostgresEngine) isOneOf_SecretEngine() {} // GetID returns the unique identifier of the PostgresEngine. func (m *PostgresEngine) GetID() string { return m.ID } // GetName returns the name of the PostgresEngine. func (m *PostgresEngine) GetName() string { return m.Name } // SetName sets the name of the PostgresEngine. func (m *PostgresEngine) SetName(v string) { m.Name = v } // GetTags returns the tags of the PostgresEngine. func (m *PostgresEngine) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the PostgresEngine. func (m *PostgresEngine) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the PostgresEngine. func (m *PostgresEngine) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the PostgresEngine. func (m *PostgresEngine) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetSecretStoreRootPath returns the secret store root path of the PostgresEngine. func (m *PostgresEngine) GetSecretStoreRootPath() string { return m.SecretStoreRootPath } // SetSecretStoreRootPath sets the secret store root path of the PostgresEngine. func (m *PostgresEngine) SetSecretStoreRootPath(v string) { m.SecretStoreRootPath = v } // GetPublicKey returns the public key of the PostgresEngine. func (m *PostgresEngine) GetPublicKey() []byte { return m.PublicKey } // SetPublicKey sets the public key of the PostgresEngine. func (m *PostgresEngine) SetPublicKey(v []byte) { m.PublicKey = v } // GetNodeSelector returns the node selector of the PostgresEngine. func (m *PostgresEngine) GetNodeSelector() string { return m.NodeSelector } // SetNodeSelector sets the node selector of the PostgresEngine. func (m *PostgresEngine) SetNodeSelector(v string) { m.NodeSelector = v } // GetKeyRotationIntervalDays returns the key rotation interval days of the PostgresEngine. func (m *PostgresEngine) GetKeyRotationIntervalDays() int32 { return m.KeyRotationIntervalDays } // SetKeyRotationIntervalDays sets the key rotation interval days of the PostgresEngine. func (m *PostgresEngine) SetKeyRotationIntervalDays(v int32) { m.KeyRotationIntervalDays = v } func (*SqlserverEngine) isOneOf_SecretEngine() {} // GetID returns the unique identifier of the SqlserverEngine. func (m *SqlserverEngine) GetID() string { return m.ID } // GetName returns the name of the SqlserverEngine. func (m *SqlserverEngine) GetName() string { return m.Name } // SetName sets the name of the SqlserverEngine. func (m *SqlserverEngine) SetName(v string) { m.Name = v } // GetTags returns the tags of the SqlserverEngine. func (m *SqlserverEngine) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the SqlserverEngine. func (m *SqlserverEngine) SetTags(v Tags) { m.Tags = v.clone() } // GetSecretStoreID returns the secret store id of the SqlserverEngine. func (m *SqlserverEngine) GetSecretStoreID() string { return m.SecretStoreID } // SetSecretStoreID sets the secret store id of the SqlserverEngine. func (m *SqlserverEngine) SetSecretStoreID(v string) { m.SecretStoreID = v } // GetSecretStoreRootPath returns the secret store root path of the SqlserverEngine. func (m *SqlserverEngine) GetSecretStoreRootPath() string { return m.SecretStoreRootPath } // SetSecretStoreRootPath sets the secret store root path of the SqlserverEngine. func (m *SqlserverEngine) SetSecretStoreRootPath(v string) { m.SecretStoreRootPath = v } // GetPublicKey returns the public key of the SqlserverEngine. func (m *SqlserverEngine) GetPublicKey() []byte { return m.PublicKey } // SetPublicKey sets the public key of the SqlserverEngine. func (m *SqlserverEngine) SetPublicKey(v []byte) { m.PublicKey = v } // GetNodeSelector returns the node selector of the SqlserverEngine. func (m *SqlserverEngine) GetNodeSelector() string { return m.NodeSelector } // SetNodeSelector sets the node selector of the SqlserverEngine. func (m *SqlserverEngine) SetNodeSelector(v string) { m.NodeSelector = v } // GetKeyRotationIntervalDays returns the key rotation interval days of the SqlserverEngine. func (m *SqlserverEngine) GetKeyRotationIntervalDays() int32 { return m.KeyRotationIntervalDays } // SetKeyRotationIntervalDays sets the key rotation interval days of the SqlserverEngine. func (m *SqlserverEngine) SetKeyRotationIntervalDays(v int32) { m.KeyRotationIntervalDays = v } // SecretEngineCreateRequest specifies a Secret Engine to create. type SecretEngineCreateRequest struct { // Parameters to define the new Secret Engine. SecretEngine SecretEngine `json:"secretEngine"` } // SecretEngineCreateResponse contains information about a Secret Engine after successful creation. type SecretEngineCreateResponse struct { // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The requested Secret Engine. SecretEngine SecretEngine `json:"secretEngine"` } // SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted. type SecretEngineDeleteRequest struct { // The unique identifier of the Secret Engine to delete. ID string `json:"id"` } // SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted. type SecretEngineDeleteResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // SecretEngineGetRequest specifies which Secret Engine to retrieve type SecretEngineGetRequest struct { // The unique identifier of the Secret Engine to retrieve. ID string `json:"id"` } // SecretEngineGetResponse contains information about requested Secret Engine type SecretEngineGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The requested Secret Engine. SecretEngine SecretEngine `json:"secretEngine"` } // SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines type SecretEngineListRequest struct { // A human-readable filter query string. Filter string `json:"filter"` } // SecretEngineListResponse contains a list of requested Secret Engine type SecretEngineListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } type SecretEnginePasswordPolicy struct { // If set to true allows for consecutive characters to repeat itself AllowRepeat bool `json:"allowRepeat"` // Characters to exclude when generating password ExcludeCharacters string `json:"excludeCharacters"` // If set to true do not include upper case letters when generating password ExcludeUpperCase bool `json:"excludeUpperCase"` // Password length. Length uint32 `json:"length"` // Numbers of digits to use when generating password NumDigits uint32 `json:"numDigits"` // Number of symbols to use when generating password NumSymbols uint32 `json:"numSymbols"` } type SecretEnginePolicy struct { // Policy for password PasswordPolicy *SecretEnginePasswordPolicy `json:"passwordPolicy"` } type SecretEngineRotateRequest struct { // The unique identifier of the Secret Engine to rotate credentials for. ID string `json:"id"` // Optional password policy to use when generating a password // If not provided it will use secret engine's password_policy PasswordPolicy *SecretEnginePasswordPolicy `json:"passwordPolicy"` } type SecretEngineRotateResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // SecretEngineUpdateRequest specifies secret engine to update type SecretEngineUpdateRequest struct { // Secret engine to update SecretEngine SecretEngine `json:"secretEngine"` } // SecretEngineUpdateResponse contains information about Secret Engine after successful update. type SecretEngineUpdateResponse struct { // Reserved for future use. Meta *UpdateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The requested Secret Engine. SecretEngine SecretEngine `json:"secretEngine"` } // A SecretStore is a server where resource secrets (passwords, keys) are stored. // Coming soon support for HashiCorp Vault and AWS Secret Store. type SecretStore interface { // GetID returns the unique identifier of the SecretStore. GetID() string // GetTags returns the tags of the SecretStore. GetTags() Tags // SetTags sets the tags of the SecretStore. SetTags(Tags) // GetName returns the name of the SecretStore. GetName() string // SetName sets the name of the SecretStore. SetName(string) isOneOf_SecretStore() } func (*ActiveDirectoryStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the ActiveDirectoryStore. func (m *ActiveDirectoryStore) GetID() string { return m.ID } // GetTags returns the tags of the ActiveDirectoryStore. func (m *ActiveDirectoryStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the ActiveDirectoryStore. func (m *ActiveDirectoryStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the ActiveDirectoryStore. func (m *ActiveDirectoryStore) GetName() string { return m.Name } // SetName sets the name of the ActiveDirectoryStore. func (m *ActiveDirectoryStore) SetName(v string) { m.Name = v } func (*AWSStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the AWSStore. func (m *AWSStore) GetID() string { return m.ID } // GetTags returns the tags of the AWSStore. func (m *AWSStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AWSStore. func (m *AWSStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the AWSStore. func (m *AWSStore) GetName() string { return m.Name } // SetName sets the name of the AWSStore. func (m *AWSStore) SetName(v string) { m.Name = v } func (*AWSCertX509Store) isOneOf_SecretStore() {} // GetID returns the unique identifier of the AWSCertX509Store. func (m *AWSCertX509Store) GetID() string { return m.ID } // GetTags returns the tags of the AWSCertX509Store. func (m *AWSCertX509Store) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AWSCertX509Store. func (m *AWSCertX509Store) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the AWSCertX509Store. func (m *AWSCertX509Store) GetName() string { return m.Name } // SetName sets the name of the AWSCertX509Store. func (m *AWSCertX509Store) SetName(v string) { m.Name = v } func (*AzureStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the AzureStore. func (m *AzureStore) GetID() string { return m.ID } // GetTags returns the tags of the AzureStore. func (m *AzureStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the AzureStore. func (m *AzureStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the AzureStore. func (m *AzureStore) GetName() string { return m.Name } // SetName sets the name of the AzureStore. func (m *AzureStore) SetName(v string) { m.Name = v } func (*CyberarkConjurStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the CyberarkConjurStore. func (m *CyberarkConjurStore) GetID() string { return m.ID } // GetTags returns the tags of the CyberarkConjurStore. func (m *CyberarkConjurStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the CyberarkConjurStore. func (m *CyberarkConjurStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the CyberarkConjurStore. func (m *CyberarkConjurStore) GetName() string { return m.Name } // SetName sets the name of the CyberarkConjurStore. func (m *CyberarkConjurStore) SetName(v string) { m.Name = v } func (*CyberarkPAMStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the CyberarkPAMStore. func (m *CyberarkPAMStore) GetID() string { return m.ID } // GetTags returns the tags of the CyberarkPAMStore. func (m *CyberarkPAMStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the CyberarkPAMStore. func (m *CyberarkPAMStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the CyberarkPAMStore. func (m *CyberarkPAMStore) GetName() string { return m.Name } // SetName sets the name of the CyberarkPAMStore. func (m *CyberarkPAMStore) SetName(v string) { m.Name = v } func (*CyberarkPAMExperimentalStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the CyberarkPAMExperimentalStore. func (m *CyberarkPAMExperimentalStore) GetID() string { return m.ID } // GetTags returns the tags of the CyberarkPAMExperimentalStore. func (m *CyberarkPAMExperimentalStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the CyberarkPAMExperimentalStore. func (m *CyberarkPAMExperimentalStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the CyberarkPAMExperimentalStore. func (m *CyberarkPAMExperimentalStore) GetName() string { return m.Name } // SetName sets the name of the CyberarkPAMExperimentalStore. func (m *CyberarkPAMExperimentalStore) SetName(v string) { m.Name = v } func (*DelineaStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the DelineaStore. func (m *DelineaStore) GetID() string { return m.ID } // GetTags returns the tags of the DelineaStore. func (m *DelineaStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the DelineaStore. func (m *DelineaStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the DelineaStore. func (m *DelineaStore) GetName() string { return m.Name } // SetName sets the name of the DelineaStore. func (m *DelineaStore) SetName(v string) { m.Name = v } func (*DelineaDSVStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the DelineaDSVStore. func (m *DelineaDSVStore) GetID() string { return m.ID } // GetTags returns the tags of the DelineaDSVStore. func (m *DelineaDSVStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the DelineaDSVStore. func (m *DelineaDSVStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the DelineaDSVStore. func (m *DelineaDSVStore) GetName() string { return m.Name } // SetName sets the name of the DelineaDSVStore. func (m *DelineaDSVStore) SetName(v string) { m.Name = v } func (*GCPStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the GCPStore. func (m *GCPStore) GetID() string { return m.ID } // GetTags returns the tags of the GCPStore. func (m *GCPStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the GCPStore. func (m *GCPStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the GCPStore. func (m *GCPStore) GetName() string { return m.Name } // SetName sets the name of the GCPStore. func (m *GCPStore) SetName(v string) { m.Name = v } func (*GCPCertX509Store) isOneOf_SecretStore() {} // GetID returns the unique identifier of the GCPCertX509Store. func (m *GCPCertX509Store) GetID() string { return m.ID } // GetTags returns the tags of the GCPCertX509Store. func (m *GCPCertX509Store) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the GCPCertX509Store. func (m *GCPCertX509Store) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the GCPCertX509Store. func (m *GCPCertX509Store) GetName() string { return m.Name } // SetName sets the name of the GCPCertX509Store. func (m *GCPCertX509Store) SetName(v string) { m.Name = v } func (*KeyfactorSSHStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the KeyfactorSSHStore. func (m *KeyfactorSSHStore) GetID() string { return m.ID } // GetTags returns the tags of the KeyfactorSSHStore. func (m *KeyfactorSSHStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the KeyfactorSSHStore. func (m *KeyfactorSSHStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the KeyfactorSSHStore. func (m *KeyfactorSSHStore) GetName() string { return m.Name } // SetName sets the name of the KeyfactorSSHStore. func (m *KeyfactorSSHStore) SetName(v string) { m.Name = v } func (*KeyfactorX509Store) isOneOf_SecretStore() {} // GetID returns the unique identifier of the KeyfactorX509Store. func (m *KeyfactorX509Store) GetID() string { return m.ID } // GetTags returns the tags of the KeyfactorX509Store. func (m *KeyfactorX509Store) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the KeyfactorX509Store. func (m *KeyfactorX509Store) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the KeyfactorX509Store. func (m *KeyfactorX509Store) GetName() string { return m.Name } // SetName sets the name of the KeyfactorX509Store. func (m *KeyfactorX509Store) SetName(v string) { m.Name = v } func (*StrongVaultStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the StrongVaultStore. func (m *StrongVaultStore) GetID() string { return m.ID } // GetTags returns the tags of the StrongVaultStore. func (m *StrongVaultStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the StrongVaultStore. func (m *StrongVaultStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the StrongVaultStore. func (m *StrongVaultStore) GetName() string { return m.Name } // SetName sets the name of the StrongVaultStore. func (m *StrongVaultStore) SetName(v string) { m.Name = v } func (*VaultAppRoleStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultAppRoleStore. func (m *VaultAppRoleStore) GetID() string { return m.ID } // GetTags returns the tags of the VaultAppRoleStore. func (m *VaultAppRoleStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultAppRoleStore. func (m *VaultAppRoleStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultAppRoleStore. func (m *VaultAppRoleStore) GetName() string { return m.Name } // SetName sets the name of the VaultAppRoleStore. func (m *VaultAppRoleStore) SetName(v string) { m.Name = v } func (*VaultAppRoleCertSSHStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultAppRoleCertSSHStore. func (m *VaultAppRoleCertSSHStore) GetID() string { return m.ID } // GetTags returns the tags of the VaultAppRoleCertSSHStore. func (m *VaultAppRoleCertSSHStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultAppRoleCertSSHStore. func (m *VaultAppRoleCertSSHStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultAppRoleCertSSHStore. func (m *VaultAppRoleCertSSHStore) GetName() string { return m.Name } // SetName sets the name of the VaultAppRoleCertSSHStore. func (m *VaultAppRoleCertSSHStore) SetName(v string) { m.Name = v } func (*VaultAppRoleCertX509Store) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultAppRoleCertX509Store. func (m *VaultAppRoleCertX509Store) GetID() string { return m.ID } // GetTags returns the tags of the VaultAppRoleCertX509Store. func (m *VaultAppRoleCertX509Store) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultAppRoleCertX509Store. func (m *VaultAppRoleCertX509Store) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultAppRoleCertX509Store. func (m *VaultAppRoleCertX509Store) GetName() string { return m.Name } // SetName sets the name of the VaultAppRoleCertX509Store. func (m *VaultAppRoleCertX509Store) SetName(v string) { m.Name = v } func (*VaultAWSEC2Store) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultAWSEC2Store. func (m *VaultAWSEC2Store) GetID() string { return m.ID } // GetTags returns the tags of the VaultAWSEC2Store. func (m *VaultAWSEC2Store) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultAWSEC2Store. func (m *VaultAWSEC2Store) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultAWSEC2Store. func (m *VaultAWSEC2Store) GetName() string { return m.Name } // SetName sets the name of the VaultAWSEC2Store. func (m *VaultAWSEC2Store) SetName(v string) { m.Name = v } func (*VaultAWSEC2CertSSHStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultAWSEC2CertSSHStore. func (m *VaultAWSEC2CertSSHStore) GetID() string { return m.ID } // GetTags returns the tags of the VaultAWSEC2CertSSHStore. func (m *VaultAWSEC2CertSSHStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultAWSEC2CertSSHStore. func (m *VaultAWSEC2CertSSHStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultAWSEC2CertSSHStore. func (m *VaultAWSEC2CertSSHStore) GetName() string { return m.Name } // SetName sets the name of the VaultAWSEC2CertSSHStore. func (m *VaultAWSEC2CertSSHStore) SetName(v string) { m.Name = v } func (*VaultAWSEC2CertX509Store) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultAWSEC2CertX509Store. func (m *VaultAWSEC2CertX509Store) GetID() string { return m.ID } // GetTags returns the tags of the VaultAWSEC2CertX509Store. func (m *VaultAWSEC2CertX509Store) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultAWSEC2CertX509Store. func (m *VaultAWSEC2CertX509Store) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultAWSEC2CertX509Store. func (m *VaultAWSEC2CertX509Store) GetName() string { return m.Name } // SetName sets the name of the VaultAWSEC2CertX509Store. func (m *VaultAWSEC2CertX509Store) SetName(v string) { m.Name = v } func (*VaultAWSIAMStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultAWSIAMStore. func (m *VaultAWSIAMStore) GetID() string { return m.ID } // GetTags returns the tags of the VaultAWSIAMStore. func (m *VaultAWSIAMStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultAWSIAMStore. func (m *VaultAWSIAMStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultAWSIAMStore. func (m *VaultAWSIAMStore) GetName() string { return m.Name } // SetName sets the name of the VaultAWSIAMStore. func (m *VaultAWSIAMStore) SetName(v string) { m.Name = v } func (*VaultAWSIAMCertSSHStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultAWSIAMCertSSHStore. func (m *VaultAWSIAMCertSSHStore) GetID() string { return m.ID } // GetTags returns the tags of the VaultAWSIAMCertSSHStore. func (m *VaultAWSIAMCertSSHStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultAWSIAMCertSSHStore. func (m *VaultAWSIAMCertSSHStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultAWSIAMCertSSHStore. func (m *VaultAWSIAMCertSSHStore) GetName() string { return m.Name } // SetName sets the name of the VaultAWSIAMCertSSHStore. func (m *VaultAWSIAMCertSSHStore) SetName(v string) { m.Name = v } func (*VaultAWSIAMCertX509Store) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultAWSIAMCertX509Store. func (m *VaultAWSIAMCertX509Store) GetID() string { return m.ID } // GetTags returns the tags of the VaultAWSIAMCertX509Store. func (m *VaultAWSIAMCertX509Store) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultAWSIAMCertX509Store. func (m *VaultAWSIAMCertX509Store) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultAWSIAMCertX509Store. func (m *VaultAWSIAMCertX509Store) GetName() string { return m.Name } // SetName sets the name of the VaultAWSIAMCertX509Store. func (m *VaultAWSIAMCertX509Store) SetName(v string) { m.Name = v } func (*VaultTLSStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultTLSStore. func (m *VaultTLSStore) GetID() string { return m.ID } // GetTags returns the tags of the VaultTLSStore. func (m *VaultTLSStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultTLSStore. func (m *VaultTLSStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultTLSStore. func (m *VaultTLSStore) GetName() string { return m.Name } // SetName sets the name of the VaultTLSStore. func (m *VaultTLSStore) SetName(v string) { m.Name = v } func (*VaultTLSCertSSHStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultTLSCertSSHStore. func (m *VaultTLSCertSSHStore) GetID() string { return m.ID } // GetTags returns the tags of the VaultTLSCertSSHStore. func (m *VaultTLSCertSSHStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultTLSCertSSHStore. func (m *VaultTLSCertSSHStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultTLSCertSSHStore. func (m *VaultTLSCertSSHStore) GetName() string { return m.Name } // SetName sets the name of the VaultTLSCertSSHStore. func (m *VaultTLSCertSSHStore) SetName(v string) { m.Name = v } func (*VaultTLSCertX509Store) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultTLSCertX509Store. func (m *VaultTLSCertX509Store) GetID() string { return m.ID } // GetTags returns the tags of the VaultTLSCertX509Store. func (m *VaultTLSCertX509Store) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultTLSCertX509Store. func (m *VaultTLSCertX509Store) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultTLSCertX509Store. func (m *VaultTLSCertX509Store) GetName() string { return m.Name } // SetName sets the name of the VaultTLSCertX509Store. func (m *VaultTLSCertX509Store) SetName(v string) { m.Name = v } func (*VaultTokenStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultTokenStore. func (m *VaultTokenStore) GetID() string { return m.ID } // GetTags returns the tags of the VaultTokenStore. func (m *VaultTokenStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultTokenStore. func (m *VaultTokenStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultTokenStore. func (m *VaultTokenStore) GetName() string { return m.Name } // SetName sets the name of the VaultTokenStore. func (m *VaultTokenStore) SetName(v string) { m.Name = v } func (*VaultTokenCertSSHStore) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultTokenCertSSHStore. func (m *VaultTokenCertSSHStore) GetID() string { return m.ID } // GetTags returns the tags of the VaultTokenCertSSHStore. func (m *VaultTokenCertSSHStore) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultTokenCertSSHStore. func (m *VaultTokenCertSSHStore) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultTokenCertSSHStore. func (m *VaultTokenCertSSHStore) GetName() string { return m.Name } // SetName sets the name of the VaultTokenCertSSHStore. func (m *VaultTokenCertSSHStore) SetName(v string) { m.Name = v } func (*VaultTokenCertX509Store) isOneOf_SecretStore() {} // GetID returns the unique identifier of the VaultTokenCertX509Store. func (m *VaultTokenCertX509Store) GetID() string { return m.ID } // GetTags returns the tags of the VaultTokenCertX509Store. func (m *VaultTokenCertX509Store) GetTags() Tags { return m.Tags.clone() } // SetTags sets the tags of the VaultTokenCertX509Store. func (m *VaultTokenCertX509Store) SetTags(v Tags) { m.Tags = v.clone() } // GetName returns the name of the VaultTokenCertX509Store. func (m *VaultTokenCertX509Store) GetName() string { return m.Name } // SetName sets the name of the VaultTokenCertX509Store. func (m *VaultTokenCertX509Store) SetName(v string) { m.Name = v } // SecretStoreCreateResponse reports how the SecretStores were created in the system. type SecretStoreCreateResponse struct { // Reserved for future use. Meta *CreateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The created SecretStore. SecretStore SecretStore `json:"secretStore"` } // SecretStoreDeleteResponse returns information about a SecretStore that was deleted. type SecretStoreDeleteResponse struct { // Reserved for future use. Meta *DeleteResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // SecretStoreGetResponse returns a requested SecretStore. type SecretStoreGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The requested SecretStore. SecretStore SecretStore `json:"secretStore"` } // SecretStoreHealth denotes a secret store's health status. Note a secret store is not // healthy in terms of a simple boolean, but rather healthy with respect to a particular node // or set of nodes. type SecretStoreHealth struct { // The time when the status last changed ChangedAt time.Time `json:"changedAt"` // The time when the status was last checked by the node CheckedAt time.Time `json:"checkedAt"` // The error associated with this health check, if it occurred after reachability checks succeeded. Error string `json:"error"` // Any specific status or error flags associated with this health check. Flags []string `json:"flags"` // Associated node id for this health NodeID string `json:"nodeId"` // The error associated with this health check, if it occurred during reachability checks. Reachability string `json:"reachability"` // Associated secret store for this health SecretStoreID string `json:"secretStoreId"` // The status of the link between the node and secret store Status string `json:"status"` } type SecretStoreHealthListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } type SecretStoreHealthcheckResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // SecretStoreHistory records the state of a SecretStore at a given point in time, // where every change (create, update and delete) to a SecretStore produces an // SecretStoreHistory record. type SecretStoreHistory struct { // The unique identifier of the Activity that produced this change to the SecretStore. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this SecretStore was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The complete SecretStore state at this time. SecretStore SecretStore `json:"secretStore"` // The time at which the SecretStore state was recorded. Timestamp time.Time `json:"timestamp"` } // SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by // a SecretStoreUpdateRequest. type SecretStoreUpdateResponse struct { // Reserved for future use. Meta *UpdateResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The updated SecretStore. SecretStore SecretStore `json:"secretStore"` } // A Service is a service account that can connect to resources they are granted // directly, or granted via roles. Services are typically automated jobs. type Service struct { // CreatedAt is the timestamp when the service was created CreatedAt time.Time `json:"createdAt"` // Unique identifier of the Service. ID string `json:"id"` // Unique human-readable name of the Service. Name string `json:"name"` // The Service's suspended state. Suspended bool `json:"suspended"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type SingleStore struct { // 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. BindInterface string `json:"bindInterface"` // The database for healthchecks. Does not affect client requests. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility) RequireNativeAuth bool `json:"requireNativeAuth"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If true, appends the hostname to the username when hitting a database.azure.com address UseAzureSingleServerUsernames bool `json:"useAzureSingleServerUsernames"` // The username to authenticate with. Username string `json:"username"` } type Snowflake struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/ Password string `json:"password"` // 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. PortOverride int32 `json:"portOverride"` // RSA Private Key for authentication PrivateKey string `json:"privateKey"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The schema to provide on authentication. Schema string `json:"schema"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type Snowsight struct { // 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. BindInterface string `json:"bindInterface"` // If true, select the ACS with isDefault=true ConnectToDefault bool `json:"connectToDefault"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // The StrongDM user email to use for healthchecks. HealthcheckUsername string `json:"healthcheckUsername"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // The Metadata for your snowflake IDP integration SamlMetadata string `json:"samlMetadata"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network) Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // This option enforces HTTPS on the client, not resource connection. UseHttps bool `json:"useHttps"` } type SqlserverEngine struct { // The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated. AfterReadTtl time.Duration `json:"afterReadTtl"` // Database is the database to verify credential against. Database string `json:"database"` // Hostname is the hostname or IP address of the SQL Server. Hostname string `json:"hostname"` // Unique identifier of the Secret Engine. ID string `json:"id"` // An interval of public/private key rotation for secret engine in days KeyRotationIntervalDays int32 `json:"keyRotationIntervalDays"` // Unique human-readable name of the Secret Engine. Name string `json:"name"` // node selector is used to narrow down the nodes used to communicate with with secret engine NodeSelector string `json:"nodeSelector"` // Password is the password to connect to the SQL Server server. Password string `json:"password"` // Policy for password creation Policy *SecretEnginePolicy `json:"policy"` // Port is the port number of the SQL Server server. Port uint32 `json:"port"` // Public key linked with a secret engine PublicKey []byte `json:"publicKey"` // Backing secret store identifier SecretStoreID string `json:"secretStoreId"` // Backing Secret Store root path where managed secrets are going to be stored SecretStoreRootPath string `json:"secretStoreRootPath"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // TLS enables TLS/SSL when connecting to the SQL Server server. Tls bool `json:"tls"` // TLS disable certificate verification TlsSkipVerify bool `json:"tlsSkipVerify"` // The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested. Ttl time.Duration `json:"ttl"` // Username is the username to connect to the SQL Server. Username string `json:"username"` } type StrongVaultStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type Sybase struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type SybaseIQ struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } type Tag struct { // The name or key of this tag. Each name can only refer to one value on a tagged entity. Name string `json:"name"` // The value of this tag. Value string `json:"value"` } type Teradata struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } // A Token is an account providing tokenized access for automation or integration use. // Tokens include admin tokens, API keys, and SCIM tokens. type Token struct { // Corresponds to the type of token, e.g. api or admin-token. AccountType string `json:"accountType"` // CreatedAt is the timestamp when the token was created CreatedAt time.Time `json:"createdAt"` // The timestamp when the Token will expire. Deadline time.Time `json:"deadline"` // Duration from token creation to expiration. Duration time.Duration `json:"duration"` // Unique identifier of the Token. ID string `json:"id"` // Unique human-readable name of the Token. Name string `json:"name"` // Permissions assigned to the token, e.g. role:create. Permissions []string `json:"permissions"` // The timestamp when the Token was last rekeyed. Rekeyed time.Time `json:"rekeyed"` // Reserved for future use. Always false for tokens. Suspended bool `json:"suspended"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type Trino struct { // 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. BindInterface string `json:"bindInterface"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // If set, TLS must be used to connect to this resource. TlsRequired bool `json:"tlsRequired"` // The username to authenticate with. Username string `json:"username"` } // UpdateResponseMetadata is reserved for future use. type UpdateResponseMetadata struct { } // A User can connect to resources they are granted directly, or granted // via roles. type User struct { // SCIM contains the raw SCIM metadata for the user. This is a read-only field. SCIM string `json:"scim"` // CreatedAt is the timestamp when the user was created CreatedAt time.Time `json:"createdAt"` // The User's email address. Must be unique. Email string `json:"email"` // Internal employee ID used to identify the user. EmployeeNumber string `json:"employeeNumber"` // External ID is an alternative unique ID this user is represented by within an external service. ExternalID string `json:"externalId"` // The User's first name. FirstName string `json:"firstName"` // Unique identifier of the User. ID string `json:"id"` // The User's last name. LastName string `json:"lastName"` // Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure. ManagedBy string `json:"managedBy"` // Manager ID is the ID of the user's manager. This field is empty when the user has no manager. ManagerID string `json:"managerId"` // Password is a write-only field that can be used to set the user's password. // Currently only supported for update. Password string `json:"password"` // PermissionLevel is the user's permission level e.g. admin, DBA, user. PermissionLevel string `json:"permissionLevel"` // 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. ResolvedManagerID string `json:"resolvedManagerId"` // Suspended is a read only field for the User's suspended state. Suspended bool `json:"suspended"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultAWSEC2CertSSHStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // The lifetime of certificates issued by this CA in minutes. Recommended value is 5. IssuedCertTTLMinutes int32 `json:"issuedCertTtlMinutes"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // The signing role to be used for signing certificates SigningRole string `json:"signingRole"` // The mount point of the SSH engine configured with the desired CA SshMountPoint string `json:"sshMountPoint"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultAWSEC2CertX509Store struct { // Unique identifier of the SecretStore. ID string `json:"id"` // The lifetime of certificates issued by this CA represented in minutes. IssuedCertTTLMinutes int32 `json:"issuedCertTtlMinutes"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The mount point of the PKI engine configured with the desired CA PkiMountPoint string `json:"pkiMountPoint"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // The signing role to be used for signing certificates SigningRole string `json:"signingRole"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultAWSEC2Store struct { // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultAWSIAMCertSSHStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // The lifetime of certificates issued by this CA in minutes. Recommended value is 5. IssuedCertTTLMinutes int32 `json:"issuedCertTtlMinutes"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // The signing role to be used for signing certificates SigningRole string `json:"signingRole"` // The mount point of the SSH engine configured with the desired CA SshMountPoint string `json:"sshMountPoint"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultAWSIAMCertX509Store struct { // Unique identifier of the SecretStore. ID string `json:"id"` // The lifetime of certificates issued by this CA represented in minutes. IssuedCertTTLMinutes int32 `json:"issuedCertTtlMinutes"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The mount point of the PKI engine configured with the desired CA PkiMountPoint string `json:"pkiMountPoint"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // The signing role to be used for signing certificates SigningRole string `json:"signingRole"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultAWSIAMStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultAppRoleCertSSHStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // The lifetime of certificates issued by this CA represented in minutes. IssuedCertTTLMinutes int32 `json:"issuedCertTtlMinutes"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // The signing role to be used for signing certificates SigningRole string `json:"signingRole"` // The mount point of the SSH engine configured with the desired CA SshMountPoint string `json:"sshMountPoint"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultAppRoleCertX509Store struct { // Unique identifier of the SecretStore. ID string `json:"id"` // The lifetime of certificates issued by this CA in minutes. Recommended value is 5. IssuedCertTTLMinutes int32 `json:"issuedCertTtlMinutes"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The mount point of the PKI engine configured with the desired CA PkiMountPoint string `json:"pkiMountPoint"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // The signing role to be used for signing certificates SigningRole string `json:"signingRole"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultAppRoleStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultTLSCertSSHStore struct { // A path to a CA file accessible by a Node CACertPath string `json:"caCertPath"` // A path to a client certificate file accessible by a Node ClientCertPath string `json:"clientCertPath"` // A path to a client key file accessible by a Node ClientKeyPath string `json:"clientKeyPath"` // Unique identifier of the SecretStore. ID string `json:"id"` // The lifetime of certificates issued by this CA represented in minutes. IssuedCertTTLMinutes int32 `json:"issuedCertTtlMinutes"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // The signing role to be used for signing certificates SigningRole string `json:"signingRole"` // The mount point of the SSH engine configured with the desired CA SshMountPoint string `json:"sshMountPoint"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultTLSCertX509Store struct { // A path to a CA file accessible by a Node CACertPath string `json:"caCertPath"` // A path to a client certificate file accessible by a Node ClientCertPath string `json:"clientCertPath"` // A path to a client key file accessible by a Node ClientKeyPath string `json:"clientKeyPath"` // Unique identifier of the SecretStore. ID string `json:"id"` // The lifetime of certificates issued by this CA represented in minutes. IssuedCertTTLMinutes int32 `json:"issuedCertTtlMinutes"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The mount point of the PKI engine configured with the desired CA PkiMountPoint string `json:"pkiMountPoint"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // The signing role to be used for signing certificates SigningRole string `json:"signingRole"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultTLSStore struct { // A path to a CA file accessible by a Node CACertPath string `json:"caCertPath"` // A path to a client certificate file accessible by a Node ClientCertPath string `json:"clientCertPath"` // A path to a client key file accessible by a Node ClientKeyPath string `json:"clientKeyPath"` // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultTokenCertSSHStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // The lifetime of certificates issued by this CA in minutes. Recommended value is 5. IssuedCertTTLMinutes int32 `json:"issuedCertTtlMinutes"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // The signing role to be used for signing certificates SigningRole string `json:"signingRole"` // The mount point of the SSH engine configured with the desired CA SshMountPoint string `json:"sshMountPoint"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultTokenCertX509Store struct { // Unique identifier of the SecretStore. ID string `json:"id"` // The lifetime of certificates issued by this CA represented in minutes. IssuedCertTTLMinutes int32 `json:"issuedCertTtlMinutes"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The mount point of the PKI engine configured with the desired CA PkiMountPoint string `json:"pkiMountPoint"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // The signing role to be used for signing certificates SigningRole string `json:"signingRole"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type VaultTokenStore struct { // Unique identifier of the SecretStore. ID string `json:"id"` // Unique human-readable name of the SecretStore. Name string `json:"name"` // The namespace to make requests within Namespace string `json:"namespace"` // The URL of the Vault to target ServerAddress string `json:"serverAddress"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` } type Vertica struct { // 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. BindInterface string `json:"bindInterface"` // The initial database to connect to. This setting does not by itself prevent switching to another database after connecting. Database string `json:"database"` // A filter applied to the routing logic to pin datasource to nodes. EgressFilter string `json:"egressFilter"` // True if the datasource is reachable and the credentials are valid. Healthy bool `json:"healthy"` // The host to dial to initiate a connection from the egress node to this resource. Hostname string `json:"hostname"` // Unique identifier of the Resource. ID string `json:"id"` // Unique human-readable name of the Resource. Name string `json:"name"` // The password to authenticate with. Password string `json:"password"` // The port to dial to initiate a connection from the egress node to this resource. Port int32 `json:"port"` // 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. PortOverride int32 `json:"portOverride"` // ID of the proxy cluster for this resource, if any. ProxyClusterID string `json:"proxyClusterId"` // ID of the secret store containing credentials for this resource, if any. SecretStoreID string `json:"secretStoreId"` // 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. Subdomain string `json:"subdomain"` // Tags is a map of key, value pairs. Tags Tags `json:"tags"` // The username to authenticate with. Username string `json:"username"` } // Workflows are the collection of rules that define the resources to which access can be requested, // the users that can request that access, and the mechanism for approving those requests which can either // but automatic approval or a set of users authorized to approve the requests. type Workflow struct { // 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. AccessRequestFixedDuration time.Duration `json:"accessRequestFixedDuration"` // 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. AccessRequestMaxDuration time.Duration `json:"accessRequestMaxDuration"` // AccessRules is a list of access rules defining the resources this Workflow provides access to. AccessRules AccessRules `json:"accessRules"` // Optional approval flow ID identifies an approval flow that linked to the workflow ApprovalFlowID string `json:"approvalFlowId"` // Optional auto grant setting to automatically approve requests or not, defaults to false. AutoGrant bool `json:"autoGrant"` // Optional description of the Workflow. Description string `json:"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. Enabled bool `json:"enabled"` // Unique identifier of the Workflow. ID string `json:"id"` // Unique human-readable name of the Workflow. Name string `json:"name"` // Optional weight for workflow to specify it's priority in matching a request. Weight int64 `json:"weight"` } // WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow. // Deprecated: see docs for more info. type WorkflowApprover struct { // The approver account id. AccountID string `json:"accountId"` // Unique identifier of the WorkflowApprover. ID string `json:"id"` // The approver role id RoleID string `json:"roleId"` // The workflow id. WorkflowID string `json:"workflowId"` } // WorkflowApproverGetResponse returns a requested WorkflowApprover. type WorkflowApproverGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The requested WorkflowApprover. WorkflowApprover *WorkflowApprover `json:"workflowApprover"` } // WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover. type WorkflowApproverHistory struct { // The unique identifier of the Activity that produced this change to the WorkflowApprover. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this WorkflowApprover was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The time at which the WorkflowApprover state was recorded. Timestamp time.Time `json:"timestamp"` // The complete WorkflowApprover state at this time. WorkflowApprover *WorkflowApprover `json:"workflowApprover"` } // WorkflowApproversCreateRequest specifies the workflowID and approverID of a new // workflow approver to be created. type WorkflowApproversCreateRequest struct { // Parameters to define the new WorkflowApprover. WorkflowApprover *WorkflowApprover `json:"workflowApprover"` } // WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system. type WorkflowApproversCreateResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The created workflow approver. WorkflowApprover *WorkflowApprover `json:"workflowApprover"` } // WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted. type WorkflowApproversDeleteRequest struct { // The unique identifier of the WorkflowApprover to delete. ID string `json:"id"` } // WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system. type WorkflowApproversDeleteResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // WorkflowApproversListRequest specifies criteria for retrieving a list of // WorkflowApprover records type WorkflowApproversListRequest struct { // A human-readable filter query string. Filter string `json:"filter"` } // WorkflowApproversListResponse returns a list of WorkflowApprover records that meet // the criteria of a WorkflowApproversListRequest. type WorkflowApproversListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // WorkflowCreateResponse reports how the Workflow was created in the system. type WorkflowCreateResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The created workflow. Workflow *Workflow `json:"workflow"` } // WorkflowDeleteResponse returns information about a Workflow that was deleted. type WorkflowDeleteResponse struct { // The deleted workflow id. ID string `json:"id"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // WorkflowGetResponse returns a requested Workflow. type WorkflowGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The requested Workflow. Workflow *Workflow `json:"workflow"` } // WorkflowsHistory provides records of all changes to the state of a Workflow. type WorkflowHistory struct { // The unique identifier of the Activity that produced this change to the Workflow. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this Workflow was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The time at which the Workflow state was recorded. Timestamp time.Time `json:"timestamp"` // The complete Workflow state at this time. Workflow *Workflow `json:"workflow"` } // WorkflowListResponse returns a list of Workflow records that meet // the criteria of a WorkflowListRequest. type WorkflowListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of // to request access to a resource via the workflow. type WorkflowRole struct { // Unique identifier of the WorkflowRole. ID string `json:"id"` // The role id. RoleID string `json:"roleId"` // The workflow id. WorkflowID string `json:"workflowId"` } // WorkflowRoleGetResponse returns a requested WorkflowRole. type WorkflowRoleGetResponse struct { // Reserved for future use. Meta *GetResponseMetadata `json:"meta"` // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The requested WorkflowRole. WorkflowRole *WorkflowRole `json:"workflowRole"` } // WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole type WorkflowRoleHistory struct { // The unique identifier of the Activity that produced this change to the WorkflowRole. // May be empty for some system-initiated updates. ActivityID string `json:"activityId"` // If this WorkflowRole was deleted, the time it was deleted. DeletedAt time.Time `json:"deletedAt"` // The time at which the WorkflowRole state was recorded. Timestamp time.Time `json:"timestamp"` // The complete WorkflowRole state at this time. WorkflowRole *WorkflowRole `json:"workflowRole"` } // WorkflowRolesCreateRequest specifies the workflowID and roleID of a new // workflow role to be created. type WorkflowRolesCreateRequest struct { // Parameters to define the new WorkflowRole. WorkflowRole *WorkflowRole `json:"workflowRole"` } // WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system. type WorkflowRolesCreateResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The created workflow role. WorkflowRole *WorkflowRole `json:"workflowRole"` } // WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted. type WorkflowRolesDeleteRequest struct { // The unique identifier of the WorkflowRole to delete. ID string `json:"id"` } // WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system. type WorkflowRolesDeleteResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // WorkflowRolesListRequest specifies criteria for retrieving a list of // WorkflowRole records type WorkflowRolesListRequest struct { // A human-readable filter query string. Filter string `json:"filter"` } // WorkflowRolesListResponse returns a list of WorkflowRole records that meet // the criteria of a WorkflowRolesListRequest. type WorkflowRolesListResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` } // WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by // a WorkflowUpdateRequest. type WorkflowUpdateResponse struct { // Rate limit information. RateLimit *RateLimitMetadata `json:"rateLimit"` // The updated workflow. Workflow *Workflow `json:"workflow"` } // AccessRequestIterator provides read access to a list of AccessRequest. // Use it like so: // // for iterator.Next() { // accessRequest := iterator.Value() // // ... // } type AccessRequestIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *AccessRequest // Err returns the first error encountered during iteration, if any. Err() error } // AccessRequestEventHistoryIterator provides read access to a list of AccessRequestEventHistory. // Use it like so: // // for iterator.Next() { // accessRequestEventHistory := iterator.Value() // // ... // } type AccessRequestEventHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *AccessRequestEventHistory // Err returns the first error encountered during iteration, if any. Err() error } // AccessRequestHistoryIterator provides read access to a list of AccessRequestHistory. // Use it like so: // // for iterator.Next() { // accessRequestHistory := iterator.Value() // // ... // } type AccessRequestHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *AccessRequestHistory // Err returns the first error encountered during iteration, if any. Err() error } // AccountAttachmentIterator provides read access to a list of AccountAttachment. // Use it like so: // // for iterator.Next() { // accountAttachment := iterator.Value() // // ... // } type AccountAttachmentIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *AccountAttachment // Err returns the first error encountered during iteration, if any. Err() error } // AccountAttachmentHistoryIterator provides read access to a list of AccountAttachmentHistory. // Use it like so: // // for iterator.Next() { // accountAttachmentHistory := iterator.Value() // // ... // } type AccountAttachmentHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *AccountAttachmentHistory // Err returns the first error encountered during iteration, if any. Err() error } // AccountGrantIterator provides read access to a list of AccountGrant. // Use it like so: // // for iterator.Next() { // accountGrant := iterator.Value() // // ... // } type AccountGrantIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *AccountGrant // Err returns the first error encountered during iteration, if any. Err() error } // AccountGrantHistoryIterator provides read access to a list of AccountGrantHistory. // Use it like so: // // for iterator.Next() { // accountGrantHistory := iterator.Value() // // ... // } type AccountGrantHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *AccountGrantHistory // Err returns the first error encountered during iteration, if any. Err() error } // AccountPermissionIterator provides read access to a list of AccountPermission. // Use it like so: // // for iterator.Next() { // accountPermission := iterator.Value() // // ... // } type AccountPermissionIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *AccountPermission // Err returns the first error encountered during iteration, if any. Err() error } // AccountResourceIterator provides read access to a list of AccountResource. // Use it like so: // // for iterator.Next() { // accountResource := iterator.Value() // // ... // } type AccountResourceIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *AccountResource // Err returns the first error encountered during iteration, if any. Err() error } // AccountResourceHistoryIterator provides read access to a list of AccountResourceHistory. // Use it like so: // // for iterator.Next() { // accountResourceHistory := iterator.Value() // // ... // } type AccountResourceHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *AccountResourceHistory // Err returns the first error encountered during iteration, if any. Err() error } // AccountIterator provides read access to a list of Account. // Use it like so: // // for iterator.Next() { // account := iterator.Value() // // ... // } type AccountIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() Account // Err returns the first error encountered during iteration, if any. Err() error } // AccountGroupIterator provides read access to a list of AccountGroup. // Use it like so: // // for iterator.Next() { // accountGroup := iterator.Value() // // ... // } type AccountGroupIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *AccountGroup // Err returns the first error encountered during iteration, if any. Err() error } // AccountGroupHistoryIterator provides read access to a list of AccountGroupHistory. // Use it like so: // // for iterator.Next() { // accountGroupHistory := iterator.Value() // // ... // } type AccountGroupHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *AccountGroupHistory // Err returns the first error encountered during iteration, if any. Err() error } // AccountHistoryIterator provides read access to a list of AccountHistory. // Use it like so: // // for iterator.Next() { // accountHistory := iterator.Value() // // ... // } type AccountHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *AccountHistory // Err returns the first error encountered during iteration, if any. Err() error } // ActivityIterator provides read access to a list of Activity. // Use it like so: // // for iterator.Next() { // activity := iterator.Value() // // ... // } type ActivityIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *Activity // Err returns the first error encountered during iteration, if any. Err() error } // ApprovalWorkflowApproverIterator provides read access to a list of ApprovalWorkflowApprover. // Use it like so: // // for iterator.Next() { // approvalWorkflowApprover := iterator.Value() // // ... // } type ApprovalWorkflowApproverIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *ApprovalWorkflowApprover // Err returns the first error encountered during iteration, if any. Err() error } // ApprovalWorkflowApproverHistoryIterator provides read access to a list of ApprovalWorkflowApproverHistory. // Use it like so: // // for iterator.Next() { // approvalWorkflowApproverHistory := iterator.Value() // // ... // } type ApprovalWorkflowApproverHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *ApprovalWorkflowApproverHistory // Err returns the first error encountered during iteration, if any. Err() error } // ApprovalWorkflowStepIterator provides read access to a list of ApprovalWorkflowStep. // Use it like so: // // for iterator.Next() { // approvalWorkflowStep := iterator.Value() // // ... // } type ApprovalWorkflowStepIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *ApprovalWorkflowStep // Err returns the first error encountered during iteration, if any. Err() error } // ApprovalWorkflowStepHistoryIterator provides read access to a list of ApprovalWorkflowStepHistory. // Use it like so: // // for iterator.Next() { // approvalWorkflowStepHistory := iterator.Value() // // ... // } type ApprovalWorkflowStepHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *ApprovalWorkflowStepHistory // Err returns the first error encountered during iteration, if any. Err() error } // ApprovalWorkflowIterator provides read access to a list of ApprovalWorkflow. // Use it like so: // // for iterator.Next() { // approvalWorkflow := iterator.Value() // // ... // } type ApprovalWorkflowIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *ApprovalWorkflow // Err returns the first error encountered during iteration, if any. Err() error } // ApprovalWorkflowHistoryIterator provides read access to a list of ApprovalWorkflowHistory. // Use it like so: // // for iterator.Next() { // approvalWorkflowHistory := iterator.Value() // // ... // } type ApprovalWorkflowHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *ApprovalWorkflowHistory // Err returns the first error encountered during iteration, if any. Err() error } // ConnectorIterator provides read access to a list of Connector. // Use it like so: // // for iterator.Next() { // connector := iterator.Value() // // ... // } type ConnectorIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() Connector // Err returns the first error encountered during iteration, if any. Err() error } // GrantedAccountEntitlementIterator provides read access to a list of GrantedAccountEntitlement. // Use it like so: // // for iterator.Next() { // grantedAccountEntitlement := iterator.Value() // // ... // } type GrantedAccountEntitlementIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *GrantedAccountEntitlement // Err returns the first error encountered during iteration, if any. Err() error } // GrantedResourceEntitlementIterator provides read access to a list of GrantedResourceEntitlement. // Use it like so: // // for iterator.Next() { // grantedResourceEntitlement := iterator.Value() // // ... // } type GrantedResourceEntitlementIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *GrantedResourceEntitlement // Err returns the first error encountered during iteration, if any. Err() error } // GrantedRoleEntitlementIterator provides read access to a list of GrantedRoleEntitlement. // Use it like so: // // for iterator.Next() { // grantedRoleEntitlement := iterator.Value() // // ... // } type GrantedRoleEntitlementIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *GrantedRoleEntitlement // Err returns the first error encountered during iteration, if any. Err() error } // RoleIterator provides read access to a list of Role. // Use it like so: // // for iterator.Next() { // role := iterator.Value() // // ... // } type RoleIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *Role // Err returns the first error encountered during iteration, if any. Err() error } // GroupIterator provides read access to a list of Group. // Use it like so: // // for iterator.Next() { // group := iterator.Value() // // ... // } type GroupIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *Group // Err returns the first error encountered during iteration, if any. Err() error } // GroupHistoryIterator provides read access to a list of GroupHistory. // Use it like so: // // for iterator.Next() { // groupHistory := iterator.Value() // // ... // } type GroupHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *GroupHistory // Err returns the first error encountered during iteration, if any. Err() error } // GroupRoleIterator provides read access to a list of GroupRole. // Use it like so: // // for iterator.Next() { // groupRole := iterator.Value() // // ... // } type GroupRoleIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *GroupRole // Err returns the first error encountered during iteration, if any. Err() error } // GroupRoleHistoryIterator provides read access to a list of GroupRoleHistory. // Use it like so: // // for iterator.Next() { // groupRoleHistory := iterator.Value() // // ... // } type GroupRoleHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *GroupRoleHistory // Err returns the first error encountered during iteration, if any. Err() error } // HealthcheckIterator provides read access to a list of Healthcheck. // Use it like so: // // for iterator.Next() { // healthcheck := iterator.Value() // // ... // } type HealthcheckIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *Healthcheck // Err returns the first error encountered during iteration, if any. Err() error } // IdentityAliasIterator provides read access to a list of IdentityAlias. // Use it like so: // // for iterator.Next() { // identityAlias := iterator.Value() // // ... // } type IdentityAliasIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *IdentityAlias // Err returns the first error encountered during iteration, if any. Err() error } // IdentityAliasHistoryIterator provides read access to a list of IdentityAliasHistory. // Use it like so: // // for iterator.Next() { // identityAliasHistory := iterator.Value() // // ... // } type IdentityAliasHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *IdentityAliasHistory // Err returns the first error encountered during iteration, if any. Err() error } // IdentitySetIterator provides read access to a list of IdentitySet. // Use it like so: // // for iterator.Next() { // identitySet := iterator.Value() // // ... // } type IdentitySetIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *IdentitySet // Err returns the first error encountered during iteration, if any. Err() error } // IdentitySetHistoryIterator provides read access to a list of IdentitySetHistory. // Use it like so: // // for iterator.Next() { // identitySetHistory := iterator.Value() // // ... // } type IdentitySetHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *IdentitySetHistory // Err returns the first error encountered during iteration, if any. Err() error } // ManagedSecretIterator provides read access to a list of ManagedSecret. // Use it like so: // // for iterator.Next() { // managedSecret := iterator.Value() // // ... // } type ManagedSecretIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *ManagedSecret // Err returns the first error encountered during iteration, if any. Err() error } // ManagedSecretLogIterator provides read access to a list of ManagedSecretLog. // Use it like so: // // for iterator.Next() { // managedSecretLog := iterator.Value() // // ... // } type ManagedSecretLogIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *ManagedSecretLog // Err returns the first error encountered during iteration, if any. Err() error } // NodeIterator provides read access to a list of Node. // Use it like so: // // for iterator.Next() { // node := iterator.Value() // // ... // } type NodeIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() Node // Err returns the first error encountered during iteration, if any. Err() error } // NodeHistoryIterator provides read access to a list of NodeHistory. // Use it like so: // // for iterator.Next() { // nodeHistory := iterator.Value() // // ... // } type NodeHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *NodeHistory // Err returns the first error encountered during iteration, if any. Err() error } // OrganizationHistoryRecordIterator provides read access to a list of OrganizationHistoryRecord. // Use it like so: // // for iterator.Next() { // organizationHistoryRecord := iterator.Value() // // ... // } type OrganizationHistoryRecordIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *OrganizationHistoryRecord // Err returns the first error encountered during iteration, if any. Err() error } // PeeringGroupNodeIterator provides read access to a list of PeeringGroupNode. // Use it like so: // // for iterator.Next() { // peeringGroupNode := iterator.Value() // // ... // } type PeeringGroupNodeIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *PeeringGroupNode // Err returns the first error encountered during iteration, if any. Err() error } // PeeringGroupPeerIterator provides read access to a list of PeeringGroupPeer. // Use it like so: // // for iterator.Next() { // peeringGroupPeer := iterator.Value() // // ... // } type PeeringGroupPeerIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *PeeringGroupPeer // Err returns the first error encountered during iteration, if any. Err() error } // PeeringGroupResourceIterator provides read access to a list of PeeringGroupResource. // Use it like so: // // for iterator.Next() { // peeringGroupResource := iterator.Value() // // ... // } type PeeringGroupResourceIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *PeeringGroupResource // Err returns the first error encountered during iteration, if any. Err() error } // PeeringGroupIterator provides read access to a list of PeeringGroup. // Use it like so: // // for iterator.Next() { // peeringGroup := iterator.Value() // // ... // } type PeeringGroupIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *PeeringGroup // Err returns the first error encountered during iteration, if any. Err() error } // PolicyIterator provides read access to a list of Policy. // Use it like so: // // for iterator.Next() { // policy := iterator.Value() // // ... // } type PolicyIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *Policy // Err returns the first error encountered during iteration, if any. Err() error } // PolicyHistoryIterator provides read access to a list of PolicyHistory. // Use it like so: // // for iterator.Next() { // policyHistory := iterator.Value() // // ... // } type PolicyHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *PolicyHistory // Err returns the first error encountered during iteration, if any. Err() error } // ProxyClusterKeyIterator provides read access to a list of ProxyClusterKey. // Use it like so: // // for iterator.Next() { // proxyClusterKey := iterator.Value() // // ... // } type ProxyClusterKeyIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *ProxyClusterKey // Err returns the first error encountered during iteration, if any. Err() error } // QueryIterator provides read access to a list of Query. // Use it like so: // // for iterator.Next() { // query := iterator.Value() // // ... // } type QueryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *Query // Err returns the first error encountered during iteration, if any. Err() error } // RemoteIdentityIterator provides read access to a list of RemoteIdentity. // Use it like so: // // for iterator.Next() { // remoteIdentity := iterator.Value() // // ... // } type RemoteIdentityIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *RemoteIdentity // Err returns the first error encountered during iteration, if any. Err() error } // RemoteIdentityHistoryIterator provides read access to a list of RemoteIdentityHistory. // Use it like so: // // for iterator.Next() { // remoteIdentityHistory := iterator.Value() // // ... // } type RemoteIdentityHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *RemoteIdentityHistory // Err returns the first error encountered during iteration, if any. Err() error } // RemoteIdentityGroupIterator provides read access to a list of RemoteIdentityGroup. // Use it like so: // // for iterator.Next() { // remoteIdentityGroup := iterator.Value() // // ... // } type RemoteIdentityGroupIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *RemoteIdentityGroup // Err returns the first error encountered during iteration, if any. Err() error } // RemoteIdentityGroupHistoryIterator provides read access to a list of RemoteIdentityGroupHistory. // Use it like so: // // for iterator.Next() { // remoteIdentityGroupHistory := iterator.Value() // // ... // } type RemoteIdentityGroupHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *RemoteIdentityGroupHistory // Err returns the first error encountered during iteration, if any. Err() error } // ReplayChunkIterator provides read access to a list of ReplayChunk. // Use it like so: // // for iterator.Next() { // replayChunk := iterator.Value() // // ... // } type ReplayChunkIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *ReplayChunk // Err returns the first error encountered during iteration, if any. Err() error } // RequestableAccountEntitlementIterator provides read access to a list of RequestableAccountEntitlement. // Use it like so: // // for iterator.Next() { // requestableAccountEntitlement := iterator.Value() // // ... // } type RequestableAccountEntitlementIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *RequestableAccountEntitlement // Err returns the first error encountered during iteration, if any. Err() error } // RequestableResourceEntitlementIterator provides read access to a list of RequestableResourceEntitlement. // Use it like so: // // for iterator.Next() { // requestableResourceEntitlement := iterator.Value() // // ... // } type RequestableResourceEntitlementIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *RequestableResourceEntitlement // Err returns the first error encountered during iteration, if any. Err() error } // RequestableRoleEntitlementIterator provides read access to a list of RequestableRoleEntitlement. // Use it like so: // // for iterator.Next() { // requestableRoleEntitlement := iterator.Value() // // ... // } type RequestableRoleEntitlementIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *RequestableRoleEntitlement // Err returns the first error encountered during iteration, if any. Err() error } // TagIterator provides read access to a list of Tag. // Use it like so: // // for iterator.Next() { // tag := iterator.Value() // // ... // } type TagIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *Tag // Err returns the first error encountered during iteration, if any. Err() error } // ResourceIterator provides read access to a list of Resource. // Use it like so: // // for iterator.Next() { // resource := iterator.Value() // // ... // } type ResourceIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() Resource // Err returns the first error encountered during iteration, if any. Err() error } // ResourceHistoryIterator provides read access to a list of ResourceHistory. // Use it like so: // // for iterator.Next() { // resourceHistory := iterator.Value() // // ... // } type ResourceHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *ResourceHistory // Err returns the first error encountered during iteration, if any. Err() error } // RoleResourceIterator provides read access to a list of RoleResource. // Use it like so: // // for iterator.Next() { // roleResource := iterator.Value() // // ... // } type RoleResourceIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *RoleResource // Err returns the first error encountered during iteration, if any. Err() error } // RoleResourceHistoryIterator provides read access to a list of RoleResourceHistory. // Use it like so: // // for iterator.Next() { // roleResourceHistory := iterator.Value() // // ... // } type RoleResourceHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *RoleResourceHistory // Err returns the first error encountered during iteration, if any. Err() error } // RoleHistoryIterator provides read access to a list of RoleHistory. // Use it like so: // // for iterator.Next() { // roleHistory := iterator.Value() // // ... // } type RoleHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *RoleHistory // Err returns the first error encountered during iteration, if any. Err() error } // SecretStoreIterator provides read access to a list of SecretStore. // Use it like so: // // for iterator.Next() { // secretStore := iterator.Value() // // ... // } type SecretStoreIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() SecretStore // Err returns the first error encountered during iteration, if any. Err() error } // SecretEngineIterator provides read access to a list of SecretEngine. // Use it like so: // // for iterator.Next() { // secretEngine := iterator.Value() // // ... // } type SecretEngineIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() SecretEngine // Err returns the first error encountered during iteration, if any. Err() error } // SecretStoreHealthIterator provides read access to a list of SecretStoreHealth. // Use it like so: // // for iterator.Next() { // secretStoreHealth := iterator.Value() // // ... // } type SecretStoreHealthIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *SecretStoreHealth // Err returns the first error encountered during iteration, if any. Err() error } // SecretStoreHistoryIterator provides read access to a list of SecretStoreHistory. // Use it like so: // // for iterator.Next() { // secretStoreHistory := iterator.Value() // // ... // } type SecretStoreHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *SecretStoreHistory // Err returns the first error encountered during iteration, if any. Err() error } // WorkflowApproverIterator provides read access to a list of WorkflowApprover. // Use it like so: // // for iterator.Next() { // workflowApprover := iterator.Value() // // ... // } type WorkflowApproverIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *WorkflowApprover // Err returns the first error encountered during iteration, if any. Err() error } // WorkflowApproverHistoryIterator provides read access to a list of WorkflowApproverHistory. // Use it like so: // // for iterator.Next() { // workflowApproverHistory := iterator.Value() // // ... // } type WorkflowApproverHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *WorkflowApproverHistory // Err returns the first error encountered during iteration, if any. Err() error } // WorkflowRoleIterator provides read access to a list of WorkflowRole. // Use it like so: // // for iterator.Next() { // workflowRole := iterator.Value() // // ... // } type WorkflowRoleIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *WorkflowRole // Err returns the first error encountered during iteration, if any. Err() error } // WorkflowRoleHistoryIterator provides read access to a list of WorkflowRoleHistory. // Use it like so: // // for iterator.Next() { // workflowRoleHistory := iterator.Value() // // ... // } type WorkflowRoleHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *WorkflowRoleHistory // Err returns the first error encountered during iteration, if any. Err() error } // WorkflowIterator provides read access to a list of Workflow. // Use it like so: // // for iterator.Next() { // workflow := iterator.Value() // // ... // } type WorkflowIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *Workflow // Err returns the first error encountered during iteration, if any. Err() error } // WorkflowHistoryIterator provides read access to a list of WorkflowHistory. // Use it like so: // // for iterator.Next() { // workflowHistory := iterator.Value() // // ... // } type WorkflowHistoryIterator interface { // Next advances the iterator to the next item in the list. It returns // true if an item is available to retrieve via the `Value()` function. Next() bool // Value returns the current item, if one is available. Value() *WorkflowHistory // Err returns the first error encountered during iteration, if any. Err() error }